第二章《个人技术和流程》,本章主要再讲一个合格的软件工程师是怎样的,他应该具备:单元测试、效能分析、个人研发流程(PSP);
个人开发流程中:明确需求和其他相关因素,指明时间成本和依赖关系,一个模块(类)应该只有一个导致它变化的原因,一个模块应该完全对某个功能负责
关于程序的健壮性中:数据,用户,实例,需求和软件构建;
工作可以细分为:基本功能、拓展功能、高级功能;回归测试可以保证质量;
第三章是讲述软件工程师的成长;
积累软件开发相关的知识、积累问题领域的知识和经验,提升技术技能、提高职业技能;
其中还讲述了软件工程师的思维误区:分析麻痹、不分主次、过早优化、过早扩大化/泛华;
第四章主要讲述了代码的规范,代码设计规范和代码复审。
个人开发流程要着眼的是整个软件,输出高质量的产品,需要从开发流程上去找bug,然后不断修正,我们才会成长,开发的产品才会不断提高。
第五章中主要讲述了”团队与流程“与第二章的”个人技术流程“有关联,”非团队与团队“”个人与团队“团队的模式相较于个人模式,团队模式更多,更为复杂多样化,也更具趣味性
第六章中主要讲述了敏捷流程及其原则,Backlog,Burn-down,Sprint,Scrum方法论和什么时候选择敏捷的开发方法,什么时候选择其他方法。
敏捷的团队中主要包括 1.自主管理 2.自我组织 3.多功能型三个方面还在敏捷流程中总结出了经验教训;如果在较复杂的项目中,要让一线团队成员做决定
在第七章中讲述了MSF的原则有:推动信息共享与沟通、为共同的远景而工作、充分授权和信任、各司其职对项目共同负责、交付增量的价值、保持敏捷,预期和适应变化、投资质量、学习所有的经验、与顾客合作;还有MSF团队模型跟过程模型