全流程剖析需求開發:打造極致貼合用戶的產品
- 一、需求獲取
- (一)與用戶溝通
- 1.面談
- 2.問卷調查
- 3.會議討論
- (二)觀察用戶工作
- (三)收集現有文檔
- 二、需求分析
- (一)提煉關鍵需求
- (二)建立模型
- 1.數據流圖
- 2.實體關系圖
- 3.用例圖
- (三)確定非功能需求
- 1.性能要求
- 2.安全性要求
- 3.可靠性要求
- 4.兼容性要求
- 三、需求規格說明
- (一)編寫需求規格說明書
- (二)需求評審
- 四、需求管理
- (一)需求變更管理
- (二)需求跟蹤
需求開發貫穿產品從概念到落地的整個生命周期,其成效直接關系到產品能否精準服務用戶、創造商業價值。下面從需求獲取、分析、規格說明、管理這四個核心環節,展開系統深入的闡述。
一、需求獲取
(一)與用戶溝通
1.面談
- 面談籌備:面談前,需充分了解用戶背景、業務領域,擬定詳細的面談大綱。大綱問題涵蓋業務流程、日常工作難題、期望的系統功能等多個維度。例如,在開發一款房地產中介管理系統時,針對房產經紀人,準備 “描述帶客戶看房的完整流程”“在房源信息錄入時,遇到過哪些阻礙” 等問題;對中介門店經理,設置 “如何制定銷售目標和考核經紀人績效” 等問題。同時,合理安排面談時間和地點,營造輕松自在的氛圍。
- 面談推進:面談過程中,保持積極傾聽,鼓勵用戶暢所欲言,挖掘潛在需求。運用追問技巧,獲取細節信息,如用戶提到房源信息錄入繁瑣時,追問 “具體哪些字段錄入困難,是信息獲取不便,還是系統操作不友好”。做好記錄,可采用錄音(需征得用戶同意)和筆記相結合的方式,確保信息準確完整。
2.問卷調查
- 問卷設計:問卷內容要涵蓋基本信息、使用習慣、功能期望、滿意度等多個層面。問題形式多樣化,包括單選題、多選題、簡答題等。以一款短視頻 APP 為例,單選題如 “您主要在什么設備上使用短視頻 APP?A. 手機 B. 平板 C. 電腦”;多選題如 “您喜歡哪些類型的短視頻內容?A. 搞笑 B. 美食 C. 科技”;簡答題如 “您希望短視頻 APP 增加哪些新功能”。此外,合理設置問題順序,先易后難,提高問卷完成率。
- 問卷發放與回收:通過多種渠道發放問卷,線上利用社交媒體、APP 推送、郵件等方式,線下在目標用戶集中場所,如學校、商場等地發放。為提高回收率,可設置一定獎勵,如抽獎、優惠券等。對回收的問卷進行篩選,剔除無效問卷,運用數據分析工具進行統計分析。
3.會議討論
- 會議組織:提前確定會議主題、議程和參與人員,向參會者發送詳細的會議通知,包括會議目的、時間、地點、需提前準備的資料等。例如,在開發一款物流配送管理系統時,邀請物流企業的調度員、司機、倉庫管理員、客戶代表等參與會議。
- 會議引導:會議開始時,主持人介紹會議目的和規則,引導參會者圍繞主題發言。鼓勵不同觀點交流碰撞,對分歧較大的問題,組織深入討論。例如,在討論配送路線規劃功能時,司機和調度員可能存在不同意見,通過充分討論,找到最佳解決方案。做好會議記錄,明確會議決議和后續行動項。
(二)觀察用戶工作
1.現場觀察:深入用戶工作現場,觀察用戶實際操作流程,記錄操作步驟、使用工具、遇到的問題等。例如,觀察銀行柜員辦理貸款業務時,對現有業務系統的操作過程,包括數據錄入、查詢、審批等環節,以及在操作過程中出現的錯誤提示和處理方式。
2.任務分析:將用戶的工作任務分解為多個子任務,分析每個子任務的目標、操作流程、所需時間、依賴關系等。例如,在分析電商客服處理售后投訴的任務時,將其分解為投訴受理、問題核實、解決方案制定、反饋客戶等子任務,深入了解每個環節的工作內容和要求。
(三)收集現有文檔
1.文檔收集:收集與項目相關的各類文檔,包括業務流程手冊、操作指南、行業標準、法律法規等。例如,在開發一款醫療信息管理系統時,收集醫院的病歷書寫規范、診療流程文件、醫保政策文件等。
2.文檔分析:對收集到的文檔進行梳理和分析,提取有用信息,轉化為需求。例如,從病歷書寫規范中,確定系統中病歷錄入的格式、內容要求;從醫保政策文件中,明確醫保報銷的計算規則和業務流程。
二、需求分析
(一)提煉關鍵需求
1.需求篩選:對獲取的大量需求信息進行篩選,去除模糊、矛盾、不合理的需求。例如,在一款在線教育 APP 的需求中,部分用戶希望課程視頻可以無限制下載,而從版權和服務器存儲角度考慮,這一需求并不合理,需要與用戶溝通,尋求替代方案。
2.優先級排序:根據需求的重要性、緊急性、實現難度等因素,對需求進行優先級排序。例如,在電商大促前,購物車結算功能的穩定性和準確性是高優先級需求,而一些個性化推薦功能的優化可作為低優先級需求。
(二)建立模型
1.數據流圖
- 分層繪制:從頂層數據流圖開始,逐步細化,展示系統的整體數據流程和各個層次的處理過程。以在線支付系統為例,頂層數據流圖展示用戶、支付平臺、銀行之間的主要數據交互;底層數據流圖詳細描述支付信息驗證、資金轉移等具體處理過程。
- 標注說明:對數據流圖中的每個數據流、處理過程、數據存儲進行清晰標注,說明其含義、來源、去向等信息,便于開發人員理解。
2.實體關系圖
- 確定實體和關系:識別系統中的實體,如用戶、訂單、商品等,并確定實體之間的關系,如一對一、一對多、多對多。例如,在電商系統中,一個用戶可以下多個訂單,一個訂單可以包含多個商品,存在用戶與訂單的一對多關系,訂單與商品的多對多關系。
- 屬性定義:為每個實體定義屬性,如用戶實體的屬性包括用戶名、密碼、手機號等,訂單實體的屬性包括訂單號、下單時間、金額等。
3.用例圖
- 確定參與者和用例:識別系統的參與者,如用戶、管理員等,并確定每個參與者的主要用例。例如,在社交軟件中,用戶的用例包括注冊、登錄、發布動態、點贊評論等,管理員的用例包括用戶管理、內容審核等。
- 描述用例場景:對每個用例進行詳細描述,包括前置條件、基本事件流、擴展事件流等,清晰展示參與者與系統的交互過程。
(三)確定非功能需求
1.性能要求
- 響應時間:規定系統對用戶請求的響應時間,如電商網站的頁面加載時間應不超過 3 秒,以提高用戶體驗。
- 吞吐量:確定系統在單位時間內能夠處理的最大請求數,如在線售票系統在高峰期每分鐘應能處理 1000 個購票請求。
2.安全性要求
- 數據加密:對用戶敏感數據,如銀行卡號、身份證號等進行加密存儲和傳輸,防止數據泄露。
- 用戶認證和授權:建立用戶認證機制,確保只有合法用戶能夠訪問系統;根據用戶角色和權限,對系統功能和數據進行訪問控制。
3.可靠性要求
- 故障恢復:系統應具備故障自動檢測和恢復能力,如服務器故障時,能夠自動切換到備用服務器,保證業務連續性。
- 數據備份和恢復:定期對系統數據進行備份,在數據丟失或損壞時,能夠快速恢復數據。
4.兼容性要求
- 設備兼容性:確保系統在不同設備上,如手機、平板、電腦等,都能正常運行,界面顯示和操作體驗良好。
- 軟件兼容性:兼容不同的操作系統、瀏覽器版本,如移動 APP 要兼容主流的安卓和蘋果系統版本,網頁應用要兼容 Chrome、Firefox、IE 等瀏覽器。
三、需求規格說明
(一)編寫需求規格說明書
1.結構規范:需求規格說明書應包括引言、項目概述、功能需求、非功能需求、數據需求、接口需求等部分。引言部分介紹項目背景、目的、范圍;項目概述部分描述項目的整體架構和業務流程;功能需求部分按業務模塊詳細描述每個功能的輸入、輸出、處理邏輯;非功能需求部分闡述性能、安全、可靠性等方面的要求;數據需求部分說明系統涉及的數據結構、數據存儲、數據處理等;接口需求部分定義系統與外部系統的接口規范。
2.語言準確:使用清晰、準確、無歧義的語言描述需求,避免使用模糊詞匯和行話。例如,“系統應快速響應用戶請求” 應明確為 “系統在用戶點擊提交按鈕后,3 秒內返回處理結果”。
(二)需求評審
1.評審準備:提前將需求規格說明書發送給評審人員,讓他們有足夠時間熟悉文檔。評審人員包括用戶、開發人員、測試人員、項目經理等。
2.評審過程:組織評審會議,由需求編寫人員對文檔進行講解,評審人員提出疑問和建議。對每個問題進行詳細記錄,討論解決方案。例如,開發人員可能提出某個功能在技術實現上存在困難,需要與用戶溝通調整需求;測試人員可能指出某些需求缺乏可測試性,需要進一步細化。
3.評審總結:會議結束后,對評審意見進行整理和總結,形成評審報告。根據評審意見,對需求規格說明書進行修改和完善。
四、需求管理
(一)需求變更管理
1.變更申請:當用戶提出需求變更時,填寫需求變更申請表,詳細說明變更的原因、內容、影響范圍等。例如,在軟件開發過程中,用戶發現原有的功能設計不符合業務實際需求,需要新增一個功能模塊,應在申請表中說明新增功能的目的、業務流程和預期效果。
2.變更評估:組織相關人員對變更申請進行評估,分析變更對項目進度、成本、質量等方面的影響。例如,通過評估新增功能模塊的開發工作量、所需資源,以及對現有系統架構的影響,確定變更的可行性和優先級。
3.變更審批:建立變更審批機制,根據變更的影響程度,由不同層級的負責人進行審批。對于重大變更,可能需要項目各方共同決策。例如,涉及項目范圍大幅調整、成本顯著增加的變更,需經項目領導小組審批。
4.變更實施:變更申請批準后,安排開發人員進行變更開發。在開發過程中,跟蹤變更的進度,確保按計劃完成。對變更后的系統進行全面測試,驗證變更的正確性和對其他功能的影響。
(二)需求跟蹤
1.建立跟蹤矩陣:將需求與設計文檔、代碼、測試用例等項目工作產品建立關聯,形成需求跟蹤矩陣。例如,在需求跟蹤矩陣中,記錄每個需求對應的設計模塊、代碼文件、測試用例編號等信息。
2.跟蹤需求狀態:定期檢查需求的實現情況,更新跟蹤矩陣中的狀態信息。例如,標記需求是否已設計、已開發、已測試通過等。通過需求跟蹤,及時發現需求遺漏、不一致等問題,保證項目的一致性和完整性。當某個需求發生變更時,通過跟蹤矩陣快速確定需要修改的相關工作產品,避免遺漏。