微软PM的来历
⼤部分公司的项⽬经理叫ProjectManager,微软的经理叫ProgramManager,这有什么本质的区别么?微软曾经也是⼀个创业公司,两个创始⼈都是开发⼈员,招聘的新成员也⼤多是像他们⼀样的开发⼈员,这其中就有⼀个叫查尔斯·⻄蒙尼(CharlesSi-monyi)[注释1]的超级程序员,当然还有像史蒂夫·鲍尔默(SteveBallmer)那样的超级销售⼈员,这⾥按下不表。1974年,查尔斯·⻄蒙尼在XeroxPARC开发了WYSIWYG(所⻅即所得)[注释2]的字处理软件Bravo,成为Alto个⼈电脑的重要应⽤软件。作为参照,说明他的资历:同⼀年,史蒂夫·乔布斯(SteveJobs)从印度回来,加⼊Atari公司打⼯,因为其他员⼯不能忍受他的傲慢态度和卫⽣习惯,他只好上夜班。同⼀年,⽐尔·盖茨(BillGates)在哈佛⼤学读2年级,第⼆年,他看到了个⼈电脑的曙光——MITSAltair8800,于是退学创⽴了Mi-crosoft。1981年,查尔斯加⼊了微软公司,领导Word和其他办公软件的开发。随着业务的发展和团队的壮⼤,下⾯这两个问题凸显出来:1.团队成员之间交流的成本急剧增⻓2.有很多开发和测试之外的事情,需要专⼈负责。很多开发⼈员聚集在⼀起,该怎么⼯作呢?如果⼤伙做的是搬砖这样的体⼒活⼉,那么在⼀定限度内,⼈员的增⻓和项⽬复杂度的增⻓是线性的关系;⽽程序开发就有些不同,查尔斯·⻄蒙尼发现项⽬管理的复杂度似乎跟⼈员数量的平⽅成正⽐。⼀个团队⾥若有4个成员,就有6种双向依赖和交流的途径,然后增加⼀位新成员,就要增加4条新的双向依赖交流的途径。对于N个成员的团队来说,交流的途径总数是n×(n–1)/2,这种N的平⽅的增⻓意味着这样的交流对⼈类来说是不可持续的。
