构建之法阅读笔记2
第六章 敏捷流程
敏捷开发的原则包括:
- 尽早并持续地交付有价值的软件以满足顾客需求。
- 欢迎需求的变化,并利用这些变化来提高用户的竞争优势。
- 经常发布可用的软件,发布间隔可以从几周到几个月不等。
- 业务人员和开发人员在项目开发过程中应该每天共同工作。
- 以有进取心的人为项目核心,充分支持信任他们。
- 无论团队内外,面对面的交流始终是最有效的沟通方式。
- 可用的软件是衡量项目进展的主要指标。
- 敏捷流程应能保持可持续的发展,领导、团队和用户应该能按照目前的步调持续合作下去。
6.3 敏捷的团队应具备以下特点:
- 自主管理:自己挑选任务、提出改进并实施改进。
- 自我组织:每个人联合起来对项目负责。
- 多功能型:每个人都全面负责,搞定规格说明书、与他人沟通、进行测试。
6.4 敏捷总结
实践者的经验教训包括:
- 敏捷宣言表明的是一些优先级,不必当作圣旨或教条来争论。
- Scrum Master是一个沟通者,不是官员,需要同时在团队中做具体的工作。
- 有些项目需要暗箱操作和政治角力,Scrum会将矛盾摆到明处,带来好处和风险。
- 在复杂项目中,让一线团队成员做决定。
- 创业公司的团队经常运行在Scrum模式中。
- Scrum计划阶段的估计并非合同,不应将其视为合同,坚持短期Sprint有助于应对估计的不准确性。
第七章 微软解决方案框架(MSF)
微软解决方案框架的基本原则包括:
- 推动信息共享与沟通。
- 为共同的远景而工作。
- 充分授权和信任。
- 各司其职,对项目共同负责。
- 交付增量的价值。
- 保持敏捷,预期和适应变化。
- 投资质量。
- 学习所有的经验。
- 与顾客合作。
第八章 需求分析
在软件需求分析过程中,涉及需求的获取和引导、分析和定义、验证以及需求管理等方面。获取用户需求的方法包括用户调查、竞争性需求分析以及功能的定位和优先级的划分。
其中用户调查方法包括焦点小组、深入面谈、卡片分类、用户调查问卷等。竞争性需求分析的框架可以采用NABCD模型,即需求、做法、好处、竞争和推广。
在需求分析中还涉及功能的定位和优先级划分,包括杀手功能、外围功能、必要需求和辅助需求,以帮助团队决定资源分配和功能处理的方式。
8.7 分而治之从结果出发构建WBS,而不是从团队的活动出发。
第九章 项目经理
项目经理需要具备观察、理解和快速学习能力、分析管理能力以及一定的专业能力,以有效地管理项目并实现项目目标。
第十章 典型用户和场景
在定义软件系统的典型用户和场景时,需要理解用户角色,与用户代表交流并细化用户需求。用例和规格说明书是常用的需求分析工具,有助于描述用户交互和软件功能。
第十二章 用户体验
用户体验的要素包括用户的第一印象、从用户角度出发考虑设计、注重软件质量和情感设计等。评价标准可以参考费茨法则和启发式评估原则,以提升用户体验和软件质量。