第八章
8/主要介绍了软件需求的类型、利益相关者,获取用户需求分析的常用方法与步骤、竞争性需求分析的框架NABCD,四象限方法以及项目计划和估计的技术。
1、软件需求:人们为了解决现实社会和生活中的各种问题而有求于软件
2、而作为软件团队,准确而全面地找到这些需求主要的步骤为:
(1)获取和引导需 (3)验证需求
(2)分析和定义需求 (4)在软件产品的生命周期中管理需求
3、用户对软件的需求又分为:对产品功能性的需求;对产品开发过程的需求;非功能性需求;以及综合需求。所以软件团队和客户代表在需求阶段一定要把这些问题定义清楚,不然届时所做产品以客户要求不符合就会很麻烦。
4、获取用户需求——用户调查具体包括:
焦点小组(Focus Group),深入面谈(In-depth Interview),卡片分类(Card Sorting),用户调查问卷(User Survey),用户日志研究(User Diary Study),民族志/人类学调查(Ethnograpic Strudy),眼动跟踪研究(Eye Tracking),快速原型调研(Quick Prototype),A/B测试(A/B Testing)
第九章
9/主要介绍了团队角色分工、项目经理的由来和要求、项目经理和其他经理的区别、软件项目中的风险和风险管理、PM的专业能力。
1、成为一个合格的PM,需要有一定的能力:观察、理解和快速学习能力;分析管理能力;一定的专业能力;自省的能力。
2、作为一个PM,其任务是:
(1)带领团队形成团队的目的/远景,把抽象的目标转化为可执行的、具体的、优美的设计;
(2)管理软件的具体功能的生命周期;
(3)创建并维护软件的规格说明书,让它成为开发/测试人员及时准确的指导,而不是障碍;
(4)代表客户和用户的利益,主动收集用户反馈,预期用户新的需求。协调并决定各种需求的优先级;
(5)分析并带领其他成员对缺陷/变更需求形成一致意见,并确保实施;
(6)带领其他成员确保项目保持功能/时间/资源的合理平衡,跟踪项目进展,确保团队发布令客户满意的软件;
(7)收集团队项目管理和软件工程的各种数据,客观分析项目实施过程中的优缺点,推动项目成员持续改进,从而提振士气。
第十章
10/主要介绍了典型用户(Persona)和场景(Scenario)、软件功能说明书(Functional Spec)和技术说明书(Design Doc)、功能驱动的设计(FDD)、用例(Use Case)。
1、典型用户可以包含:名字、年龄、收入、代表的用户在市场上的比例和重要性、使用软件的典型场景、使用本软件/服务的环境、生活/工作情况、知识层次和能力、用户的动机、用户的偏好。
2、功能驱动的设计的主要步骤有:
(1)构造总体模型(Develop an Overall Model);
(2)构造功能列表(Build a Feature List);
(3)制定开发计划(Plan by Feature);
(4)功能设计阶段(Design by Feature);
(5)实现具体功能(Build by Feature)。