Soking 來信:產品需求文件 PRD 的應用難題


哈囉,朋友

今天想與你聊聊產品需求文件(Product Requirement Document,簡稱 PRD)這是一個軟體開發工作中的「房間裡的大象」,大家都知道有這麼一回事,但這件事情太痛苦了,以致於大多數情況下沒什麼好印象。

其實我是一個很喜歡寫文件的人,一方面是我不信任自己的記憶力,另一方面是透過寫作可以更深度的思考,所以通常我會盡可能的建立各式各樣文件,這不是為了別人而寫,而是為了與其他人溝通的過程,我可以幫自己準備好。

但坦白說,在我擔任產品經理的時期,即使以我自己的標準來看,我的產品需求文件 PRD 還是經常處於一塌糊塗的狀態。

這是因為擔任產品經理的時候,最重要的職責與大多數的時間,都花在溝通上面,換句話說就是開不完的會議。

在一整天的會議上,要處理客戶意見、蒐集跨部門需求、整合利害關係人意見、為懸而未決的事項找出推進辦法、調整排程與資源、對齊中短期目標、提議下階段的產品策略等等等一萬件大小事。

往往到了晚上八九點的時候,好不容易有獨處時間,才能坐下來打開軟體,將各式各樣的想法梳理寫成文件。

但是人的認知資源是有限的,一整天的會議消耗下來,晚上寫文件的時候狀態處於低谷,此時產出的文件品質可想而知極度糟糕。

接手 PRD 的設計師或工程師打開文件一看,自然會頭痛萬分,因為文件中會有各種的漏洞與矛盾沒有仔細評估過,甚至有些功能機制部分描述的很徹底,有些部分乾脆只有標題以及兩三句描述。

到頭來,與其閱讀這麼一份不知道可不可信的 PRD 文件,設計師與工程師會覺得還不如把 PM 抓來開會,討論清楚才開始工作,這樣才不會浪費一堆時間在沒有用的地方。

近日與朋友討論到關於 PRD 的議題之後,我也在個人臉書上發起了游擊訪談,蒐集到不少同業朋友的回饋,大家紛紛的與我分享他們在工作上關於 PRD 的痛苦經驗,這包括了:

  • 文件可讀性差,用字語意不清或排版令閱讀體驗不舒適
  • 文件冗長,難以掌握重點
  • 不同的人各行其是,一間公司有 N 種版本的 PRD,每次閱讀都很痛苦
  • 外行人套用 PRD 模版改寫,每個段落都在換句話說
  • 文件內容偏離現狀,不具參考價值
  • 即使花費心力撰寫,開發時依然發現許多沒有考慮清楚的地方,一直修改
  • 開發相關的文件散落在各處,新功能與舊檔案連動,經常漏掉東西
  • 不確定什麼情況要用什麼格式或流程圖來表達
  • 沒有寫出驗收情境,對交付沒有產生實用意義
  • 寫了對工程師有用的驗收情境,但老闆看不懂

除了負面的痛苦經驗之外,有軟體開發經驗的朋友們也分享了許多覺得 PRD 有積極意義的方面,這包括了:

  1. 有明確的依據來開發
  2. 討論比較容易對焦
  3. 產品團隊知識資產管理

不論是設計師或者工程師,如果沒有明確的需求依據,就很難規劃工作項目,更何況經常都要評估時程與難度,這個時候有一份需求描述明確的文件在,可以幫助開發團隊迅速對齊目標,有足夠清楚的情境,用來判斷工作的範圍,發想合理的解決方案。

軟體需求的溝通經常是討論很抽象或複雜邏輯的議題,這個時候如果有一目了然的可視化文件來輔助討論,能夠幫助開發團隊迅速對焦,也能降低非技術人員參與討論的難度。

專業工作者經常熱衷於解決問題,但也很容易迷失在細節當中。

產品發展的過程除了「為什麼要做」的事情之外,那些「經過思考決定不做」的事情也很重要。

有時候當初決定不做的事,只是因為階段性的考量,等到條件成熟、水到渠成的那天就會納入產品路線當中,但如果不記得這樣的理由,以訛傳訛形成了錯誤的認知,可能後面反而變成「一開始就說好不做,為什麼現在又要考慮」的矛盾問題。

因此從積極意義的面向來看,PRD 文件所扮演的角色都是為了輔助溝通,讓開發團隊能提昇確定性,快速聚焦目標,以及能了解過去的決策經過哪些評估。

回到我自己的經驗中,我是在開始接手大型專案,需要同時跟三、四個不同團隊一起協作的情境中,才意識到自己需要跟超多人時時對齊認知。

如果每個人有一個問題就跑來打斷我一次作討論,那我一整天不就什麼事情都不用幹了?

但如果身為產品經理又找不到人,沒辦法解決開發團隊的疑惑,一樣也會耽擱進度。

這個時候花費時間維護 PRD 文件的好處就凸顯了出來,當我把已經達成共識的部分有條理、視覺化的記錄下來,往後每次有人詢問,我就可以快速丟出線上連結,告知對方他需要的情報怎麼尋找。

如果這樣不能解決對方的問題,那可能是發現了新問題,那就應該列為追蹤事項找時間解決。

如果文件上的描述與現況不符合,那通常是兩種情形,一個是我自己假掰寫了太詳細的規格,以致於成為幻想文,等到有人要實作才發現不合理。

另一個是需求已經變更,但我沒有更新到被影響的其他部分,這就屬於要找時間局部更新的例行巡邏事項。

需求文件的更新維護也是需求變動的成本之一,只是我們經常貪圖方便而忽略這件工作,就像煮完飯之後廚房髒亂放著不管,這些代價只是當下可以逃避,但依然存在。

舉個例子,例如你招待一大群人去餐廳宴會請客,但點餐時店員完全不作任何記錄,也沒有給你任何菜單作為討論依據,往往你點了某個菜,過了十幾分鐘才出來告知你沒辦法作,要換一個方式。

大家吃吃喝喝一面改菜單,一片混亂之後經過兩三個小時用餐結束,才發現你點了八道菜卻來了十二道,然後大部分的菜都跟你一開始點的不一樣。

你付錢的時候會覺得滿肚子氣,廚房也覺得委屈,認為是經過討論才發生的結果。

軟體開發過程的時間跨度少則數個月,多則以年為單位,許多利害關係人也不在開發團隊裡面,這意味著與開發團隊討論需求時,只是把他們從百忙之中撈出來諮詢,此時的溝通對於開發團隊來說,難度是很高的。

開發團隊會發現每一件事情都要從很基礎的概念說起,而利害關係人也會覺得很多議題都去脈絡化,搞不懂為什麼要討論,就被迫要做出選擇,因此防衛心態就會迅速升起。

像這類情境,我們需要的就是可視化的資料,用來幫助溝通的雙方降低認知落差。

最後簡單作個結論,關於 PRD 文件的難題與應用情境如下:

  • 重視文件可讀性,要讓人易懂、好查找、好理解,才會有人願意花時間讀
  • 維護與管理,PRD 的維護也是開發成本之一,忽視只是延後代償
  • 產品發展路線,幫助團隊記得決策歷程
  • 溝通可視化,輔助與開發團隊內外溝通時可以迅速對焦,降低認知落差

如果你對於產品需求文件 PRD 有什麼希望討論的議題,歡迎來信,我們可以一起聊聊。

by Soking

Soking

千綺創意設計 Co-Founder / 產品設計總監,目前經營軟體領域的體驗設計顧問公司,也從事 UX 教學,喜歡以工作坊形式,引導你體驗 UX 領域的專業知識。 工作聯絡:service@soking.cc

Read more from Soking

哈囉,朋友 一直以來,我非常關心「學習」這件事情,如何透過網路與科技的力量改變。 我選擇用「學習」這個字眼,是因為學習是關於我們如何成長,如何認識與掌握一件事情的過程。 我避免談「教育」,是因為教育背負了很多現存體制的條條框框與每個人可取得資源的限制。 我們這一代六七年級生從事網路軟體相關工作的人,就是受惠於透過網路學習各式各樣事物。 然後我們有機會透過學習,去從事甚至是創造各種上一代從未聽過的職業與工作。 ▋線上課程市場這條賽道 所以當「線上課程市場」這個賽道出現時,我便深感興趣。 除了自己有錄製過線上課程在平台販賣,也有協助幾位客戶規劃與開發自己的線上課程平台。 只是一直以來我很困惑,感覺「線上課程市場」似乎正在高速的跑完某個循環。 直到最近閱讀好朋友喊涵的電子報,她身為課程製作專家,在第一線的觀察心得,似乎有點恍然大悟。 喊涵在電子報中分析到:「線上課程市場的變動速度真的很快,任何一點商業條件變動,都可能推翻原本堪用的做法。」. 以及:「產業競爭加劇,課程越做越精緻。」 這些訊息對我來說,意味著線上課程市場,已經走入市場生命周期的第三階段:成熟期。 ▋成熟期市場的競爭樣貌...

哈囉,朋友 如果你在工作上要去執行需求訪談,相信也曾遇過不耐煩的受訪者。 尤其是主管位階的大忙人,特別沒耐心受訪。 或許你會想,可能是自己的職稱不夠高,所以對方才不耐煩。 但換個情況,如果我們是主管,然後總是對於跟位階低的人講話不耐煩。 那這樣要如何領導其他人呢? 所以有沒有一種可能,不是我們位階低,而是對方感覺這次的談話是沒有用的。 就我自己的親身經歷,最常見以下幾種狀況: 同樣事情他已經講了一百遍 沒有人可以了解他在幹嘛,忙得喘不過氣 你想訪談的東西他覺得跟他無關 因此我想與你分享一下,這幾類狀況的訪談應對策略。 ▋狀況一:同樣事情他已經講了一百遍 除非對於一件事情有使命狂熱,講個千遍也不厭倦。 不然任誰同一件事情講十次以上應該都會超級不耐煩吧? 講了十幾遍之後,他覺得自己已經付出了沈重的代價。 然後此時再來一個什麼都不懂的人,這情況簡直糟得不能再糟糕了。 因為有更多的事情得從頭講起。 那該怎麼辦呢? 讓對方意識到你也付出了一些沈重的代價,但沒有找到答案,所以來到了他的面前。 例如對方跟組織內的同事講過許多次了。...

哈囉,朋友 原本預計今天寫給你們的一封信,被我收進了草稿匣,因為變成了奇幻小說,而我不知道該怎麼向你們介紹而不顯得突兀。 如果你有追蹤我的臉書,最近的我,正處於內在衝突的自我整合歷程,因此不斷萌發各種念頭,看起來不太像在說人話,先跟你們抱歉。 我想改成與你分享,最近我們團隊正在籌備的一場直播講座的調查狀況。 這個調查主題是關於「side project」,當你接觸網路軟體產業之後,或多或少應該聽過這件事情。 有些人想透過 side project 來提升自己的能力,有些人想透過 side project 打造屬於自己的解決方案或工具,有些人渴望透過 side project 讓自己更快樂、有成就感。 我自己常常發起屬於自己的 side project,大多數在當下都沒什麼用,但可能在日後突然串了起來,在某個專案中起了絕妙的用途。 因為這樣,我常常被誤認為是有創意的人。 但我其實不是有創意的人,而是嘗試過一百種當時不可行的辦法,並且記錄、分類、保存下來。 因此 side project 對我來說,就是用來失敗的。 那我是怎麼遇見想要的 side project 呢?...