咱们在阅读了书上的内容的时候,大概了解了MSF是一套大型系统开发指南,它描述了如何用组队模型、过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上创建并开发分布式企业系统应用的参考。它的最大特性是商业化,并一直体如今项目的实施过程当中。所谓商业化意味着客户的商业利益。客户投入多少,获得多少回报,客户要用到哪些最新的技术,最后如何把项目计划(Project)变成产品(Product)直至产生效益,等等,这些都是MSF要考虑的问题。
MSF有8个基本原则,基于这些原则咱们又进一步加入了本身的理解
(1)推进信息共享与沟通(Foster open communications):第一个原则,用大白话来讲,就是全部信息都保留,并公开,讨论要包括全部涉及的角色,决定要公开,并告知全部人。固然,对牵涉到技术机密、安全性等信息要采起必要的保护措施。
(2)为共同的远景而工做(Work toward a shared vision):“共同的远景”是指产品的远景。咱们作一个产品,不论是应用软件、行业软件,仍是通用软件,要明确项目的目标是什么。这个目标必须是明确的,没有二义性,并且这个目标不是当前就能达到,必须是经过努力才能达到的。这个目标不是空泛的,它应该对项目成员天天的工做都有指导做用。天天你来上班,若是发现你作的事情对项目的远景没有帮助,你应该跟老板提出来。
(3)充分受权和信任(Empower team members):在一个高效的团队中,全部的成员都应该能获得充分的受权,他们有权力在本身的职权范围内按照他们本身的承诺完成任务,同时,他们也充分信任其余同事也能实现各自的承诺。相似地,团队的顾客(包括内部和外部的顾客)也认为团队能兑现承诺,并进行相应的规划。
充分受权的管理方式是MSF的核心观念之一。
(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):MSF在每个里程碑结束时都要作一个“里程碑回顾”,这个回顾没必要等到整个项目结束才作。这样作的好处是,你们对最近的成败都记忆犹新,能提供比较准确和全面的反馈;若是发现了错误,能够立刻研究解决办法,在下一个里程碑中经过实践来验证。另外,一些好的作法能够及时获得总结和推广。
在项目结束时,MSF推荐请团队之外的专家来主持召开“过后诸葛亮”会,这样的专家会比较系统地总结团队的成功经验和失败教训,同时也客观评价团队的一些特性和团队的开发过程管理,这样能促使团队成员以客观、向前看、解决问题的心态来参加“过后诸葛亮”会,避免主观臆断或相互指责。html