天天看點

大廠方法論+案例:從0到1輕松拆解産品需求,對程式員的質疑說不

作者:人人都是産品經理
産品需求是如何落地到原型設計的?本文将結合案例和大廠産品經理常用的方法論,通俗化講解如何系統拆解産品需求,希望對你有所收獲。
大廠方法論+案例:從0到1輕松拆解産品需求,對程式員的質疑說不

一、産品經理設計思路是什麼樣

面臨新業務線拓展或者産品更新的時候,在收集到一大堆亂七八糟的需求後,你可能會想,我要怎麼着手呢?答案是,搭架構找思路。

這是一個産品經理通用的設計思路架構,遵循由粗到細、自上而下的流程,具體如下:

  1. 戰略層—–業務目标是什麼,即定方向,含使用者、使用終端、市場競争力和解決方案、項目計劃;想清楚做什麼,即把具備價值的需求進行梳理優先級排序包括形成産品初步架構
  2. 搭架構—–(功能和DFX非功能架構)難點在于梳理功能的全面和思路;dfx需求:保證使用者使用産品的安全、性能、可拓展等需求注:DFX其實很重要但大部分都會被忽視,此文不做拓展、後續會通過一篇文章進行詳細說明,(産品經理千萬不能隻盯住功能做産品)
  3. 拆細節—–業務流程(重點梳理異常分支和外圍資料互動)、業務操作、資訊結構)
  4. 畫界面—–互動設計、資訊設計

以上的思路大家可以按需參考,本文着重講解拆解2步驟的方法,即搭建初步功能架構,并可落地到原型指導設計。

二、如何搭建功能架構呢?

注:搭功能架構也是從寬度上定義業務範圍,而不是要深挖細節、要注意避免陷入思路混亂、把握好分寸、見好就收。

1. 用例驅動設計法(UDD)

用例驅動設計是一種基于使用者行為和需求來設計軟體開發的方法,有步驟有層次梳理出系統功能的方法,可粗淺了解為使用者故事,是一個通用的搭架構方法;如類似網購下單、酒店預定、銀行貸款等場景;

整體思路遵循:識别參與者使用場景及問題—–定義描述用例(目标層用例—步驟層用例—-實作層用例)并簡化

(1)識别使用場景及問題

首先,我們通過華為IPD需求管理思路那篇,知道産品需求=基于場景的解決方案,是以拿到一個産品需求,我們需要想清楚對應的場景,即5w1h1e。

who(面向對象)、why、when+where(場景)、what(幹什麼)、以及how(怎麼實作)、else(限前置和後置)

比如要做一個訪客預約系統,按照上面的描述方法,我們明白了系統的使用場景是這樣:

一個基于外來訪客,由于園區為了保障安全管理,在臨時進入園區前,需要進行線上登記個人資料、并實名認證的産品,并且園區稽核通過,驗證身份才可以進入和離園。

(2)拆分:目标層-步驟層-實作層

結合上面的例子:

訪客進入園區就是目标層用例,為了實作這個整體目标,我們需要步驟層用例進行支撐,這時候就可以拆分為第一個大架構

具體為:

步驟1:訪客在系統上提前登記—–線上預約

步驟2:訪客填寫登記資料—–填寫表單

步驟3:園區通過系統稽核資料并通知訪客結果—–稽核管理

步驟4:訪客接收通知—-消息提醒

步驟5:訪客檢視送出記錄—–預約記錄

步驟6:訪客獲得許可進入園區—身份驗證

步驟7:訪客離園确認—身份驗證

那針對每一個步驟層、具體如何實作呢?按照這個思路,通過拆分形成實作層用例(也就是用什麼方案實作)

最終這個功能架構會形成這樣、(注意把不同使用者端分開保證用例全面)如圖:

大廠方法論+案例:從0到1輕松拆解産品需求,對程式員的質疑說不

當然這是初步架構,僅作部分舉例說明,你們可以自行拓展,隻要保證覆寫全部的用例就行。

在這裡,我們要注意幾點:

在多種實作方案并存的情況下,如何權衡呢?

1、結合功能實作成本、第三方對接周期、客戶需要、技術實作能力、外圍的互動子產品等多方面因素進行決策,選擇一個較為合理的實作方案:

2、如上面的進出身份驗證,給了4種方案,有通行掃碼、臨時卡、人臉識别、指紋、語音,包括我們常見的支付也可以多種路徑實作,如現金支付、信用卡支付、微信支付等

小結:

1、工具:建議用思維導圖、或者用例圖進行梳理

2、目标:是形成産品功能結構(含一級特性、二級特性、甚至三級特性)

3、适用項目:比較獨立、小型或需要快速疊代和更新的項目,注重從使用者的角度出發來描述系統的功能需求

4、特點:友善快捷、拓展性較差、易于了解協作,但難以适用複雜業務

2. 流程驅動設計法(PDD)

适用于業務協作方較多,具備較複雜的業務層級及稽核,更注重流程标準化管理的産品,如CRM、ERP系統、工單管理系統、采購系統、資料精細管理等。

整體思路遵循:識别關鍵業務流程—–拆分目标層用例—–業務操作

比如CRM系統的流程是有明顯前後順序的,且為了精準做好客戶關系管理,标準化的流程非常重要。通常按照以下步驟進行操作:

1、客戶檔案建立和維護—–客戶管理流程

2、銷售機會(Lead)建立和跟進——銷售管理流程

3、市場活動的策劃、執行和跟進——-市場活動管理流程

結合以上順序流程,就很适合用PDD來搭架構,我們大概拆分出幾個目标層,并進一步落地到具體的功能子產品中。下面是一些可能包括的子產品:

客戶管理子產品:

a. 客戶檔案:建立、檢視、編輯、删除客戶資料;

c. 客戶關系曆史記錄:記錄客戶與企業之間的活動曆史,包括通話、郵件、漏鬥進展等。

銷售管理子產品:

a. 銷售機會(Leads):建立、跟進、評估及關閉銷售機會,可以關聯相關的客戶資訊;

b. 産品/服務資訊:錄入、檢視、編輯和删除産品或服務資訊;

c. 報價單/訂單:建立、發送、聽取意見、确認并完成報價和訂單傳遞等流程;

d. 合同資訊:建立一個合同管理庫存儲合同資訊,以追蹤合同執行情況和收款計劃。

市場活動管理:

a. 活動策劃:建立市場活動,定義主題,摘要、預算、時間表等參數;

b. 活動跟蹤:批量建立活動推廣計劃來實作對活動方案的執行,包括線上廣告、email、電話營銷等;

c. 活動分析:記錄活動成效,比如郵件打開率、轉化率等進行績效統計,以及對活動與銷售資料的關系分析。

在設計過程中,功能子產品要盡量緊密貼合上述CRM系統的整體流程,具體實作時,也可依據企業的營運或者工作方式進行特定的定制。

例如,在某些企業中市場活動管理可能更為重要,根據不同的客戶屬性,社交媒體營銷方式有些偏年輕化公司會利用大量網際網路和移動裝置,而傳統行業的企業上門拜訪更常見。

小結:

1、适用項目:PDD适用于更大型、複雜或需要對業務流程進行全面分析和優化的項目。

2、工具:UML流程圖、狀态圖等

3、優點:幫助理清内部系統資料、業務流程,基于過程模組化,從整體到局部深度設計,複雜業務簡單化

4、缺點:過于關注流程,導緻各個子系統業務耦合較高,難以實作拓展

3. 領域驅動設計(DDD)

領域驅動設計(Domain-Driven Design,DDD)是由領域驅動設計之父埃裡克·埃文斯提出的,涵蓋面較廣,其核心思想是先梳理領域資訊結構和業務規則,再梳理業務的用例、流程和操作等内容。

整體思路遵循:确定場景領域—-識别核心領域對象(資訊結構)—-業務規則(定義對象之間的屬性關系及行為)—–其他子產品的互動

舉例:場景領域—-電子商務平台

我們識别到的核心對象為:

  • 商品管理:包括商品資訊的管理、上架、下架、分類、标簽等。
  • 訂單管理:包括訂單的生成、查詢、修改、删除等。
  • 使用者管理:包括使用者資訊的注冊、登入、個人資訊維護等。
  • 支付管理:包括各種支付方式的接入、支付狀态的管理和處理等。
  • 物流管理:包括訂單狀态的跟蹤、配送資訊的記錄、快遞單資訊的管理等。
  • 售後服務:包括退換貨的處理、客戶服務的管理、投訴回報的處理等

這裡以訂單管理為例,用類圖表達資訊結構。

資訊結構表述了資訊内容之間的關系。這種關系可以用類圖(Class Diagram)來表達。

大廠方法論+案例:從0到1輕松拆解産品需求,對程式員的質疑說不

該圖檔來源于圖書【“圖解”産品:産品經理業務設計與UML模組化】作者擎蒼

當我們使用類圖來識别領域模型和實體關系後,需要根據業務需求和限制條件定義對象、屬性、操作業務規則和流程,如買家隻能在特定時間段内下單,不能重複購買同樣的商品;訂單滿足3人立刻成團進入待支付;訂單逾時未支付自動取消等。

最後,在實作層,我們需要識别系統内的其他部分或與系統互動的部分,并确定他們對業務領域的影響。比如,與支付相關的銀行接口、第三方支付接口、物流跟蹤動态資料的內建等都是我們必須考慮的。

小結:

  • 适用行業:複雜且靈活多變的行業需求,開發此軟體的公司,通常是行業的引領者,如中台等大型團隊項目
  • 工具:UML類圖、思維導圖
  • 優點:低耦合可擴充、能靈活應對複雜業務變更需求、可增強代碼品質
  • 缺點:團隊技能要求高、時間成本高、協調難度高、編碼量增加(長期來看是值得的)

注:通過選擇合适的方法論,我們完成了産品設計第2步:搭架構,後續再通過第3步拆細節,重點梳理各分支下的異常流程,逐漸完善細節,最後一步,再進行頁面資訊收集填充,剩下的就是畫原型了,此處不做展開。

三、面對不同項目,如何選擇?

綜上,通過以上3種搭功能架構的方法論,我們知道,産品設計方法論,包含用例驅動設計發(UDD)、流程驅動設計法(PDD)、領域驅動設計法(DDD),我們來整體再做個對比總結,通過以下次元進行決策,友善我們在具體的項目設計中,選擇較為合适的方法。

大廠方法論+案例:從0到1輕松拆解産品需求,對程式員的質疑說不

當然,他們各自有優缺點,在一個項目裡,完全可以結合交叉使用。

四、拆解需求需要具備的能力和思維

  • 設計思維:清晰的産品設計思路、并形成自己的通用方法論,掌握并應用(如上面的3種方法)、包括其他的成熟模型(如AARRR模型…)
  • 設計方案:内心要有很多成熟可用的方案思維和評估方案的能力,就需要多練多看、多去關注一些最新的技術,不然沒法梳理架構裡具體都包含什麼,怎麼實作
  • 深度思考能力:多使用結構化思維培養深度思考能力、展現在異常流程、外圍資料互動處理上(平時要多觀察競品、多問幾個為什麼、包括開發階段潛在的問題、面對開發的質疑才可以真正說不)
  • 最佳的UI感及互動設計能力(審美、人機互動最佳政策)
  • 工具使用能力:巧用UML模組化,事半功倍(重點關注類圖、用例圖、狀态圖、流程圖)、還有其他思維導圖等

五、其他想說的話

本文的重點是教大家如何通過成熟的方法論,拆解需求指導原型設計,在寫的時候,裡面其實包含了很多知識點,并沒有展開:

比如最容易被忽視的DFX需求:UDD、PDD、DDD3種方法論如何靈活保證系統的DFX需求,這部分産品經理必須有相應地思考和考量,不能老是産品做了用不起來或者代碼混亂、後面維護難、疊代難……

UML模組化能力的學習:高效輔助産品經理工作,梳理需求和團隊協作、包括作為評審材料後期可進行系統設計檢視,很值得研究運用,但不是都要學;

再比如産品設計由靜态到動态,架構的各個子產品之間如何進行互動設計關聯;頁面資訊結構怎麼收集并合理展示……..

後續我也會慢慢整理總結、輸出。

最後,我們還可以問自己一個問題,從程式員角度,逆向考慮下,程式員拿到一個需求,都是怎麼拆解并實作的?

或許你會知道,你設計的功能是不是相對完美的。

本文由@凱拉Kella 原創釋出于人人都是産品經理,未經作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協定。

該文觀點僅代表作者本人,人人都是産品經理平台僅提供資訊存儲空間服務。

繼續閱讀