微软成功的实践经验
1、每天都保持出货状态
2、使用一对一的测试人员
3、建立特性小组
4、使用有缓冲的多个开发周期
5、建立固定的出货日期
6、增量式开发软件
7、分享经验教训
应用MSF
开发观念与原则
并不需要强制执行统一的过程,相反,每个产品组都需要通过吸收学习当前成功的实践经验来发展自己的合理的开发过程。
组成
企业结构原则:商业结构,应用结构,技术结构,信息结构
应用开发原则:组队模型,开发模型,风险管理
组件设计原则:概念设计,逻辑设计,物理设计
基础开发原则:组队模型,开发模型,风险管理
理解成熟度模型
软件五层结构成熟度模型
层次 |
焦点 |
关键过程区 |
5:优化级 |
连续的过程改进 |
缺陷防范
技术变动管理
过程变动管理
|
4:可管理级 |
产品与过程质量 |
定量过程管理
软件质量管理
|
3:确定级 |
被定义的工程过程 |
组织的程重点
组织过程定义
综合软件管理
软件产品工程
组间协调
培训程序
伙伴审查
|
2:可重复级 |
项目管理与承诺过程 |
软件需求管理
软件项目计划
软件项目跟踪与监管
软件转包合同管理
软件质量保证
软件配置管理 |
1:初始级
|
优秀个人 |
|
层次:软件开发过程的层次
层次1
未随开发对象的改变而选择合理的开发过程
无控制的承诺
进化至层次2
需求控制
日常项目活动管理
配置管理与质量保证
子合同活动管理
跟踪出合理的计划
进化至层次3
分享与裁剪组织的成功经验
使用软件过程工程师
定义开发过程与角色
进化至层次4
量化的过程管理
设定产品质量目标
进化至层次5
过程的质量控制让任何相关人员可以参与评价与改进过程
将成熟度模型分为基本的主题
获得连续的过程改进:PDCA循环
建立学习型组织
评价执行领导
分层管理
通过测量来改进
提供基础支持:培训等
文化转变
将有效的过程作为竞争优势
裁剪过程
使用解决方案开发原则观念
对等小组
小的小组
里程碑驱动的过程模型
个人承诺
信息交流交付物
风险驱动的进度表
版本化的发布
多个内部版本
迭代的分析与设计
在编码前进行规格描述
自下而上的估计
零缺陷
固定出货日期
MSF组队模型
MSF过程模型
MSF过程模型的活动与里程碑
主要里程碑 |
模型区间 |
关键活动 |
想象性描述与范围确定被核准 |
想象 |
建立项目范围与用户需求
|
项目计划被核准 |
计划 |
开发功能祥述与开发计划
草图设计
设定发布日期
|
完成所有交付物
首次使用 |
开发 |
完成设计
实现并测试代码
开发文档
开发培训
贝塔测试准备
|
发布 |
稳定 |
完成系统测试
完成首次展示准备 |
MSF内部发布里程碑
MSF过程模型中组队角色的责任
角色 |
想象被核准 |
项目计划被核准 |
开发完成 |
发布 |
产品管理 |
写作想象性描述文档 |
参与概念设计 |
管理客户期望
|
协调贝塔测试与产品发布 |
程序管理 |
开发设计目标
开发成功要素
开发风险矩阵
建立解决方案概念 |
草拟功能祥述
用商业术语祥述逻辑设计
为下一阶段建立计划与进度安排
设定出货日期 |
管理规格说明
跟踪项目
沟通项目状态
准备贝塔测试计划
协调可用性测试
|
跟踪项目状态
协调发布 进度 |
开发 |
考虑其他要素 |
技术评价
参与物理设计
开发概念试验或实现原型
估计任务并确定进度 |
开发产品原理,演示,和原始原型
创建内部版本
优化代码
支持可用性测试 |
缺陷修正
清理文书工作
(将规格说明与设计文档升级至产品当前的发布水平) |
用户教育 |
建立系统运行的策略
建立视觉设计的策略
建立用户训练的策略 |
评价系统运行的设计
计划和安排文档和在线交付工作 |
创建和回顾文档,图形和课程材料
参与可用性测试 |
交付
训练
管理执行系统的基线 |
测试 |
评价想象性描述与范围陈诉 |
评测设计
为下一阶段做测试计划与开发进度
评价下一阶段的测试计划与开发进度 |
执行测试并报告结果
校验臭虫修正
参与可用性测试
根据进度表检验团队的执行情况 |
贝塔测试
发布与最终就绪的发布候选
执行配置测试 |
后勤管理 |
识别分发关系 |
评测设计
为首次展示开发计划与进度
|
创建工作和支持的指导方针
创建最后的发布进度表 |
支持贝塔测试与首次展示
管理发布过程
|
所有成员 |
风险定义
|
更新风险清单 |
更新风险清单 |
更新风险清单 |
|