聚仙亭

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
 

MSF,即Microsoft Solution Framework,也就是微软公司推荐做软件的方法。在2006年,伴随着Visual Studio Team Foundation 2005的发布,MSF4.0也推出了。其中描述了团队协作的典型流程和在软件上的应用,软件自然就是VSTF了。

MSF基本原则包括以下8条:

1、推动信息共享与沟通(Foster open communication

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

推动信息共享与沟通:

开展一个项目的时候,需要大家都了解一个项目,对项目的所有信息都要保留,并做到公开;讨论包括所有需要知道的人员,决定要公布给项目的所有成员;最好的设想是随着项目事件的发生自然地传递到关心这些事情的人那里。

信息共享和沟通是其他原则实行的基础,如果信息不能共享,也就谈不上“授权”,或“建立清晰的责任和共同的职责”,以及“保持敏捷,预测变化”。这就是为什么“信息共享于沟通”是第一基本原则的原因。

为共同的远景工作

“共同的远景”是指项目的远景,团队的所有成员都应该同意项目的远景。

我们无论做什么类型的软件都要明确我们项目的目标是什么:目标必须是明确的,无二义性的;目标不是当前就能达到,需要通过努力才能够达到;目标不是“口号”,应该对项目成员每天的工作都有指导作用。项目成员如果发现你做的事情和项目的远景没有帮助,你应该跟老板提出来。

远景一般由“有远见的人”提出,通过公共讨论来形成,在讨论的过程中,可以消除误解,凝聚共识。这是项目的关键,也是项目第一阶段要达到的主要目标!

充分授权和信任

授权有两层意思:一是给某人权利和权威;二是给予某人更多的自信和自尊。在一个高效的团队中,所有的成员都应该能得到充分的授权,他们有权力在自己的职权范围内按照他们自己的承诺完成任务,同时,他们也充分信任其他同事也能实现各自的承诺。

授权的好处有两点:

1、被授权的人会承担起自己对项目的责任,同时也期望同事们也同样对项目负责;

2MSF提倡自下而上的计划,每个人有充分的权力估计并决定自己的任务需要多长的时间,而不是上级交给的时间,这意味着让真正做这件事的人按照自己的估计去完成任务,这样做的结果是人人都会支持项目的计划和时间表,因为这个时间表是每个人自下而上订出来的。

授权不等同于放任不管,领导者在授权之后,要为手下的成功提供各种必要的帮助——技术上的陪训、策略上的提醒,以及各方面的信息和资源。

各司其职,对项目共同负责

每个角色都有自己的职责(见下表),如果出了问题,这个角色就要负责任。

团队模型和关键质量目标

关键质量目标

小组角色

出口条件

按约束条件交付产品

程序管理

我们的项目是在时间/资源的条件内交付的么?

按产品规格说明交付产品

开发

我们是否按照功能说明完成了各项功能?

保证所有问题都得到处理

测试

我们发现了所有的问题,而且都有处理方案吗?

产品部署和后续管理

发布管理

客户是否能快速方便地部署产品和进行后续管理?

让产品更好用

用户体验

产品是否适应用户的使用习惯?易用易学?

让客户满意

产品管理

客户是否(在总体上)满意我们的项目

与此同时,各个角色合起来对项目整体最终的成功负责。每个角色在其职责范围内的失败都会导致整个项目的失败,而且各个角色的工作都是相互渗透、相互依赖的。这种互相依赖的方式也鼓励团队成员在自己本职之外为其他领域做贡献。

另外,人物的责任人需要自己决定意见,别人的意见都只是参考。责任人的责任是巴事情做出来,而不是讨好所有的人!

在项目进展的过程中,对于每一项任务,每个人要明确以下几点:

Who:谁负责;

What:做什么,具体的执行方案,什么叫做“做好了”;

When:什么时候开始,什么时候结束;

Why:为什么是这样安排,在什么情况下可以变更?

重视商业价值

项目应该是出于商业目的的,如果没有商业的需求,再酷的技术也没有用。商业项目需要重视市场和用户,技术是处于第三位的。

一个团队项目如果没有经得起考验的商业价值,没有明确的远景是很难坚持下去的。当项目遇到困难的时候,当项目看不到尽头的时候,商业价值比激情更能够保证项目的发展。

国外对创业有这样一个观点:

如果你还没有能说清楚你的产品解决了什么问题,为谁解决问题,为什么你的产品会解决这些问题,以及客户怎样付钱让你解决问题,那你就不应该贸然创业。

保持敏捷,预期变化

软件工程,唯一不变的是变化。所以别幻想客户的需求会在第一时间很明确,然后保持不会变。除开客户的外部原因,团队内部也在不断的变化,这就要求团队保持敏捷的身段。

投资质量

对质量的重视,引起对质量的投资,引起对人、过程和工具的投资。之所以叫“投资”,而不叫“全面的质量管理”是有其道理的:

1、投资要讲效率。我们要重视质量,但并不是要不惜一切代价达到最高的质量标准,提高质量是要花成本的,而不是为提高质量而提高质量。

2、投资要讲时机,就和股票一样。

3、投资是长期的。真正的投资者看重的是长线的收益;人的成长,团队的成熟都需要时间,不可能短期内立竿见影;

商用软件只有在其发布以后才会体现它的商用价值,但是面对软件缺陷的无休止出现,我们做商用软件要找到一个平衡点,及时发布能够解决用户问题的软件,并能够及时修改软件中的问题。好的公司便能够做到这两个“及时”。

学习所有的经验

这一原则有两个含义:

1、把经验总结出来;

2、分享经验;

为什么要坚持总结和分享?是为了——

1、让团队成员从别人的成果和失败的例子中学到东西;

2、帮助新项目重复以往成功的做法;

3、培育团队总结的习惯和“批评与自我批评”的文化;

对于大型的团队项目,可以进行里程碑回顾;这样既保证项目进行时间不久,大家对项目中发生的事较清晰,也可以帮助在项目后续中去改正这些问题。整个项目结束后,可以举行由外部团队参与的“事后诸葛亮”会,来保证对项目评估的客观以及团队之间的相互学习。

以上便是MSF8条基本原则。在中国本地的项目开展中可能都不会完全做到,但是这些意见的内容可以记住并在以后的项目中间进行一些方面的应用,相信会给你的项目带来一些变化。

最后申明一下,上面的所有内容全部出自于《移山之道—VSTS软件开发指南》一书,如果大家对更多的内容感兴趣,可以去看看。

posted on 2008-01-14 13:08  罗嗦——.net学习之路  阅读(628)  评论(1编辑  收藏  举报