软件开发-MSF方法(《构建之法》读书笔记2)
MSF-微软解决方案框架,是一套大型系统开发指南,它描述了如何用组队模型、过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参考。在现在的软件开发项目中每一个软件开发项目都要经过 一个生命周期。MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来的,它瀑布模型中基于里程碑的规划与螺旋模型中的增量迭代的长处结合起来。MSF作为现在流行的软件开发思路,其有自己的基本原则。
MSF基本原则:
1:推动信息共享和沟通
2:为共同的远景而工作
3:充分授权和信任
4:各司其职,对项目共同负责
5:交付增量的价值
6:保持敏捷,语气和适应变化
7:投资质量
8:学习所有的经验
9:与顾客合作
第一条原则,推动信息共享与沟通。在一个软件开发的团队中,因为软件开发属于比较复杂的项目,所以合作必不可少。团队成员之间需要信息共享。举个例子:当一个小团队开发一个小型的软件时,或许成员也就3、4个人,大家如果相互了解的比较深,知根知底,那么工作起来或许遇到的困难不是很麻烦。但是,随着项目复杂度和团队规模的增加,没有信息共享与沟通是万万不行的。什么事该告诉团队、什么事没必要告诉团队,这也成为了一个新的问题。有的人会说了“那就把 一切的事,反正跟软件开发有关的事都告诉团队不就行了”。可是,问题在于如何将重要的事情与团队共享,而不把无关紧要的事拿出来耽误大家时间。人不能被规则累死,最好事让这些通知能随着时间的发生而自然地传递给关心这些事情的人。有人犯了一些比较愚蠢的错误(比如一个很低级的bug),TFS把他们都记录下来了,从个人角度来看,有人会说:“我知道我做错了,已经改正,那最好把原来的记录删除了吧。”这样做,不是有利于打造和谐团队吗?可是,在另一些人的眼中,和谐的“谐”,是一个“言”和一个“皆”字,说的就是大家都可以发言,所有的事情都要记录。记录留下来,可以做事后分析,给后来的同事,或者别的项目的同事学习。如果删除,则会造成损失一次学习经验的机会。“君子之过也,如日月之食焉:过也,人皆见之;更也,人皆仰之。”
MAF过程模型的基本元素是阶段和里程碑。所谓“阶段”,就是在这一段时间里团队集中精力做某一件事情,每一阶段的结束都代表了项目的进展和团队工作重心的变化。
MSF过程模型MSF过程模型解释了如何基于:范围、进度和资源,规划和控制面向结果的项目。它是基于四个可见里程碑交互的、允许修改的过程模型。过程模型中的“设计”阶段在面向商业解决方案内容,结合过程模型、组队模型和应用模型的组件方案设计过程(Designing Component Solutions Process)中,进行了详细的介绍。
软件开发是一种复杂的、有创造力的过程。在较大的开发队伍中,采用自上而下的方法,将会抑制创造力、有效的交流和真正的方案开发。通过在软件开发过程中应用MSF基本模型,帮助软件组织克服这些障碍。