阿朱出品 必属精品,阿朱出品 必属精品,阿朱出品 必属精品,重要的话说三遍。
我们上一篇研究了微软研发管理的大框架,但需要用一个真实的大型研发案例来真实感受,看看微软在真实情况下是怎么真实应用这些管理方法的。
为什么NT的研发管理值得研究:
1、计划/进度/预算:NT研发时间够长:5年,计划进度严重超期。奇迹的是该项目没有被终止
2、功能复杂度:NT够复杂:代码百万行
3、团队复杂度:最多250人参加
4、质量:质量最终稳定,但第一版又慢又占磁盘。当年内存和磁盘都很贵
5、创新:NT实现了很多创新的技术:可移植芯片、可兼容应用、Client-server内核模式、掉电不丢失的文件系统、高级别的安全保护
第一章节、领军人
一、卡特勒
1、强悍领军人:
篮球队副队长、橄榄球四分卫。在场上喊叫和指挥自己的队友,传球技术很棒,而且奔跑速度很快。
在比赛中间休息时,卡特勒会让大家聚在一起,听他排兵布阵
他拉拢其他选手跟着他,他们都很拥护他
卡特勒总是通过模范带头来领导别人
对可能干扰他的任何人和事,他不仅置之不理,而且还会对其进行攻击和诋毁
2、关键成长史
29岁,他进入DEC,很快成为明星程序员。
贵人:贝尔是DEC最高技术官,他非常赏识并支持卡特勒。带上你想要的任何人,去你想去的任何地方,做任何你想做的事,而DEC会支付所有费用。
DEC最牛的小型机:VAX,贝尔授权卡特勒为之编写操作系统VMS。这是当时最成功的小型机和大型操作系统。这个经验非常关键。能做大型操作系统的人,世界上就那么几个。
在VMS成功之后,贝尔还支持了卡特勒研发下一代更牛的操作系统Prism。能做两代操作系统,这样的人,世界上绝无仅有了。
二、微软的机遇
1988年,微软在个人PC上操作系统占有率很高,但只是DOS。Windows不死不活。
微软想进入服务器操作系统,但没有经验。
1987年,贝尔失望离开了DEC。失去贵人庇护的卡特勒被终止项目。
盖茨亲自谈卡特勒,表示微软很需要大型操作系统,是必须要做到的,而且微软有这个财力做到。
并且给卡特勒大量股权,同意他带着DEC团队来,并且承诺不多干涉他的工作。
那时候卡特勒已经46岁,有丰富的大型操作系统设计、开发、研发管理的经验,也有创新尝试挫折的经验。没有挫折的话,可能卡特勒还学不会妥协平衡。他现在的状态刚刚好。
第二章节、团队融合
一、大原则
盖茨让COO鲍尔默做卡特勒的融入微软引导员,让CTO麦尔沃德直接管理卡特勒,不过日常细节,由总负责微软操作系统的保罗马里茨和卡特勒对接。
麦尔沃德要求卡特勒对多种芯片可移植,这个卡特勒答应了。介于当时微软情况,麦尔沃德要求兼容OS/2,卡特勒装了糊涂。
马里茨做了一个巧妙分工,卡特勒团队负责操作系统内核,消费者看得见的部分由另外的团队负责
二、探测棋子
盖茨先派了微软最牛的程序员伍德到卡特勒带来的DEC团队中。先看看如果最牛的程序员都不能和DEC团队合作,那么说明不适合微软。所幸的事,虽然卡特勒和伍德有过一些冲突,但双方最终还是找到了互相的尺度,适应的还不错
三、团队初融合
伍德只是一个人。但是微软加入NT团队的图形团队、网络团队却和卡特勒的DEC团队起了最大冲突。鲁冰作为微软首席网络架构师,卡特勒却觉得烂的要命,卡特勒团队要自己新做。而图形团队,卡特勒最钟意字符操控大型服务器操作系统,所以根本没理图形团队。
团队各自为战,卡特勒认为自己只要管理好自己的内核团队即可,不想管太多。
四、必须融合
1990年,卡特勒团队已经做了一年了,内核初步显形。
这时候,微软的Windows3.0研发了出来并且大卖。而且,微软决心不再为OS/2进行维护。
一是OS/2的微软研发团队,需要并入NT研发团队为NT团队加速,因为NT团队看起来工作进度太慢了。二是NT必须运行WINDOWS应用软件,但卡特勒没管这事,他决定只输出API,做的尽量和WINDOWS API兼容,这样WINDOWS软件就能运行了。
卡特勒必须全权负责这些团队,而不能只搞内核。马里茨知道不这样做,卡特勒肯定会把问题归到其他团队身上。这个底线,马里茨必须守住。
第三章节、创新:新的文件系统
一、创新的契机
卡特勒想做新的文件系统,但是马里茨始终不同意。
吃自己的狗食是微软的传统,让大家自己知道自己的产品有多烂,好尽快改进。
NT不稳定,程序员的工作经常丢失。这个问题很让人憎恨。
二、创新的做法
卡特勒找到自己最可靠的两位文件系统专家,都和卡特勒在DEC工作了十五年。这两位以自己最舒服的方式到自己最喜欢的地方来思考设计新的文件系统。他们在海上漂流了两周做出了框架设计。
第四章节、进度管理
NT研发不断延迟,这让马里茨很着急。不过NT对于微软意义重大,而且研发成果已经到了中间不舍放弃,而且微软由于现有几个现金牛产品卖的很好所以也不差钱,所以NT研发没有被终止。
但马里茨很着急,不倒逼,可能NT永远没有出品的迹象。他出的招就是:利用每次业界大会来发布NT的进展,并承诺NT的预计发布时间。这让卡特勒不断平衡创新、完美、商品发布之间的取舍。
为了能持续有东西出来,马里茨坚决推进每日构建,让卡特勒看到现在NT到底是个什么程度了。
第五章节、团队管理
一、团队协作管理
卡特勒不愿意管其他微软团队,但他内心还是希望能出品完整商品,况且进度现在落后严重。
但是他管理团队的方法是:每日集成、每日早例会、质量报告、问题平衡决策。用集成的进度和质量推着所有团队走。
二、团队压力管理
如此长周期压力、加班工作、棘手难题,所以团队压力非常大。卡特勒采取的方法是:每周一次大聚餐。
第六章节、NT研发成功的秘密
一、团队
1、卡特勒:有领导者强悍,也有丰富的专业经验,有成功经验也有挫折经验
2、核心团队:有丰富大型操作系统成功研发经验的团队,十多年一直追随卡特勒
3、微软领导人:盖茨对卡勒特的分寸、鲍尔默给卡特勒的乐观随性支持、马里茨对卡特勒的巧妙的关键性底线的紧逼
二、微软地位
1、微软的现金牛充沛,给了卡特勒减轻压力
2、微软在个人操作系统的垄断地位、强悍的市场营销和渠道分销、Windows3.0的成功轰动
三、微软压力
1、微软必须进入大型服务器操作系统市场,这里才是充沛的大量的收入。而PC操作系统当时已经进入垄断地位,不需要太担心
2、微软没有任何开发大型服务器操作系统的经验
所以说,NT的成功,是领军人/核心团队、微软的环境和压力促成的:
没有压力,微软就会三心二意不会大力支持NT;
没有地位,NT就没有现金坚持5年,即使出品了也推不出去;
没有微软领导人的大力支持,卡特勒和他的核心团队也只能很快被微软这个大盘子甩出去;
没有核心团队,卡特勒即使是孙悟空也难以成功;
当然,没有卡特勒这个强悍领军人,这个核心团队也在微软生存不下去;
而且项目如此复杂,周期如此长,没有卡特勒如此强悍的斗士,项目团队早就在压力下自我崩溃瓦解或者心灰意懒
第七章节、NT研发管理值得我们学习的地方
1、团队融合方法:探测棋子挺有意思。微软高级管理层(盖茨/鲍尔默、麦尔沃德/马里茨)对卡特勒团队的欲擒故纵方法也挺有意思
2、团队进度管理:以发布日倒逼
3、团队协作管理:每日集成、每日早例会、质量报告
4、团队压力管理:每周聚餐
这样来看,研发管理不是NT能够成功的核心要素。NT成功还是跟领军人、核心团队、环境基础相关。
所以我们放轻松,多在领军人和核心团队身上下工夫,多改善团队的生存环境,这样成功的可能性就够大。这点值得每个研发管理者要警醒和深思。