《构建之法》之第8、9、10章读后感
第8章
第8章主要介绍了软件需求的类型、利益相关者,获取用户需求分析的常用方法与步骤、竞争性需求分析的框架NABCD,四象限方法以及项目计划和估计的技术。
软件需求的步骤为:1.获取和引导需求(Elicitation);
2.分析与定义需求(Analysis&Specification);
3.验证需求(Validation);
4.在软件产品的生命周期中管理需求(Management)。
获取用户需求——用户调查:1.焦点小组(Focus Group);
2.深入面谈(In-depth Interview);
3.卡片分类(Card Sorting);
4.用户调查问卷(User Survey);
5.用户日志研究(User Diary Study);
6.人类学调查(Ethnographic Study);
7.眼动跟踪研究(Eye Tracking);
8.快速原型调研(Quick Prototype);
9.A/B测试(A/B Testing)。
NABCD模型:1.N(Ned,需求);
2.A(Approach,做法);
3.B(Benefit,好处);
4.C(Competitors,竞争);
5.D(Delivery,推广);
第9章
第9章主要介绍了团队角色分工、项目经理的由来和要求、项目经理和其他经理的区别、软件项目中的风险和风险管理、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)。
Sprint 1 个人总结:
对于这次的项目,我们做的是设计用户登录界面、注册界面、查询功能、链接数据库等,大家都很努力地实现,尽管做出的结果差强人意,但我们都朝着同一个方向而努力。生产率和实际的生产率差异比较大,一是由于jsp基础暂时没打好,相互之间对代码错误的交流很难达成一致;二是由于地域原因,我们并不能时常交流,而在github上的代码一致性会出现冗余。