微软过程适用于商业环境下有限资源和有限时间约束的项目开发,它综合了Rational 统一过程和敏捷过程的许多优点,是对众多成功项目的开发经验的正确总结。
作为世界上最大的同时也是最成功的软件公司之一,微软公司拥有自己独特的软件开发过程,几十年的实践证明微软过程是非常成功和行之有效地。下面简要介绍微软过程。
一、微软过程原则
1、制定计划时兼顾未来的不确定因素
2、通过有效的风险管理减少不确定因素的影响
3、经常生成过渡版本进行快速测试来提高产品的稳定性及可预测性
4、快速循环、递进的开发过程
5、从产品特性和成本控制出发创造性地工作
6、创建确定的项目进度表
7、使用小型项目组并发完成工作,并设置多个同步点
8、将大型项目分解成多个可管理的单元,以便更快地发布产品
9、用产品的前景目标和概要说明指导项目开发工作--先基线、后冻结
10、避免产品走形
11、使用原型验证概念,进行开发前的测试
12、零缺陷观念
13、非责难式的里程碑评审会,评审会的目的是改进工作,切忌相互指责。
二、微软过程的组队原则
1、小型的、多元的项目组
2、角色依赖和职责共享
3、专深的技术水平和业务技能
4、以产品发布为中心
5、明确的目标
6、客户的主动参与
7、分享产品的前景
8、所有人都参与设计
9、认真从过去的项目中吸取经验以及失败的教训
10、共同管理,共同决策
11、项目组成员在同一办公地点
12、大型项目组也像小型项目组一样运转
三、微软成功的实践经验
1、每天都保持出货状态
2、使用一对一的测试人员
3、建立特性小组
4、使用有缓冲的多个开发周期
5、建立固定的出货日期
6、增量式开发软件
7、分享经验教训
四、微软软件生命周期模型
微软过程把软件生命周期划分为五个阶段,下面简述各个阶段的工作内容。
1、规划阶段 根据从市场上获得的用户情况和客户信息,在调查和统计分析的基础上完成下述工作:
.确定产品目标;
.获取竞争对手的信息;
.完成对客户和市场的调研分析;
.确定新版本产品的主要特性;
.相对于上一个版本,新版本应该解决的问题和需要增加的功能。
2、设计阶段 这个阶段的主要工作内容如下:
.编写系统特性规格说明书,描述软件特性、系统结构、各个构件的相关性及接口标准;
.简明扼要描述整个系统的设计方案,绘制系统结构图,确定风险因素,分析系统的可重用性;
.划分系统的子系统,并给出各个子系统的规格说明;
.制定开发计划。
3、开发阶段 这个阶段包括编写程序代码和文档。
4、稳定阶段 完成对产品的测试和调试,测试的重点是产品在真实环境下的使用和操作。
5、发布阶段 项目组发布产品或解决方案,稳定发布过程,并移交用户,以获得最终用户的认可。
总之,在开发软件的实践中,应该把微软过程、Rational 统一过程和敏捷过程结合起来,取长补短,针对不同项目的具体情况定制。
参考来源:
清华大学 《软件工程》 张海潘
http://www.ad0.cn/netfetch/read.php/863.htm