第七章 MSF
7.1 MSF简史
MSF(Microsoft SolutionFramework),微软解决方案框架,就是微软推荐的软件开发方法。
7.2 MSF基本原则
1.推动信息共享与沟通(Foster open communication)
第一个原则,就是所有信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有的人。当然,对牵涉到机密技术、安全性等信息要采取必要的保护措施。
2.为共同的远景而工作(Work toward a shared vision)
a.这个目标必须是明确的,没有二义性
b.这个目标不是当前就能达到,必须是通过努力才能达到的
c.这个目标不是空泛的,它应该对项目成员每天的工作都有指导作用。
3.充分授权和信任(Empower team members)
一是给某人权力和权威,二是给予某人更多自信和自尊
4.各司其职,对项目共同负责(Establish clear accountability and shared resposibility)
5.交付增量的价值(Deliver incremental value)
6.保持敏捷,预期和适应变化(Stay agile,expect and adapt change)
7.投资质量(Invest in quality)
对质量的重视,引起对质量的投资,引起对人、过程和工具的投资。投资要讲效率。投资要讲时机。投资是长期的
8.学习所有的经验(Learn from all experiences)
在学习过去的经验的同时,也要避免让过去的经验妨碍解决现在的问题。
MFS在每一个里程碑结束时都要做一个“里程碑回顾”,这个回顾不必等到整个项目结束才做。这样做的好处是,大家对最近的成败都记忆犹新,能提供比较准确和全面的反馈;如果发现了错 误,可以马上研究解决办法,在下一个里程碑中通过实践来验证。另外,一些好的做法可以及时得到总结和推广。
9.与顾客合作(Partner with internal and external customer)
7.3 MSF团队模型
在MSF团队模型中,任何技术项目都必须达到特定的关键质量目标,才能够被认为是成功的项目。任何一个角色无法实现其目标,都将危及整个项目。因此,每个角色都被认为是同等重要的,重要的决定都要共同做出。
7.4 MSF过程模型
MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来的,它把瀑布模型中基于里程碑的规划优势与螺旋模型中增量迭代的长处结合了起来。
MSF过程模型的基本元素是阶段和里程碑。所谓“阶段”,就是在这一段时间里团队集中精力做某一类事情,每个阶段的结束都代表了项目的进展和团队工作重心的变化。比如在“开发阶段”结束后,团队就不再允许设计/实现新的功能,除非有理由充分的“变更请求”。
团队用里程碑来检查工作是否结束和同步各个角色的进度,以此来确定当前阶段的目标是否已经实现。
此外,里程碑标志着每个阶段的结束,此时团队应该引导成员转移工作的重心,并鼓励队员以新的视角来看待下一阶段的目标。在上一个阶段产生的各种交付内容,将成为下一阶段的起始点。
7.5 MSF敏捷开发模式
a.更强调与用户的交流
项目的商业价值要由用户说了算,那些“我觉得用户会喜欢”的东西要及早和用户交流。因为“我觉得”和“用户觉得”是两码事。
b.质量——防患于未然
防止缺陷的发生成为团队质量控制的首要任务,在防止缺陷的发生和确保缺陷被修复上,所有的角色都要负责。
c.重视在实践条件下的质量
这一点要求我们保持随时可以发布的高质量。
d.精简过程,直奔主题
7.6 MSF CMMI开发模式