20170906-构建之法:现代软件工程-阅读笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20170906-构建之法:现代软件工程-阅读笔记相关的知识,希望对你有一定的参考价值。
MSF(Microsoft Solution Framework)微软推荐的软件开发方法
MSF简史:
1、1993年,微软在总结了自己产品团队的开发经验和教训,以及微软咨询服务部门的业务经验后,推出MSF
2、2002年随着Visual Studio.NET的发布,微软发布了一系列关于MSF3.0的白皮书,针对MSF3.0的大规模培训也开始在中国举办
3、2006年,MSF4.0随着Visual Studio Team Foundation Server 2005发布。它增加了不少敏捷开发的内容,并且明确描述了团队协作的典型流程和在新的团队协作软件包VSTS中的应用
4、2008年,MSF随着Visual Studio Team Foundation Server 2008发布。它在文字和表达上有一些变化,但实质精神和MSF4.0是非常一致的
5、2010年之后,随着Visual Studio软件开发系统的更新,MSF也发生了一些变化,对于敏捷的流程有更多的支持
MSF基本原则:
(1)推动信息共享与沟通(Foster open communications)
(2)为共同的远景而工作(Work toward a shared vision)
(3)充分授权和信任(Empower team members)
(4)各司其职,对项目共同负责(Establish clear accountability and shared responsibility)
(5)重视商业价值(Focus on delivering business value)
(6)保持敏捷,预期变化(Stay agile, expect change)
(7)投资质量(Invest in quality)
(8)学习所有的经验(Learn from all experiences)
(9)与顾客合作(Partner width internal and external customers)
MSF团队模式:
MSF团队模式定义了小组同级成员的一些角色和职责。
在MSF团队模式中,任何技术项目都必须达到特定的关键质量目标,才能够被认为是成功的项目。任何一个角色无法实现其目标,都将危及整个项目。因此,每个角色都被认为是同级重要的,重要的决定都要共同作出。
说白了,一个项目达到的目标很多,MSF团队模式让不同的角色去实现这些目标。在某个项目结束的时候,每个角色都问自己这样的问题---我是否达到了我的质量目标?
最后,比如测试团队(角色:模式)要保证“我发现的所有问题都得到解决”,那么测试团队就会做一下两件事:
1.发现产品的问题
2.保证这些问题得到处理,(“处理”和“解决”是不一样的,有些问题目前不能得到完美的解决,但是可以有让用户满意的处理方案,项目团队不能回避这些问题)
MSF过程模式:
每个项目都要经过一个生命周期,如图
MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来的,它把瀑布模型中基于里程碑的规划优势与螺旋模型中增量迭代的长处结合了起来。
MSF过程模型的基本元素是阶段和里程碑。所谓“阶段”,就是在这一段时间里团队集中精力做某一类事情,每个阶段的结束都代表了项目的进展和团队的工作重心的变化。
MSF对敏捷和CMMI的支持
在Visual Studio TFS中,MSF演化为两个分支:
·MSF敏捷开发模式
·MSF CMMI开发模式
MSF敏捷开发模式吸收了近几年来的软件业界流行的各种“敏捷”开发模式的优点,认识到目前大部分软件是网络应用想联系的,强调和用户更紧密地交流,快速迭代,避免不必要的等待和流程。同时,MSF也支持CMMI开发模式。
CMMI是英文Capacity Maturity Model Integrate(能力成熟度模型集成)的缩写。CMMI是CMM模型的最新版本,资料显示,如果项目的管理达到了CMMI较高的等级,那么项目的质量与按期完成率都会有较大的提高。
CMMI虽然源于美国,但在世界各地得到了广泛的推广与接收,特别是和外包服务相关的软件企业。不过要注意的是,众多新型的小企业,特别是互联网企业,并没有多少采用CMMI来指导软件开发。
MSF for CMMI能做什么?能版主团队加速达到CMMI第三季“明确”阶段。但是MSF得过程模板只实现了第三季所要求的21个过程的17个,因此,它并不能保证团队自动获得第三季的评估,然而,加以一定程度的管理规章和文档管理,第三级应该不难实现。
在MSF中,CMMI在所有的流程都加了一个“提议”(Proposed)阶段,用过“审核”或者就决定“开始调查”,处于“提议”阶段的工作项目可以变为“激活”状态。如果调查的结果不是要开始着手工作,那么工作项可以退回到“提议”状态。
以缺陷类型(BUG)为例。其他的工作类型如问题(Issuse)、需求(Requirement)、复审(Review)、风险(Risk)、任务(Task)都是类似的流程。
以上是关于20170906-构建之法:现代软件工程-阅读笔记的主要内容,如果未能解决你的问题,请参考以下文章