1
 软件工程
1.4.3.7 2.3.7 微软过程

2.3.7 微软过程

1.什么是微软过程

作为世界上最成功的软件企业之一,Microsoft(微软)不但拥有独特而开放的企业文化,而且在软件研发过程和研发人员管理方面积累了相当丰富的理论和实践经验。Microsoft解决方案框架(Microsoft Solution Framework,MSF)是一种成熟的、系统的技术项目方法,它基于一套制定好的原理、模型、准则、概念、指南,以及来自Microsoft的经过检验的做法。

MSF于1994年首次引入,当时还是一个来自Microsoft的产品开发努力和Microsoft咨询服务中心参与的最佳做法的松散集合。从那时起,MSF已经有了发展,这来自Microsoft产品组、Microsoft服务中心、Microsoft的内部操作和技术组(OTG)、Microsoft合作伙伴和用户成功的、真实的最佳做法。MSF元素基于行业著名的最佳做法,并融合了Microsoft在高技术行业超过25年的经验。这些元素都被设计用于共同工作,以帮助Microsoft的顾问、合作伙伴和用户来解决技术生命周期过程中碰到的重大挑战。

MSF使用这套经过内部和外部检验的真实最佳做法,并对这些做法进行简化、整理和检查,以便合作伙伴和用户理解和采用。现在已经成为一个可靠和成熟框架的MSF是由Microsoft公司中一个专门的产品小组管理和开发的,它同时还得到了国际顾问理事会该方面专家的指导和评论。MSF还在继续吸收Microsoft当前的经验。Microsoft各种业务线里的其他小组也在日常工作中在内部创造、寻找和共享最佳做法和工具。从这些内部项目工作所学到的知识会通过MSF被整理和分发到Microsoft之外(的组织里)。

1)MSF的特点

MSF是一个框架结构的经验知识库,其特点如下。

(1)企业结构设计方案:采用交互的方式,侧重于制订长期规划,同时也能完成短期目标。

(2)项目开发准则:包括组队模型和过程模型,用于建立高效的项目组,管理项目组的生存周期。

(3)应用程序模型:用于支持设计复杂的分布式企业应用。

(4)企业信息基础设施的实施方法:使用组队模型和过程模型支持实现、操作和技术上的方案。

2)微软过程的过程原则

(1)制订计划时兼顾未来的不确定因素。

(2)通过有效的风险管理减少不确定因素的影响。

(3)经常生成过渡版本并进行快速测试来提高产品的稳定性及可预测性。

(4)快速循环、递进的开发过程。

(5)从产品特性和成本控制出发创造性地工作。

(6)创建确定的进度表。

(7)使用小型项目组并发完成工作,并设置多个同步点。

(8)将大型项目分解成多个可管理的单元,以便更快地发布产品。

(9)用户产品的前景目标和概要说明指导项目开发工作—先基线化,后冻结。

(10)避免产品走形。

(11)使用原型验证概念,进行开发前的测试。

(12)零缺陷观念。

(13)非责难式的里程碑评审会。

2.微软过程的生存周期

微软过程的每个生存周期发布一个递进的软件版本,各生存周期持续、快速地循环。每个生存周期分为5个阶段:构想阶段(Envisioning Phase)、计划阶段(Planning Phase)、开发阶段(Developing Phase)、稳定阶段(Stabilizing Phase)、发布阶段(Deploying Phase)。每个阶段均涉及产品管理、程序管理、开发、测试、发布各角色及其活动,各阶段结束于一个重要里程碑,阶段之间具有缓冲时间。微软过程的生存周期如图2-10所示。

img14

图2-10 微软过程的生存周期

1)构想阶段

该阶段的目标是创建一个关于项目的目标、限定条件和解决方案的架构。团队的工作重点在于:确定业务问题和机会、确定所需的团队技能、收集初始需求、创建解决问题的方法、确定目标、假设和限定条件及建立配置与变更管理。交付成果包括远景/范围文档、项目结构文档和初始风险评估文档。

2)计划阶段

该阶段的目标是创建解决方案的体系结构和设计方案、项目计划和进度表。团队的工作重点在于:尽可能早地发现尽可能多的问题及了解项目何时收集到足够的信息以向前推进。交付成果包括功能规格说明书、主项目计划和主项目进度表。

3)开发阶段

该阶段的目标是完成功能规格说明书中所描述的功能、组件和其他要素。团队的主要工作包括编写代码、开发基础架构、创建培训课程和文档,以及开发市场和销售渠道。交付成果包括解决方案代码、构造版本、培训材料、文档(包括部署过程、运营过程、技术支持、疑难解答等文档)、营销材料及更新的主项目计划、进度表和风险文档。

4)稳定阶段

该阶段的目标是提高解决方案的质量,满足发布到生产环境的质量标准。团队的工作重点在于:提高解决方案的质量、解决准备发布时遇到的突出问题、实现从构造功能到提高质量的转变、使解决方案稳定运行及准备发布。交付成果包括试运行评审、发布版本(包括源代码、可执行文件、脚本、安装文档、最终用户帮助、培训材料、运营文档、发布说明等)、测试和缺陷报告及项目文档。

5)发布阶段

该阶段的目标是把解决方案实施到生产环境之中。团队的工作重点在于:促进解决方案从项目团队到运营团队的顺利过渡,确保用户认可项目的完成。交付成果包括运营及支持信息系统、所有版本的文档、装载设置、配置、脚本和代码及项目收尾报告。

相对于Rational统一过程,微软过程可视为Rational统一过程的一个精简配置版本。整个过程由若干生命周期持续递进循环,每个生命周期由若干阶段组成,且各阶段之间扩充具有缓冲时间,对应关系为:先启阶段完成构想,精华阶段完成计划,构建阶段完成开发和稳定,产品化阶段完成发布。每个阶段精简为一次迭代完成,每次迭代经历其中若干个工作流程,具体为:先启阶段中一次迭代主要经历的工作流程为业务建模、需求、项目管理;精华阶段中一次迭代主要经历的工作流程为业务建模、需求、分析设计、项目管理;构建阶段中一次迭代主要经历的工作流程为需求、分析设计、实现、测试;产品化阶段中一次迭代主要经历的工作流程为部署、配置变更管理和项目管理。