設計通用功能,提高方案輸出效率
編輯導語:在同一產品中,有些功能如圖片上傳會在很多模塊中出現,這便是通用功能。通用功能的設計與常規的功能設計一樣,但因為它要在不同模塊中重復使用,因此如果設計不當便會帶來不少麻煩。本文作者分享了自己設計通用功能的經驗,幫你提高方案輸出效率。
有一段時間,公司運營同事經常向我抱怨后臺批量導入功能做的很差。為了解真實的情況,我把后臺所有的導入功能都體驗了一遍。不僅驗證了運營反饋的導入慢、導入失敗等問題,還發現不同模塊的導入功能設計,無論是頁面布局,還是交互設計,都差異很大,有些模塊的導入功能體驗幾乎是不可用的狀態。
事后分析原因,原來這些模塊分別由不同的產品經理負責,每個人的經驗和能力都不同,設計偏好也不一致,在設計原型時,大家都是獨立完成,且后臺需求并不經過設計師,直接交付開發。
最終就出現了不同模塊的相同功能頁面布局、交互設計差異大,部分甚至完全不可用的結果。這個問題,不僅出現在導入功能,在很多其他的功能中也同樣存在。
一、重復設計帶來的問題
同一個產品中,有一些功能會在很多個模塊中出現,這種功能稱之為“通用功能”。
如圖片上傳、數據導出、圖片預覽、提示彈窗等。一個產品中的不同模塊,可能會由不同的產品經理負責。如果每當需要使用這些通用功能時,都重新設計和開發,必然會帶來以下4個問題。
1. 產品方案輸出效率低
設計一個完整的功能,產品經理需要做需求調研、設計業務流程、設計功能結構、信息結構、繪制產品原型、撰寫需求文檔。每一個環節的工作,都意味著時間的耗費。
多個的產品經理獨立設計同樣的功能,意味著整個團隊付出了更多的工作量,但成果并沒有增加。從整體上看,團隊的產品方案輸出效率大幅降低。
一個團隊中有5個模塊,分別由5個產品經理負責,某個功能在5個模塊中都有使用。如果每個產品經理獨立設計該功能需要2天,那么團隊就需要為該功能耗費10天。
一個原本只需要2天的任務,產品團隊用了10天,這是效率的極大降低。
2. 增加了不必要的開發成本
產品方案決定了研發人員的工作內容,產品方案不一樣,代碼肯定也不一樣。如果多個模塊分別由不同的研發人員負責,且他們互相之間不了解對方的工作內容,那意味著要“0代碼復用”實現功能。
同樣的功能,每次開發,都要獨立編寫代碼,增加了不必要的開發成本。
3. 產品質量存在風險
不同的產品經理,能力和經驗是有差異的。面對同一個功能,不同的產品經理,可能會使用不同的方法,帶著各自的習慣去設計產品方案。
有些產品經理能力強、經驗豐富,自然能設計出優質的產品方案。反過來,因為能力和經驗不足,有些產品經理可能會設計出一個不合理、甚至漏洞百出的產品方案。如果不能通過其他方式發現并修正,上線后必然會暴露出產品質量問題。
同樣是數據導入功能,A負責的模塊,經常會出現導入失敗問題,而B負責的模塊,每次都能順利導入數據,這就是經驗和能力差異帶來的產品質量風險。
4. 用戶體驗不一致
每個產品經理都有一些個人的偏好,這些偏好,也沒有對錯好壞之分。但當他們把自己的設計偏好融入到產品設計中后,同樣的功能,必然會存在一些差異。功能開發上線后,就會出現同樣或類似的功能,視覺和交互設計不一致的情況。
有些產品經理習慣使用模態彈窗來提示錯誤,有些產品經理更喜歡使用toast提示。有些產品經理認為“確認”按鈕應該放左邊,有些認為應該放右邊······
對用戶來說,同一個產品中的相同功能,頁面設計和交互設計應該保持一致。一致的用戶體驗,才能讓用戶在學習和使用產品時,花費的成本更少。
二、通用功能設計的注意事項
通用功能設計,與常規的功能設計并沒有什么太大差別。但通用功能要在不同的模塊中重復使用,因此對普適性和獨立性有特別的要求,并形成通用功能庫。
1. 窮舉使用場景,增強普適性
常規的功能設計,只需要考慮模塊的使用對象和使用場景。但通用功能要被用到多個模塊中,而不同的模塊,使用對象和場景都可能是不一樣的。
通過窮舉使用場景,抽象出統一的產品方案。在不同模塊的通用功能說明中,進行備注說明,即可快速輸出產品方案。
圖片上傳功能,可以用在廣告管理和證據管理中,分別被運營和客服使用。廣告管理中的圖片上傳,往往是對圖片尺寸有嚴格限制的,且每個廣告位的廣告圖尺寸要求還不一致。但證據管理模塊中,對圖片的尺寸是沒有限制的。
為了盡可能避免使用者犯錯,就需要明確告知當前模塊對圖片尺寸限制,并在錯誤使用后,給出對應的錯誤提示。
因此,在圖片上傳功能的通用產品方案中,就可以設計一個“圖片尺寸限制“的邏輯及對應的提示文案。廣告管理模塊的圖片上傳功能,備注該模塊對應的具體內容,而證據管理模塊的圖片上傳功能,備注無尺寸限制邏輯。
如果產品方案中,沒有考慮不同場景的特殊要求,可能就會造成產品方案不具備通用性,無法被低成本的引用到其他模塊。
2. 降低耦合度,增強獨立性
功能與所在模塊的關聯性越緊密,耦合度越高,獨立性越差。耦合度高的產品方案,很難適用于其他模塊。
在手機充電接口沒有統一標準前,不同的廠家生產的硬件所使用的接口是不同的,如USB、lighting、type-c等。充電線和接口的關聯性很緊密,耦合度很高。這導致每個品牌的手機,大多只能使用特定的充電線。
在設計通用功能時,要盡可能降低通用功能與所在模塊的耦合度。將邏輯盡可能放到通用功能中實現,而與之關聯的模塊,通過參數傳遞方式,實現邏輯調用,使之能低成本連接在一起。
圖片上傳功能中,對圖片尺寸的限制功能,應該在圖片上傳通用功能中實現。不同模塊在調用圖片上傳功能時,分別告知對圖片尺寸的要求。圖片上傳功能與所在模塊的關系,僅僅是參數傳遞。
通過低耦合設計,大幅度增強了通用功能的獨立性。
3. 形成通用功能庫,統一調用
產品規劃者有必要將通用功能梳理出來,分別安排專人完成產品方案設計,形成通用功能庫,供大家統一使用。
同時,還需要對團隊成員進行宣導,讓大家都認識到設計和開發通用功能、確保用戶體驗一致性的價值,在認知和執行上達成一致,確保通用功能庫能順利推進。
若無法達成一致,或未能傳遞到位,部分產品經理沒有按要求執行,通用功能的設計就無法落地,最終回到原來的混亂局面。
三、通用功能設計的必要性
通用功能的本質,是單次高質量的產品方案設計和開發,重復使用。
有了通用功能,產品經理在輸出產品方案時,只需要補充特定的備注說明,就完成了方案設計。于此同時,研發人員也只需要少量代碼,引用通用功能,即可完成開發。
對團隊來說,意味著更高的產出效率、更低的設計和開發成本。
與此同時,設計通用功能,產品經理需要更深度地挖掘用戶需求,更廣泛地窮舉使用場景,從中抽象出通用的業務邏輯,體現到產品方案中。于此同時,還要考慮如何低成本的復用到另一個模塊,甚至另一個項目當中。
產品經理個人的思考深度和廣度,會在這個過程中得到很好的鍛煉。
四、總結
在產品迭代過程中,在多個模塊中重復使用的通用功能,不應該重復設計和開發,而應該設計成具備普適性和獨立性的通用模塊。每次需要使用時,只需要簡單地備注說明,即可完成產品方案設計。從而實現更低成本、更高效率的產品設計和開發。
#專欄作家#
誓博,微信公眾號:產品慎思錄。人人都是產品經理專欄作家。5年產品經驗,電商售后平臺后端產品負責人。
本文原創發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自 Pexels,基于 CC0 協議
- 目前還沒評論,等你發揮!