预估的都是垃圾

曾经在长达将近两年的时间内担任项目经理的角色,带领40人的团队做Android智能点歌系统,每个月最重要的一项任务就是安排下个月的工作计划,包括投入多少人,完成多少的开发量,什么时候达成里程碑。剩下的时间就是和老板撕逼了。

有的老板总是有几种错觉(最大的错觉就是我虽然不懂技术,但我觉得我可以管理技术):

  1. 为什么程序员看起来都不那么忙呢?为什么下班就走了?是不是工作量不够啊?
  2. 任务肯定是可以预估的,如果最后deadline之前没有做完,说明你能力不行,才预估不准的;
  3. 程序员如果提前做完,说明工作量不饱和,如果延迟做完,说明能力不行,在打酱油;
  4. 一切问题都可以用加班来解决;

所以在这种老板的管理下,做规划就是一件很重要也蛋疼的事情,没有人关心产品方向是不是正确、开发效率是否足够高、产品节奏是否正常,因为老板只关心你的规划和预估做的好不好,至于最终出来的产品?who care!

我们所有人都是非常糟糕的估算师,我们自以为可以把握所有环节,准确的预估每一项任务的时间,但实际上我们一无所知。我们规划的最佳方案最后只能被证明是一堆垃圾。

在一起唱的时候,预估做的最多的除了软件开发,就是歌曲库的整理,每当要修改十几万首歌曲的资料库的时候,就要拿给老板一个详细的规划:需要多少人、多少设备、做多长时间,其中全职几个,兼职几个,甚至要想好备选方案,因为设备不知道什么时候就有可能坏掉。现在想想,这个规划就是一坨屎,如果再让我做的话,不如让我去死。

做一件项目,最好的解决方案就是,把大项目分割成小的任务,每个小的任务都控制在6-10小时之内,然后一步一个脚印的完成,在这方面敏捷开发做的不错,但是对成员的个人能力要求比较高。如果不好实行敏捷开发,就用简单版的任务拆分也不错。