天天看點

【建構之法】第8章-需求分析1 軟體需求2 軟體産品的利益相關者3 擷取使用者需求-使用者調研4 競争性需求分析的架構5 功能的定位和優先級6 計劃和估計7 分而治之(Work Breakdown Structure)

本章重點:

  • 軟體需求的類型
  • 利益相關者
  • 擷取使用者需求的常用方法和步驟
  • 競争性需求分析的架構NABCD
  • 四象限方法
  • KANO圖
  • 項目計劃和估計的技術
  • 任務劃分的技術WBS

1 軟體需求

如何準确而全面地找到需求:

  • 擷取和引導需求(Elicitation):軟體團隊需要找到軟體的利益相關者,了解和挖掘他們對軟體的需求,引導他們表達出真實的需求;
  • 分析和定義需求(Analysis & Specification):這是指對從各個方面擷取的需求進行規整,定義需求的内涵,從各個角度将需求量化,包括需求實作的最後期限、實作需求大緻所需的時間和資源成本、各個不同需求的優先級、需求帶來的收益等等;
  • 驗證需求(Validation):軟體團隊要跟利益相關者溝通,通過分析報告、技術原型、使用者調查或示範等形式向他們驗證軟體團隊對于這些需求的認知;
  • 在軟體産品的生命周期中管理需求(Management):在軟體的生命周期中,需求在發生變化,技術在發展,團隊成員的能力也在提高。多方面的變化和發展都要求我們不斷對需求進行重新稽核并做出相應的調整。

軟體需求的劃分:

  • 對産品功能性的需求;
  • 對産品開發過程的需求;
  • 非功能性需求:也叫“服務品質需求”(Quality of Service Requirement);
  • 綜合需求。

軟體團隊和客戶代表要在需求階段把這些問題定義清楚。

2 軟體産品的利益相關者

  • 使用者:或稱最終使用者(User,End-user);
  • 顧客:或稱客戶(Customer,Client);
  • 市場分析者;
  • 監管機構;
  • 系統/應用內建商;
  • 軟體團隊;
  • 軟體工程師。

3 擷取使用者需求-使用者調研

  • 焦點小組(Focus Group):找到一群目标使用者的代表,加上項目的利益相關者來讨論使用者想要什麼,使用者對軟體的評價等等;
  • 深入面談(In-depth Interview):通過詳細的面談,廣泛而深入地了解使用者的背景、心理、需求等。這通常是一對一的采訪;
  • 卡片分類(Card Sorting):把各種需求做成便于規整的小卡片(或小貼紙)上,然後反複進行下列活動-“讨論->明晰定義->歸類->排序”;
  • 使用者調查問卷(User Survey):這種方法是向使用者提供事先設計好的問題,讓使用者回答;
  • 使用者日志研究(User Diary Study):要求使用者記錄自己日常工作或生活中與所用軟體相關的行為,供軟體團隊分析;
  • 人類學調查(Ethnographic Study):可以解釋為-和目标使用者“同吃同住同勞動”。

4 競争性需求分析的架構

NABCD模型:

  • N(Need,需求)
  • A(Approach,做法)
  • B(Benefit,好處)
  • C(Competitors,競争)
  • D(Delivery,推廣)

5 功能的定位和優先級

【建構之法】第8章-需求分析1 軟體需求2 軟體産品的利益相關者3 擷取使用者需求-使用者調研4 競争性需求分析的架構5 功能的定位和優先級6 計劃和估計7 分而治之(Work Breakdown Structure)

6 計劃和估計

6.1 目标、估計和決心

  • 目标:表達一個希望達到的狀态;
  • 估計:以目前了解的情況和掌握的資源,要花費多少人力物力時間才能實作某事;
  • 決心:保證在某個時間之前完成預先規定的功能和品質。

6.2 找出估計後面的假設

軟體工程專家Paul Rook說:“***我們其實并不是不會估計,我們真正不會的,是把估計後面藏着的種種假設全部列舉出來。***”

6.3 提高估計能力的招數

  • 參考前人的經驗
  • 快速原型法

7 分而治之(Work Breakdown Structure)

PM需要站出來上司大家,把看似巨大無從下手的項目逐漸分解為可以操作的工作。

繼續閱讀