本学期第三周我阅读了《构建之法》的第7-9章。
第七章讲的是MSF,即微软解决框架方案(Microsoft Solution Framework,MSF),讲述了MSF简史,MSF基本原则,包括:1.推动信息共享与沟通;2.为共同的远景工作;3.充分授权的信任;4.各司其职,对项目共同负责;5.交付增量的价值;6.保持敏捷,预期和适应变化;7.投资质量;8.学习所有的经验;9.与顾客合作。还讲述了MSF团队模型、过程模型、敏捷开发模式、CMMI开发模式等。
通过对MSF原则的学习,教会我们要怎样高效率地去做一个软件。在MSF团队模型中,我了解到任何技术项目都必须达到特定的关键质量目标,才能够被认为是成功的项目。任何一个角色都无法实现其目标,都将危机整个项目。因此,每个角色都被认为是同等的重要,重要的决定都要共同做出。
第八章是需求分析,里边主要讲到软件需求,包括四个步骤:1、获取和引导需求,2、分析和定义需求,3、验证需求,4、在软件产品的生命周期中管理需求;讲到了软件产品的利益相关者、获取用户需求——用户调查、竞争性需求的框架,主要是NABCD模型,还提及功能的定位和优先级、计划和估计、分而治之等。
我认为需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。一般情况下,用户并不熟悉计算机的相关知识,而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同一问题理解的差异和习惯用语的不同往往会为需求分析带来很大的困难。所以,开发人员和用户之间充分和有效的沟通在需求分析的过程中至关重要。
第九章主要讲的是项目经理,是指为项目的成功策划和执行负总责的人。还介绍了微软PM的来历,PM做开发和测试之外的所有事请,PM和风险管理,PM的能力要求和任务。
可以肯定的是项目经理必须要有一系列的技能包括提出敏锐问题的能力,察觉未声明的假设以及解决人与人之间的冲突,同时还需要更多的系统化的管理技能。
阅读完这几章,我印象最深的就是在做软件之前要进行软件需求是很重要的,知道了用户真正的需求是什么,软件团队才可以做出用户满意的作品。