(该文章是在wiki上抽空写成,并在不断补充中,可以点击该文章的wiki链接)
【序】
这次参加了微软MDA课程,是2004年7月16日-18日在上海光大会展中心进行的(具体信息参看这里 )。
下面简要记录了培训的一些内容。
【VIP致词*徐汕(微软中国研发中心副经理)】
>人分三类:
一类人:感受变化,引导变化;
二类人:看到变化,跟随变化;
三类人:无法及时跟随变化而变。
>软件人才是金字塔形结构的,那么目前中国软件业最缺乏的就是处于中间的优秀的项目经理、架构师。
【微软开发流程揭密*徐汕(微软中国研发中心副经理)】
>开发的五个阶段
计划(Plan)-设计(Design)-执行(Implement)-稳定(Stabilize)-发行(Release)
>微软是做零售产品的,所以开发流程是以此为目的的,故目标尽可能少的update。
>微软的特色主要体现在Plan和Stabilize。
>计划阶段
1)制定产品的愿景(Product Vision)规划:产品要达到的目的、长期的战略。
通过内外结合的方式进行:
- 只着眼内部分析,容易成为“闭门造车”,跟不上或过于超前市场变化;只看到外部因素,容易将项目做成“系统集成”。
- 在微软,还有一种有效的方法就是通过“脑力激荡”来辅助远景规划。
2)用户需求总结
- 软件所面向的市场及用户特征
- 用户所面临的问题和困难
- 用户的使用方案
- 用户所需要的功能和性能的要求
- 运行环境、系统、及整合要求
- 维护和使用培训要求
- 其它需求
3)功能需求总结
- 功能需求总结受到多方面因素影响,比如性能需求(如何量化,国内做的比较少,往往是产品完成后再作测试)、质量需求(比如手机产品的200小时无故障指标等)。
- 同时好的产品应该有自己的思想。
4)制定项目范围
- 制定所需功能的开发优先顺序:三级优先权P1、P2、P3;
- 制定后续版本的计划
5)确定开发资源
- 确定所需开发团队
- 总结所需开发技术和设备
计划完成时的衡量标准:
- 项目远景目标总结 (Vision Statement):Key objective, success criteria, branding, etc.
- 市场机会分析总结书 (Mkt. Opp. Document)
- 市场需求总结书 (Mkt. Req. Document)
- 开发资源评估总结书 (Dev. Res. Summary):设计、开发、测试、文档、可用性、地方化、售后服务、客户培训、部署、运行维护
>设计阶段
1)设计的范围
包括功能和性能设计、构架设计、开发执行设计、使用界面设计、系统整合设计、产品安装部署设计、用户教育设计
2)详细的功能设计
- 以使用方案和需求总结为基础
- 每个功能设计对照使用方案证实合理性
3)设计规范书总结功能设计
- 具体的功能设计
- 详细的使用界面的设计
4)开发执行和构架设计
- 软件的组件构架和整合的设计
5)从使用方案到功能设计的三步法
使用方案(对客户产品使用产品的方法和过程的具体描述)->功能需求(每一个使用方法中解决具体问题所需要的功能)->功能设计(每一个具体的功能和性能特点的设计)
设计阶段完成的衡量标准
- 制定产品的市场定位 (Branding strategy)
- 设计规范书 (Design Spec)
- ?开发构架设计 (Architecture Design)
- ?测试计划
- 使用说明书及客户教育文档计划
- 其它开发计划
- ?开发时间表
其中开发时间是很难评估的,可以通过计划分解、如果由于某些原因造成计划延时一定要提前向市场人员通报具体延期计划及原因。
>执行阶段
1)具体的开发执行
- 具体功能组件的程序编写
- 系统的构架开发和整合
- 使用界面元素的设计、证实、确定
- 功能组件的测试方案的设计编写
- 用户文档的撰写
- 产品市场及营销计划的制定
- 其它系统的部署及准备
执行阶段完成的衡量标准
- 功能程序编写按里程碑完成
- 使用界面的设计及验证
- 测试计划和方案完成、可以展开
- 用户使用文档的内容确定
- 市场及营销计划确定
- 系统安置和部署计划确定
- 售后服务系统计划完成
>稳定阶段
1)软件整体质量趋向稳定
- 质量保证
- 通过各种测试验证软件的功能和性能符合预先定下的标准
- 变化管理的执行
- 严格控制对程序源码的改动
- 产品发行的后勤工作的准备
- 通过发行试用版本来提早发现问题(试用版软件往往会收集用户的一些详细使用信息)
稳定阶段的衡量标准
- 功能测试全部完成、任何源码改动通过回归测试
- 发行前完成全程测试、程序到达零缺陷
- 试行版中发现的所有关键缺陷都完成纠错和订正
- 使用说明内容完成最后校验
- 开发团队用“作战室会议”进行变化管理
>发行阶段
1)软件发行
- 最后的纠错和测试
- 产品的发行黄金版本通过发行媒体发行
- CD, DVD, Web, etc.
- 系统软件进行最后的部署
- 安置和系统的整合试车
比如通过checksum来保证发行的所有文件、日期、大小等准确无误。
发行阶段完成的衡量标准
- 使用说明书提交印刷或电子发行
- 发行后勤准备完毕
- 市场营销及发布活动准备就绪
- 软件产品黄金版本送交发行(RTM/RTW)
- 软件系统发行通过整合的试车及验证
- 售后服务及用户支持系统进入运行