1.1 简介
MSF 就是微软推荐的做软件的方法。
简史:
1994年,基于微软产品开发的经验和教训以及微软微软咨询服务的业务经验,微软推出了Microsoft? 解决方案框架 Microsoft Solution Framework (MSF)。当时的MSF只是这些经验教训的松散集合。在以后的几年中,MSF 进一步吸收了微软各个部门和微软的合作伙伴在实际项目中的经验,在2002年,随着Visual Studio.Net 的发布,微软发布了一系列关于MSF 3.0的白皮书,针对MSF 3.0 的大规模培训也在中国开始。
2006年,MSF 4.0 随着Visual Studio Team Foundation 2005 发布。它增加了不少敏捷开发的内容,并且明确刻画了团队典型的流程和在新的团队协作软件包VSTS 中的应用。
我们可以不用管MSF 演化的细节,要记住所有模式都不是一成不变的,关键是要掌握变化的原因。
1.2 基本原则
MSF 的核心有八个基本原则:
推动开放的沟通
为共同的前景而工作
充分授权和信任
各司其职,对项目共同负责
重视商业价值
保持敏捷,预期变化
质量投资
学习所有的经验
1.2.1 推动开放的沟通
用大白话说,就是所有信息都保留,并公开,讨论要包括所有方面,决定要公开,并通知所有人。当然,牵涉到技术保密,安全性等信息要有必要的保护措施。
问:我们以前都是“老板让你知道,你就会知道,别多问,看起来比较好控制吧?”
答:以前大家两三个哥们一起鼓捣软件,大家都知根知底,好像没有意识到“沟通”的重要性,但是随着项目复杂度和团队规模的增加,没有开放的沟通是万万不行的。
问:如果有一些事情,我个人也没拿准是不是要通知某一方面的人员,怎么办?
答:在这种情况下,宁愿过分沟通。另外,在TFS中,所有和项目有关的信息都会保存起来。
例如:
所有工作件及其历史,
所有源代码的修改记录
一个经常问的问题是:在TFS中,我为什么不能删除工作项?
答案很简单 – MSF 的第一原则:所有的信息都保留,并公开。
大牛:有人犯了一些比较愚蠢的错误,TFS把它们都记录下来了,从个人角度,有人会说“我知道我做错了,已经改正,那最好把原来的记录删除了吧”,这样做,不是有利于打造和谐的团队么?
阿超:记录留下来,可以做事后分析,给后来的同事,或者别的项目的同事学习。如果删除,那也就违反了第八条原理“学习所有的经验”。我们公司要建立“对事不对人”的文化,好像有一句古话,把人的错误比做日食。。。
我们以前关于项目的好多事,都装在几个头头的肚子里,最开放的,也不过是把一些问题列在EXCEL 文件中,但是也没有历史记录,看不到所有信息,那么项目进度以及项目中存在的各种问题就不能及时让所有人知道,这样MSF中其他的原则也就不能实行了。没有开放的信息,也就谈不上“授权”,或“建立清晰的责任和共同的职责”,“保持灵巧,预测变化”。这也是为什么“推动开放的沟通”是第一个基本原则。
MSF 团队模型和MSF过程模型也是建立在“开放的沟通”原则上。