微软研发方法 ( 上 ) 团队 = 软件------------------------------------------------------------------------一个伟大的软件后面都有一个伟大的故事,一个伟大的软件后面也有一个伟大的方法。— 题记当 Windows 2000经过胎死腹中的危机,终于如凤凰涅般再生时,微软决定给整个产品组成员拍摄一张合影,以纪念这个历史时刻的诞生。到了拍摄那一天,微软人发现,他们只有把摄像师安排在飞机上才能干好这件事儿—— 因为 Windows 2000产品组整整有5000人!“团队 = 软件 ”,微软软件开发管理理论的基础可以这样一个恒等式来表达,软件可以忠实地展现创造它的团队的一切优点和缺点。软件业中没有两个完全相同的失败,但最常见的莫过于新版本跟不上对手的脚步,微软开发模式的精髓之一,便是通过产品组团队中每个成员对职责的承诺来控制产品的开发过程,保证新产品准时地、经常地被推出。这正是软件业最大的金科玉律!开发周期四阶段微软的产品开发遵循一个完整的开发周期,这个产品开发周期被分为四个阶段:规划阶段、开发阶段、测试阶段(也叫稳定化阶段)和产品发送/ 出品阶段(参见图1)。微软中国研发中心中文技术部经理李东女士告诉记者,在产品的规划阶段要做三件事:拟定基于客户数据的目标描述、 基于目标描述的规格/ 特性说明和基于规格说明和特性优先级制定的进度表。规划阶段中最重要的事情是 让整个产品组的成员对共同的目标形成共同的认同。一座伟大建筑的诞生往往只缘于一位伟大建筑师的不朽贡献,但一个伟大软件的设计却需要成百上千人的智力创造。第二个阶段是开发阶段,这个阶段也叫主要里程碑阶段。微软的任何一个产品组在这个阶段都将根据特性将项目划分成若干个子项目,每一个子项目的完成就对应于一个里程碑。在李东的经验中,一般微软中国研发中心会在这个阶段把产品划分成2 ~3 个里程碑。 Milestone1(第一个里程碑,简写为M1 )内要完成的是核心的特性和功能,或今后需被共享的部件。那些将对产品稳定性形成很大影响的功能,也应该被放到Milestone1。Milestone2可以放比milestone1次要一些、但也是比较重要的特性和功能。Milestone3放的特性和功能对核心特性和功能的依赖性不大,有的甚至可能根据市场的变化重新评估和取舍。总体来说,应根据特性和功能在结构上的重要性来决定它应当被放在M1 、 M2 或 M3 来做。在每一个子项目(里程碑)内,进度表应当具体到每一个开发人员,而且进度表中应当...