学习微软研发项目管理

橘子网 4,622

节前说起研发管理,我在群中问了一个问题:大家觉得世界上哪家公司的研发管理做的最牛?研发管理做的最牛是什么结果什么样子?这样的结果主要是因为研发管理做的牛而导致的吗?研发管理在其中起的关键价值是什么?

学习微软研发项目管理

这个问题抛出来,群中不少人都觉得微软的研发管理最牛。觉得windows那么复杂的功能、那么庞大的代码、那么多研发人员、那么长研发时间,居然能完成,而且质量还不错。这就是大家从外面看到的研发管理做的最牛的评价。

看来大家主要从以下四个关键要素来评价研发管理:功能复杂度和代码规模、研发人员规模和研发时间规模、进度完成度和功能完成度、质量。

我手头有四本关于微软研发的书:《微软的秘密:微软研发管理》、《观止:NT研发》、《追随智慧:微软亚洲研究院创建历程》、《软件开发的科学与艺术:微软产品设计/项目管理/编码开发/测试方法》。

我选择了《微软的秘密》。这本书作者:迈克尔·科索马罗,麻省理工斯隆学院的战略管理教授,从商业竞争从战略从管理角度高度来观察微软,他也有正规方法来快速梳理与洞察一家公司的核心。这本书文字风格很硬,就是一部商业案例研究书,不带任何个人主观感情判断。

这本书的结构也很有管理体系:

1、组织与管理

2、创造型人才的管理

6、学习型组织

3、市场竞争、产品策略、事实标准促进

4、产品定义与开发过程

5、编码与发布

其中有三章与人才、组织相关,另外三章讲解微软产品研发全过程。

第一章节、研发战略管理

一、盖茨的战略思考

盖茨每年会有两个思考周,他会与世隔绝思考一些关键战略级问题:

1、用户:怎样获得更多的用户?

2、员工协同:怎么使员工更团结?

3、未来变化:5年之后的产品世界会发生什么样的变化?

思考后,他会发出战略备忘录给其他领导层

盖茨说:我从来不会让别人来确定待开发产品的总体思路。对于一个软件公司的总裁来说,这是一个很好的控制公司的手段,也是我现在唯一能真正把握的东西。

而产品负责人只得在遵循其指示与满足用户需求两者之间努力寻求平衡。这便经常造成矛盾冲突。

二、年度产品复查与计划会议

盖茨会亲自主持每年4月和10月的产品复查与计划会议。制定大批量生产新产品的时间表并拟定预算的日程安排。10月份的程序复查重点在于制定3年生产计划,每个部门都会派关键产品经理、开发经理、测试经理、营销经理详细阐明计划上市的产品及其与其他产品之间的相关关系。

会议结束后,微软的营销人员会进行销售预测,经理们对预测的销售额和费用支付预算进行分析,看其是否能达到公司的利润目标。盖茨与其他领导人根据这个分析,决定下一个财政年度所要雇佣的员工数目。

其实产品复查的唯一作用就是让头儿们确信,大家众志成城,行动一致。其实高级管理人员起先早就开过一个预备会议,他们都事先知道问题所在。

第二章节、组织管理

一、组织管理的原则

1、一流人物、小型Team:我们一开始就采用最先进的管理办法,那就是聘请一批了不起的人物,并成立小型Team。经理人员既负责创建产品又负责进行技术决策。迅速在技术和业务之间做出取舍。

2、一块工作:当你急需要某人帮助时,你可以立即碰头当面请教

3、架构:我们专门精心设计产品架构以及共享组件,为了使Team之间相互依赖性降到最低限度,而且还能互相关联

4、单一开发语言:我们要求一块工作的人员使用单一开发语言,并且多人了解产品细节,这样让代码阅读、技术沟通、人员快速补位很高效。

二、组织变革关键里程碑

1、1984年,在开发组之外,又建立了独立于开发团队的测试组、产品管理、营销管理

2、1988年,按产品划分业务单位

3、1989年,强调开发员和测试员要固化留在自己所属小组,不能调来调去,至少要超过一个产品周期

4、1992年,由麦克梅普尔斯全权负责所有产品开发

5、1993年,营销脱离产品研发以打通研发部门墙;实现技术组件共享,以打通研发部门墙

三、麦克梅普尔斯全权负责所有产品开发后做了哪些关键举措

麦克梅普尔斯来自IBM,1995年53岁。他把IBM思想基本准则引入微软。

1、人事管理:建立一整套评估、监督、奖励、晋升员工的方法。戴夫穆尔花了很多时间来定义D10级别和D11级别开发员之间的区别,以及他们如何提升

2、培养中层经理。利用休假会、经理会议这种形式来一起聊天集思广益,互相切磋管理问题和管理经验,这样来培养中层经理

3、继续设立专项职能,如开发、测试,但是必须保证让员工自由流动以获得更丰富的工作经验

4、定义框架过程管理方法:人们自己制定时间计划估算表、留意外缓冲时间、不要一开始就固化完成所有产品设计说明书以防变化、采取里程碑式管理、将用户问题置于技术和管理至上、将能力不同的员工进行合理配置

四、1995年微软员工数量及配比结构

1、研究:300

2、产品经理:400

3、软件开发:1850+海外开发人员400

4、软件测试:1850

5、支持服务:2100

6、用户培训:600

7、市场销售:4000

8、其他及行政:2200

像office、Windows、NT产品团队,都各自有300-400名员工。

1995年微软主要费用结构:销售及营销费用:33%;研发人员开支:13%;管理费用:3%

第三章节、创造型人才的管理

一、招聘

面试看中新员工的四种素质

1、雄心勃勃、斗志,愿意为长远的经济利益长时间超负荷劳动

2、智商

3、专业技术知识

4、商业判断

答案并不重要,而他们分析问题的方法却很被看重。他们具有独立思考问题的能力。

一般微软仅雇佣参加面试人员的2%-3%。

二、培训新员工

1、产品经理:为期三周的选修培训项目、成功经验分享录像、不定期的午餐会、师傅制工作指导问答与成果检查

2、开发:提供了几个为时2天的实习班,培训他们开发过程、编码规范、产品、工具、类库各种专题。但经理们页没有使这些课程变成强制性的。他们可能吧新雇员介绍给愿意当指导教师的高级开发员。在许多组里当指导教师是一个正式任务,一个人当9个月。

微软规定,新员工不得超过开发员的50%。

3、测试:微软的每个测试人员都必须学会一门开发语言。

三、晋升

1、晋升途径:新雇员、指导教师、Leader、经理

2、晋升标准:影响个人、影响项目、影响部门、影响跨部门、影响整个公司、影响业界

穆尔估计开发员中50%-60%是10级(初级)和11级(中级),20%是高级,15%是资深,5%-8%是专家级。

开发人员在内部流动的必要条件是,在一个项目组里至少工作2个版本或者大约3年。

第四章节、开发过程管理

一、进度管理

靠个人负责和固定项目资源实施控制

1、开发员做出他们自己的进度估计

2、每月,每人任务细化到天

3、固定的出品发布日,并宣布出品日。倒逼管理:利用好资源、安排好计划

二、里程碑式管理方法

将大项目分成3-4个里程碑式重要阶段;每个阶段之间有缓冲时间

开发人员必须按照反推法从出品日回溯到中间阶段。

一般6-12个月的开发时间,包含3-4个重要的里程碑式产品版本。2-4个月的开发缓冲时间,分配到每个里程碑式的产品版本中

3-8个月的稳定化期,包括测试与缓冲时间。以及有6个星期为最后稳定发布版本和顾客支持做准备

三、CEO盖茨怎么看重点项目

盖茨每两周会收到一份全微软的研发项目进度表,大约有上百个项目。

盖茨对项目的重点关注:

1、进度:项目的进度延迟

2、功能:特性的重大变更

3、功能:新产品新特性是否能引起轰动

4、质量:是否与其他微软产品兼容

5、质量:BUG数目

6、团队合作:技术组件共享

7、团队合作:Team间合作

第五章节、开发与发布

一、产品定义

1、尽早进入还在不断演变的大规模市场;定期淘汰旧产品

2、充分发挥新产品和现有产品的关联关系,形成关联优势

3、运用用户特征、场景特征的想象性描述、对特性的概要说明;根据用户行为确定产品特性及其优先顺序

4、不会在项目一开始就设计完并冻结所有特性,随变化而变化

5、消费者反馈:一个范围广泛的消费者信息反馈圈

二、开发

1、建立模块化架构、水平分层的设计架构;并使项目结构能反映产品结构

2、代码复查:高级开发员复查新人或从事产品的一个新领域的人的代码,以了解他们的素质以及帮助他们学习

3、吃自己狗食:我们在里程碑内测版本发布时就开始给我们开发人员使用,让他们知道系统的问题

三、测试

1、高度自动化的快速测试。由测试人员开发工具和编写数据编写运行脚本,把基本输入测试、常见操作流程都自动化测试一遍

2、测试与开发结对,紧密工作在一起

3、每日构建:每个Team平行工作,但每日构建每日测试

4、里程碑:使用度量数据来决定重大的阶段版本和产品的发布

第六章节、学习型组织

一、持续改进的有效方法

1、问题事后分析报告、项目复盘总结会、高层年度闭门会

2、专业职能午餐会。对不同部门的相同职能的一线经理或Leader们聚集在一起讨论专业问题和专业改进。每周一次,每次一个小时。不过一般15%的人来参与。一个产品团队也会自己进行午餐会,一起讨论一起建议一起分享。

3、自食其果吃自己的狗食是持续改进的好方法。自己不痛就不会主动改进。

每个产品研发部门都需要向产品支持服务部门支付相应的服务费

二、团队共享

1、组织支撑:专门的共享功能小组

2、技术支撑:DLL API、COM技术

3、管理支撑:内部源代码开放可读

上一篇:

下一篇:

相关阅读

分享