透明思考


Transparent Thoughts


多能工化的算术表述

(本文系剽窃胡凯的点子。写出来一是因为有趣,二是为了刺激胡凯赶快写好他的文章。)

假设一个功能点的开发需要1人天、测试需要0.5人天。一支3个开发人员和1个测试人员构成的团队一周能交付多少个功能点?

答案是8个。因为第一天还没有功能点被开发出来,测试人员没的测。后来虽然开发了很多,但没有测,不能交付。

现在想象另一支团队:还是4个人,不过4个都是开发人员,并且开发人员都能够并且愿意做测试工作(通常不是一个很离谱的假设)。这支团队一周能交付多少个功能点?

具体的动态规划有点复杂,总之是接近 4×5/1.5 ,十多个。比有专职测试的团队交付得多。你真的相信“专业分工能提高效率”吗?

更有趣的是,如果这支团队只有3个开发人员,没有那位测试人员,但开发人员都能够并且愿意做测试工作。这支团队一周能交付多少个功能点?

答案大概是9或者10。多加一个专职测试,反而不如没有这个人交付得多。你真的相信“专业分工能提高效率”吗?

更详细的计算以及“为什么”和“如何能做到”的答案,敬请期待胡凯的文章。(我写完这个有趣的部分就没兴趣再写下去了。)