2018-10-03 人月神话

传说

卡尔达诺被誉为百科全书式的学者,一生共写了各种类型的文章、书籍200多种。现存的材料就有约7000页。他智力超群,性情孤僻,职业动荡多变,著述鱼龙混杂。除了作为正式职业的著名医生、医学教授、占星术士引起注意外,就他的贡献而言,人们也常把他称为数学家、哲学家、物理学家,或者笼统地称之为科学家。
他七十一岁时通过占星术推算出自己将在1576年9月21日去世,但是到那一天时,他活得像头壮牛;为了保全自己大星象家的名声,他自杀了。
-- John Adhoc

上面这个故事听上去像是一个笑话,事实上,这样的 笑话 每天都在发生。 在我们这个 朴素 的行业里,项目经理,产品经理,开发经理,测试经理,无时无刻不在预测着一个神奇的日期—— 版本发布时间 。 吊诡的是,无论方法多么科学,估计就从来没有准过。

Greedy 是一个资深的研发项目经理,他的团队以专业有素著称,某天他预言下一个大版本将于10.1发布,但10.1那天,Bug多的根本数不过来,还有几个Feature没有做完。
为了继续保全自己大发布师的美誉,他砍了几个feature, 钦定几个bug也是feature, 于是版本发布了。
-- Tom Greedy

现实

为什么工作量估计如此困难? 码农难道不是和种地一样吗? 或者说,和搬砖差不多。 工地上的建筑每天都在建造,为什么不曾看见建筑工期会出现问题(当然,自己装修除外)? 就我们的认知经验来看,似乎建筑工期管理要有效靠谱的多? 原因是什么?

如果非要给几个可能的原因,笔者认为有以下几个关键点:

  • 工作效率本身的非线性
  • 艺术和劳动密集的结合

工作效率本身的非线性

编码工作(Coding) 本身的产出和工作时间之间,并不是线性关系。 相反,非线性是常态。 例如:

  • 码农A,今天状态特别好,上班2小时,就完成了当天的任务。 其他时间在思考人生。
  • 码农B,今天心里特别苦,早上出门又遇到堵车,昨天半夜还带娃,上班12个小时,仍旧完成当天的任务。

请问:假设任务难度相当,两者谁的工作效率高? 显然A的效率要高很多,应该得到嘉奖。 现实恰恰相反,A 往往会被视作消极怠工,B 却被视作劳动模范。 这种工作产出和时间的非线性关系,往往非常难以客观度量,甚至无法观测,且极易形成偏见。 经理 们在自己的工作经验中,会形成自己的一套模型来衡量,这些不可描述的感觉,构成了 资深 的内涵。

艺术和劳动密集的结合

我们很少会要求画家在规定时间,规定地点,完成规定作品(三规)。
但所有的项目都会要求在规定时间,规定环境,完成规定功能。估计时间,之所以如此的不靠谱,本质在于,项目中同时包含了两种不同类型的工作: 艺术型的思考与设计、搬砖型的劳动—— 而人们通常忽略了前者,甚至不知道两者之间的区别。

总结

道理我都懂,我知道十个女人不能在一个月内生一个孩子,但老子有10个男人啊!
-- 资深项目经理 Naive Yang

你可能感兴趣的:(2018-10-03 人月神话)