《构建之法》第8章:

第8章主要介绍了软件需求的类型、利益相关者,获取用户需求分析的常用方法与步骤、竞争性需求分析的框架NABCD,四象限方法以及项目计划和估计的技术。

作为一个软件团队要准确而全面地获取这些需求主要有以下四个步骤:

  1. 获取和引导需求。这一步骤也被叫做“需求捕捉”。软件团队需要为用户着想,设身处地,为用户引导出需求。
  2. 分析和定义需求。从各个方面获取的需求进行规整,定义需求的内涵从各个角度将需求量化。
  3. 验证需求。软件团队要跟利益相关者沟通,通过分析报告、技术原型、用户调查或演示等形式向他们验证软件团队对于这些需求的认知。
  4. 在软件产品的生命周期中管理需求。

《构建之法》第9章:

第9章主要介绍了团队角色分工、项目经理的由来和要求、项目经理和其他经理的区别、软件项目中的风险和风险管理、PM的专业能力。

PM是指项目经理

Product Manager:产品经理——正确地做产品。

Project Manager:项目经理——正确地做流程。

Program Manager:微软职位名称。

PM做开发和测试之外的所有事情

PM最大、最独特的贡献是带领团队达成最重要的目标,并保持团队的平衡。

PM的能力要求和任务:1.观察、理解和快速学习的能力;

                             2.分析管理能力;

                             3.一定的专业能力;

                             4.自省的能力。

《构建之法》第10章:

 第10章主要介绍了典型用户(Persona)和场景(Scenario)、软件功能说明书(Functional Spec)和技术说明书(Design Doc)、功能驱动的设计(FDD)、用例(Use Case)。

典型用户可包括以下内容:

  1. 名字(越自然越好)
  2. 年龄(不同年龄和收入的用户有不同的需求)
  3. 收入
  4. 代表的用户在市场上的比例和重要性(比例大不等同于重要性高,如付费的用户比例较少,但是影响大,所以更重要)
  5. 使用这个软件的典型场景
  6. 使用本软件/服务的环境
  7. 生活/工作情况
  8. 知识层次和能力
  9. 用户的动机、目的和困难
  10. 用户的偏好

功能驱动的设计:1.构造总体模型(Develop an Overall Model);

                      2.构造功能列表(Build a Feature List);

                      3.制定开发计划(Plan by Feature);

                      4.功能设计阶段(Design by Feature);

                      5.实现具体功能(Build by Feature)。