为共同的前景而工作
在国内的软件行业中,多数的一线技术人员往往都是技术领域的专家,但是同时也缺乏对项目大局观的把握。
他们知道如何正确的使用技术来完成自己当前的工作,却对项目的共同目标缺乏认识。这往往会导致软件项目在一致性上的不足,也会影响团队的协作。而项目的领导者通常是对团队成员的具体工作进行了布置和安排,但是忽略了对团队成员大局观的培养。
项目经理在对开发人员布置任务的时候,通常要讲“你只要把某某功能实现就可以”,“你的程序要达到一个很高的稳定性和效率”,但是至于实现该项功能在整个项目中的作用,程序的稳定性直接关系到项目的哪些模块的稳定程度,都是没有最终传达给开发人员。
这些都导致了团队成员缺乏对项目共同前景的了解。
共同的前景是MSF小组和过程模型里的一个关键组件,它强调团队成员理解项目目标的重要性。
当所有的参与者都理解了共同的前景并为之而工作的时候,他们才能清楚的认识到自己所做的工作在项目整个生命周期中的作用,进而调整自己的决定和工作重点。
MSF过程模型中特别强调要求有一个共同的前景存在,以便指导解决方案朝着最终的业务结果前进。
保持灵巧,预测变化
很多项目经理或是团队的领导者经常犯的一个错误就是过于理想化。
例如在做计划的时候将工作量估计的太过保守,殊不知团队中的成员有可能因为各种各样的其他原因不能在计划的时间中全部投入到项目中,或是最终用户的需求临时发生更改,所做的项目计划缺乏足够的灵活度,导致的结果就是项目计划抵御不了突然的外部条件变化,当这种变化真正发生时一切都已为时过晚。
传统的项目管理方法和“瀑布”式的解决方案交付过程模型会假定某一层次或项目的某一个进程的可预测性,在软件项目中这样的假设是不可行的。
常见的情况是,很多项目因为实现的预测没有成为现实而导致项目的进程受阻。软件开发项目本身就是一个创新的过程。
在这个过程中有很多的未知因素是不可预测的,解决方案必须顺应新的变化。在面对这种不确定性的时候要假装或者要求确定性(至少)将会是不现实的,或者(至多)是不正常的。
MSF主张软件项目的混乱有序的本质。它的一个基本假设是,连续的变化应该能够被预计到,而软件项目本身就是与这些变化分不开的。
例如,它认为项目的一些计划可能从一开始就很难说清,而且会随着项目进展会越来越难以预测。
MSF已经将其小组和过程模型设计成能够预计和管理变化的形式。MSF小组模型通过在关键决策中实现所有小组角色的参与从而加强了处理新挑战的灵巧性,因此确保了从所有重要的角度去探索和审查这些问题。
近几年来,产生了一些开发软件的专门方法,这些方法致力于将灵巧性的原理和为变化而做好准备的原理最大化。有了这一理念,MSF会鼓励在合适的地方应用这些方法。
质量投资
在国内一些规模不是很大的开发团队中,质量管理投资往往是没有被重视起来,原因可能是多方面的,项目时间紧张,人员紧张,调配不出更多的人员来进行专门的质量保证工作,但是其中最重要一条是团队的领导者对质量管理投资的重视程度不够。必要的质量投资会为项目的实施与正式上线之后节省很多成本,而且质量投资是随着项目的进展一直进行的。
MSF团队模型要求团队里的每一个人都要对质量负起职责,同时承担起测试过程管理的角色。测试角色会鼓励团队在项目期间进行必要的投资,以确保最终交付的软件产品或解决方案质量水平能够满足期望。在MSF过程模型里,由于项目交付内容是逐步生产和审查的,所以测试就成为了质量的一部分。该模型定义了关键里程碑,并提出了中间里程碑,供测试角色和相关角色使用团队建立的质量标准对解决方案进行量化的测试。在软件项目进行的过程总,不断的对这些里程碑进行检查可以确保对质量的不断关注,并为在必要的时候进行中途的修正提供机会,避免风险,提高项目最终成功率。
技术的提高让一个团队获得了更大的发展潜力。大多数团队都依靠技术本身来实现提高,而一个真正优秀的团队的闪光点不仅仅在于技术的领先,还在于怎么样将优秀的技术转化为生产力。
MSF框架有助于指导团队来实现这种转换,完成自我提高。通过使用MSF框架对软件项目管理进行重新定位和规划,软件开发团队不仅仅获得是生产力的提升,同样可以获得团队整体水平的提升,团队成员之间形成一种良性的协作习惯,在项目周期管理上获得共同的价值观,保障项目开发的顺利进行。这一切都会形成一种良性循环,周而复始,软件开发团队的整体水平积累了从量变到质变所需要的资本。
但是,在项目团队里使用MSF是一项要求相当高的计划,它需要团队领导的大局观和周密的规划,同样需要团队成员对MSF理论的深刻认识,同样需要一种机制来保证新的团队管理方式的推行顺畅。而MSF框架的使用也会为团队带来活力与战斗力,有利于团队精神的发扬和延续,不仅仅是项目管理水平的提升,更有利于团队知识管理框架的建立,积累宝贵的项目管理经验。
实际上,软件开发项目不仅仅是为了给最终用户交付一个可以运行的软件产品或是解决方案,更深层次的成功则是通过一个有一个项目的开发,团队能够得到知识积累和成熟工作模式的形成,这已经超出了项目管理的范畴,提升到软件企业管理的层次,只有企业内部的所有软件开发团队都朝这个方向努力,才能真正为企业带来知识积淀和持久的生命力。

图2:功能小组示例
MSF经验知识库主要内容
.企业结构设计方案—采用交互的方式,侧重于制定长期规划,同时也能完成短期目标。
.项目开发准则—包含组队模型和过程模型,用于建立高效的项目组,管理项目的生命周期。
.项目设计过程和多层结构的应用程序模型—用于支持设计复杂的分布式企业应用。
.企业信息基础设施的实施方法—使用组队模型和过程模型支持实现、操作和技术上的方案。
MSF三个关键的成功因素
.一种帮助提供技术决策指南的观点。
.一组反复跟踪、监控和管理项目及其进展的参考方法。
.一致的重用性保证在灵活的计算环境中有效的利用已有的知识和技能。