流程和方法论

 

随着技术的发展,现在的软件开发采用的技术越来越复杂,团队的规模越来越大,项目的周期也越来越长,因此为了取得项目的成功,必须有科学的流程和方法论的指导――流程定义了应该由谁、在什么时候、从事什么样的开发活动、产生什么样的开发结果,以完成整个项目的开发目标 。如果缺少必要的流程指导,可能会造成以下问题:

无法明确团队中不同角色的权力和责任;

不同团队,不同项目采用不同的工作方式,不利于沟通和协作;

降低项目的一致性和可预测性;

无法总结和积累历史项目的经验和教训。

为了解决上述问题,软件社区不断进行着软件流程和方法论的研究,然而对于一些传统的流程模型,又出现了新的问题:

内容众多,无法有效执行;

流程培训费用高昂,且方法难于掌握;

流程指导和工具缺乏良好的集成;

流程内容无法有效更新,经常导致工具帮助、模板和指导之间不匹配;

无法定制自己的流程。

对于软件专业人员而言,流程指导最重要的要素就是,能够在正确的时间、提供与工具集成在一起的正确指导。为了达到这个目的,微软很早就开始了流程和方法论方面的研究。1994年,作为 Microsoft 产品开发成果和 Microsoft 咨询服务工作的最佳做法的松散集合,微软解决方案框架(MSFMicrosoft Solution Framework)被首次引入,从那时起,MSF 就植根于 Microsoft 内部的成功且有效的最佳实践而不断发展,这些内部的来源包括Microsoft 开发团队、Patterns & Practices 组、Trustworthy ComputingMicrosoft Operations Framework Engineering Excellence 组。而来自外部的经验和指导在 Microsoft 开发 MSF 的过程中也起到了重要作用。MSF 合作伙伴委员会 (MSF Partner Council) 的加入对确定 MSF 的方向起到了关键作用,MSF 合作伙伴委员会由全球服务集成商(例如,AccentureAvanadeCapgeminiEDSFjuitsuInfosys Unisys)组成。另外,其他外部来源(例如, BorlandMerrill LynchThe Agile Alliance The Software Engineering Institute)也影响着 MSF 的未来。MSF汇聚了微软产品开发部门、微软咨询服务部门和微软合作伙伴以及客户二十多年来的软件开发经验,是一系列的软件开发流程、原则和实践的集合,是被证实的流程指导、源于实践的架构指南和解决方案加速器。MSF 关注的是对人与流程的管理,因此随着技术的发展以及软件开发团队的需要和工作模式的不断变化,MSF本身也在不断的更新和扩展,以便能够及时反应技术发展的新趋势。作为一个健壮的和成熟的框架,MSF现在由Microsoft内部的专门产品团队进行管理和开发,并受到国际顾问委员会主题专家的指导和评审。

目前MSF的最新版本是随同VS 2005一起发布的MSF4版,并提供了两种预定义的流程:MSF for Agile Software Development MSF for CMMI Process Improvement

MSF 的目标就是为软件专业人员提供高效的、集成的和可扩展的流程指导:

高效:MSF 的一个关键目标就是提高人们的工作效率。MSF 自定义的流水线式的流程指导表示方式,提供了对高效性的有效支持。利用清单和指导(而不是详细的内容),用户可以迅速确定完成一项任务或活动的需求。

集成:通过与整套开发工具的无缝集成、以及帮助信息和 MSF 内容的集成,在工具内即可提供解决方案和指导信息。所有这些内容都可方便地在 MSDN进行更新。另外,还可以对MSF内容本身进行组织,以实现轻松维护。

可扩展:MSF本身是一个用于描述软件生命周期的元模型,MSF 中的流程指导和帮助信息是可以完全重新定义的,用户可以选择灵活流程或正式流程作为基础重新定义自己的流程,以适应自己的需求,并为以后的开发项目提供指导。

 

MSF 平滑集成于 Team System 中,支持具备不断学习和改进特点的快速迭代式开发。产品定义、开发以及测试在重叠的迭代中进行,使项目以增量方式完成。随着项目临近发布,不同的迭代具有不同的重点。小型的迭代使您能够减少估计中的失误,并就项目计划的精确性提供快速反馈。每一次迭代应产生整个系统的一个稳定部分。MSF中的周期和迭代如下图所示:

MSF for CMMI Process Improvement中,为了实现对大型项目的有效治理,MSF 为项目生命周期定义了五个跟踪,这些跟踪封装了多组工作流和活动。每个跟踪都以监管检查点结束。每个检查点都提供一个机会来授权针对项目继续工作或者取消或挂起项目。每个跟踪的检查点都询问一个或一组不同的问题。跟踪内工作的目标在于,提供有关监管问题的答案,并返回这些答案以及通过软件工程组织的日常操作收集的透明项目数据。MSF 监管模型在设计上可承受风险并便于项目流动。当所需的输入可用时跟踪开始,即,跟踪是由事件驱动的。几个跟踪中的工作可以并行。每个跟踪结束时的监管检查点都提供一个机会来关闭项目并了解后续跟踪中的某些工作是否已在进行中。对照项目在正式的监管框架内向前推动并且灵活而高效的想法来平衡浪费的风险。

而对于团队的组织模式,MSF则推荐采用对等团队的模型,MSF 团队模型的基本原则是:

职责明确、责任共享和交流开放的对等团队。每一个角色对整体解决方案质量的某一特定部分负责。

对所有关键角色组的倡议,成功的软件项目必须以这些角色组为代表。每个观察角度都应该予以代表,从而提供检查及矫正以预防疏忽的错误和偏颇的决定。

对特定项目所需尺度的灵活适应。可以将角色组合并为小的工作组,或为适应大型项目,将角色组细化为多个团队。

角色执行活动,这些活动以工作流分组。活动可产生某些工作产品,也可能需要工作产品处于某些状态之后才可加以执行。 工作产品是文档、电子表格、项目计划、源代码以及其他明确的活动输出。对于每个不同的角色在生命周期不同阶段从事的活动,MSF都定义了详细的流程和指导:

为了实现对项目的跟踪和度量,MSF 过程定义了七个工作项来分配和跟踪工作:

任务

更改请求

风险

评审

要求

Bug

问题

 

对于不同的工作项,MSF也定义了不同的工作流进行相应的管理,例如对于缺陷的处理流程在MSF for CMMI Process Improvement中的工作流就如下图所示:

 

有了 MSF,流程就不仅仅是文档。客户在项目开始时选择流程,则同时选择了工作流和工作产品,而这些将驱动系统的行为方式。通过将流程集成到团队成员日常使用的工具中,MSF 降低了采用流程的门槛,从而可以自动收集复合的项目衡量标准,降低手动生成报告的开销。

MSF 使用方法模板来定义各个项目所遵循的流程,因为没有一个通用的流程对所有组织甚至一个组织中的所有项目都有效。为了解决这个问题,MSF 提供了一个灵活的工具集,它可以使用既灵活又正式的流程。Microsoft 的合作伙伴则提供他们自己的产品化的方法模板,客户也可以创建自己的方法模板。MSF的流程扩展性允许客户创建自定义的工作项类型、签入策略、自定义报告和项目管理模板等流程要素。

通过在正确的时间为正确的人提供正确的流程,MSF 为软件开发提供了更好的流程指导。基于来自 Microsoft 内部和外部的成功、有效的最佳实践,MSF 避免了以前试图使软件开发流程正式化的缺陷,并且融入了成功的要素。MSF为高效、集成和可扩展的流程指导提供了一个框架,同时也提供了一个可以使用既灵活流程或正式流程的灵活工具集。另外,MSF能够与 Microsoft Operations Framework (MOF) 相互配合,从而为操作环境提供了平稳过渡能力,而这正是长期项目成功的要求。

转载于:https://www.cnblogs.com/BrianTest/archive/2009/03/18/1415569.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值