產品文檔小結:看似簡單的產品文檔,其實并不簡單
產品有什么工作是沒坑的呢?恰逢十一有空,階段性總結一些經驗和要點,先說一說自己對文檔的理解。通過分享不同的視角,幫助有需要的朋友更好的形成自己的認識。
我接觸的三種文檔
Word
哈,我相信這個是絕大多數人最開始接觸的文檔形式吧?雖然近來大家都對「又臭又長」文檔深惡痛絕,但是不可否認Word能力強好處多,不管是對版本控制、審閱批改、鏈接跳轉,還是對拓展文件的支持性來說,Word都可以很好的hold住。而且,多人協作還可以嘗試Google Docs嘛。
當文檔變得「又臭又長」之后,只會被團隊束之高閣,喪失它應有的價值。所以,為了避免「又臭又長」的Word文檔出現,我會多講幾句自己使用Word構建文檔的習慣,寫在后文的「組織與邏輯」小節。
Axure
感覺最近也蠻流行這種Axure的文檔的(搜一下「Axure文檔」一大堆),好處是在使用Axure畫原型的工作流程里,可以直接導出作為可交互的文檔。不但文檔結構清晰,而且效果還挺酷(我一開始就是被這個吸引了hh),對看文檔的人蠻友好。
自己嘗試之后發現一些小缺點,就是對太大體量的內容支持性不夠好,而且維護起來也挺麻煩。首先,Axure畢竟不是專門為文檔服務的,所以當實際工作中需要頻繁對文檔增刪改查和進行版本管理時,會把人煩死(大家的文檔都不是一蹴而就的對吧?)。
嗯,由于設計師的不良習慣,我個人比較嫌棄Axure界面丑,所以我用Hype3或JustinMind做這種文檔(小聲說其實我不做這種文檔,怕累hh)。竊以為這種方式做大版本定稿時還是蠻合適的。
Wiki
工作一段時間后接觸到的文檔形式,在團隊合作、大項目支持上,Wiki可以說是有其不可替代性,簡單高效的方式會提升工作體驗,自己在用的Wiki是amwiki。我現在和Wiki正處于蜜月期,覺得這種文檔形式更有利于項目的管理。
圖片文檔
哈哈,這個是我自己懶的時候喜歡出的文檔格式。
因為之前是做設計的,還比較喜歡用sketch,里面有個很好用的插件叫Notebook(9.99歐元),可以在原型的右側生成一個筆記本,用來對原型內容做標記補充。
這個套路簡單快速,針對少量內容的改版需求或簡單的功能需求來說,簡直不要太方便。
文檔面向的三類主要用戶
開發
不知道大家怎么樣哈,我們開發是不怎么看文檔的,給他們講完就拿著原型和UI的圖吭哧吭哧開發去了(果然全靠嘴。。),哪不懂了就來問。結果最后被測試拿著文檔測了滿身Bug,莫名喜感。
測試
測試或許是文檔的「最忠誠」的用戶了吧(測試其實心里是苦澀的),它們要根據文檔描述,對開發出來的產品進行測試,保證開發結果符合原始設計方案(這么說測試是產品的好伙伴啊)。
運營
主要是根據文檔了解產品功能,最簡單的客服人員培訓,到編寫新用戶幫助,還有很多產品運營的工作,都可以依據文檔來開展,她們一般看不太懂專業性描述,所以盡量讓文檔更直白一些吧。
文檔的目標
簡單、準確、易讀、易理解
組織與模塊
第一呢:自上而下
在文檔編寫之初,要自上而下的梳理文檔目錄,從最上層的結構開始逐層細分,使文檔目錄結構形成體系,避免想到什么寫什么這種自下而上的方式。在文檔里還應盡量讓每一點描述有唯一性位置,盡量避免對相同內容在不同位置出現多個描述。
第二呢:組織整理
當自上而下的梳理了文檔目錄,也許會發現有的地方需要描述的內容很多,形成了很深的層級,有的地方很少很簡單,甚至沒有層級。這就是組織結構不太適宜,當目錄的結構超過三層時,我一般會將其中的內容重新組織整理,或提高部分的層級,或重新劃分內容。這樣能保證文檔最大的可讀性。
第三呢:精簡結構
精簡結構是說,在整理好目錄之后,再檢查其中有沒有一些內容有包含或重復等關系,將這些會導致重復的內容精簡為唯一性內容(唯一的描述地址),避免后期為維護產生不必要的復雜性。
第四呢:模塊復用
最簡單,之前都整理好了的內容,看看有什么東西是全局性的,都拿出來,做為一個個模塊「封裝」,一般放在文檔前幾小節,將之統一描述,這樣后文涉及到這些內容的時候,直接放一個跳轉鏈接「調用」就好了,極大的增強了文檔的完整可控性。
第五呢:還沒想好
大道至簡,大象無聲,大音希聲,不要拘泥于形式,這就剩隨機應變了。
關于邏輯、結構、組織的進階閱讀可以找我推薦一些書。
數據與邏輯
后臺及隱藏數據交換
額外的需求要額外描述,在涉及到數據流前后臺操作的時候,文檔中最好能清晰的描述數據的流向,具體的某項數據由哪產生,傳遞到哪,由什么控制,在哪里儲存。多和開發溝通,他們一般會給你結構性的建議。
業務處理邏輯
文檔一定要清晰準確的描述出業務處理邏輯,好在大家一般都很擅長思維導圖。關鍵/復雜性的流程單獨描述,比如登錄注冊流程,下訂單支付流程,邀請分享流程等。
原型的規范
原型是個坑啊
請原諒我設計出身帶來的毛病,個人對很多丑陋的產品原型很抗拒。但原型最重要的是表意清晰,可以不注意對齊排版,但要盡量控制整體原型的規范,保持一致的風格,不然下游工作的開展實在是崩潰,完全不理解原型要表達什么。
原型的標注
個人覺得最好能讓原型達到可用性標準,界面元素邏輯清晰,這樣可以直接在原型上進行界面元素的標注,更加直觀可讀。
保真度
在普遍性低保真都很難達到的情況下說高保真我也是含淚了。如果有條件,還是盡量多和交互設計師合作,產出高保真原型。有了它,在業務邏輯驗證,異常情況控制,還有商業演示等方向都將有極好的支持。
形成規范
要說出交互文檔是難為人了,但是盡量讓原型的各個控件是統一化可復用還是能做到的,如果沒有特殊原因,不要相同的元素不同的樣子,那個不叫原型,叫畸形。
全是表格
善于利用表格,能減少很多的溝通成本
數據限制
輸入框的字數限制,允許輸入的字符集控制等,我一般會把整個文檔涉及到的這部分內容全匯總一下,放在一個單獨的表格里,這樣既方便查找,也方便唯一性修改。要是怕亂,可以在涉及數據輸入/輸出的地方編個號,又方便又直觀。這也算對測試友好吧?(畢竟測試也是我們的用戶?。?。
異常情況
既然是異常狀態,一時還真還不知道怎么說hh。斷網弱網空數據等等,很多亂七八糟的問題,最好也有規則性的集中描述,這樣可以避免自己在設計過程中被大量異常狀態打亂思路,增強產品整體的可控性。
好用的狀態機
清晰描述不同狀態下的業務邏輯,簡單來說就是用表格的方式清晰的將某些條件下的某些東西的狀態變化描述出來。比如,同一個按鈕,「游客」點擊時發生什么,「成員」點擊時發生什么,「管理員」點擊時又發生什么。
狀態機圖其實是UML中的一種,我們常用的狀態機就是那種簡化版本,更多知識可以去研究一下UML,對培養概念建模的思維也有挺大幫助,這方面我也不是專家就不多說了,不過要是感興趣仍然可以找我推薦一些書。
概念性描述
不知道大家是什么情況,但是我在在實際產品中,會遇到很多需要描述的概念性問題,例如社交產品中「圈子」這個概念,積分系統中「會員」這種概念,產品中涉及到的概念都要定義清楚,不應該草草略過,因為這會增加許多的溝通成本(又變?你上次不是說會員要交999嗎?)。
其實概念描述最好用的表述方式是圖表,類圖、用例圖、業務圖等都是很好用的表述工具,面向對象和面相過程兩種編程思維也很適合用來思考概念性問題。
概念描述其實是決定了整個產品是什么的東西,所以一般都放在文檔的開始,用各種思維導圖來表現(唉其實概念建模真是個苦活)。
角色權限表
對于含社交的軟件來說,一個用戶往往扮演許多「角色」,比如我在這個群是管理員,那個群是創建者,而且這里還會涉及到不同身份之間的權限變化,更讓人糟心的是,當身份權限與用戶關系產生關聯的時候,比如一個用戶可以在自己管理的群里修改成員備注,而在另一個自己為普通成員的群里則看不到之前給同一個人的備注,也不能修改。這類問題很多湊到一起是挺暈的,所以也常常建立「用戶角色或權限」這類的表,來逐條解釋,就清晰易懂得多了。
積分系統表
對于涉及游戲化機制的產品,這類積分等級身份勛章排行榜的體系表就必不可少(因為如果不畫表,你還能怎么辦 = =)。通常這種表內容很多,但好消息是不怎么用進行規則邏輯性的描述。通常都是采取階梯制度的建表方式,比如當用戶滿足條件A>0,觸發什么,當A>10,又觸發什么。一般來說這個表只要做好數學計算就不難搞定(什么!你說數學不難?)。
數據埋點
這個我一般單獨出文檔,根據業務階段和項目要求吧。不是什么時候都需要埋點,而且個人覺得埋點這事和主業務相關度不大(如果主業務是測試就當我沒說),應該作為單獨文檔提交。
拆分文檔
靈活組裝
在實際生產狀況中,將整個文檔拆分為數個小文檔工作是蠻靠譜的開發方式,不但能優化開發節奏,有利于分工協作,還能強迫文檔形成統一的規范,保持完整性。
特殊模塊
為了保持專注性(這個很重要?。捅苊狻赣殖粲珠L」文檔的出現,通常將文檔的許多不是強相關性的模塊拆分為單獨的文檔,比如說埋點文檔,交互文檔,UI文檔,后臺文檔等。
關于交互
被過多考慮的內容
我一直認為交互不應是產品的主要工作,原因有以下幾點:
- 產品更應該關注產品的全貌
- 交互只是產品價值鏈中的一環
- 交互設計師是一個專業性很強的職業
- 通常很擅長交互的產品,總會過多干涉交互設計師的工作(和指導程序敲代碼一個道理)
所以,如果工作中能有專人負責交互設計,還是建議各位尊重團隊的力量(如果整個工作流程全是你自己,那就多加油吧,干巴爹)。
而且,要是真的很喜歡交互設計,就去轉行當交互設計師嘛~
這個交互設計自查表
看過很多在文檔內拉出一份思維導圖來檢查各種設計的狀態的圖,做過交互的都知道,這玩意兒叫交互設計自查表。首先我不是說交互設計自查表不好啊,但是過分強調總讓人覺得言過其實。是的沒錯,產品設計的完整性可以通過使用這些工具來完善。
但,更重要的確確實實是產品的業務邏輯,可以允許Bug,可以允許異常,甚至可以允許體驗差,但是誰敢允許業務不閉環?
而且竊以為,這些工具展現出來的意義更多在于——構建自查清單式的思維模式。新手學習使用工具,但是應該明白并思考工具背后的邏輯,這才會慢慢走向成熟,構建出自己的工具與思維方式,千萬不要把工具奉為圭臬,舍本逐末。
最后一句,在精力有限的時候,要學會聚焦關鍵任務(所有的工作都是成本)。
關于體驗
應該涵蓋的內容
竊以為相比交互,體驗才是更應該被納入文檔內的內容,我不知道是因為市場教育還是職位發展的原因,體驗設計師被人提及的概率遠遠小于交互設計師,而其實在當下,體驗設計師確確實實起著不可忽視的作用。
體驗設計要根據業務階段調整節奏,考慮在什么時刻納入文檔范疇,以及涉及的深度。
關于修改
善于修補達到極致
想要沒有問題的文檔,就像想要沒有BUG的程序。只有虛心接納,并善于經營,我們才能達到更好。
關于溝通
設定目標,階段可控
設計經驗告訴我,要想獲得穩步的項目推進,就需要在項目之初,提前設置好關鍵的溝通節點,保持項目的每一階段的進展變化可控(比如內部提案)。
文檔真的不是寫好了交出去就可以了。最好要在前期就與相關人員展開溝通,理清了了是邏輯與數據層面的問題,確定了主要功能和框架之后,才是慢慢完善文檔處理細節的時候。
好的文檔也是善于管理項目進度的體現,畢竟這種東西也要消耗大量精力啊。
大家說,產品開發不用文檔行不行?比如……用愛?
作者:王雪峰,設計轉產品,擅長創新型產品構建,習慣從系統層次角度思考產品問題。
本文由 @王雪峰 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自PEXELS,基于CC0協議
而且,要是真的很喜歡交互設計,就去轉行當交互設計師嘛~
哈哈哈
寫的很好呀,我最近就在被這種又臭又長的文檔折磨的不要不要的,其實我不想寫,但是公司給的模板,能把一個小產品寫出一百頁的需求文檔,而這個文檔中有70頁,連產品人員都不想看,更別提中間的修改過程了,都快抑郁了、、、看了你的文章很有啟發,贊一個。
謝謝哦
蠻喜歡你的剖析風格,真實不做作,是就是,期待你的分享
謝謝喜歡 ??
做設計的大概都有點強迫癥,看到丑的文檔簡直奔潰,自己寫的時候也經常在美觀上略糾結
感覺文檔能做到邏輯清晰,層級清楚,就算是美觀了,有點類似「美觀的代碼」
嗯嗯,,,,用愛就更美啦 ??
還不快把你推薦的書爆出來~~~吊胃口 ??
hhh,來勾搭我呀(WeChat:ijokul) ??
我覺得…
用愛可以的,試一下
?? 這個我確實是認真的,比如很多敏捷開發流程就是干掉文檔的,但是要在其他步驟上來補充完善。
??
??
??
??