
一个人如果没有目标,就会迷失,就会拖沓,就会慢下来。
这句话用在大方面可以上升到职业或人生规划,小方面则可以具象到每天的工作。
背景
4月的一天,我被各种会议湮没。回到团队的时候,发现什么事情都没做完,很多工作才刚刚开始,于是当天晚上奋战到10点。走的时候跟经理说,我要去调查谁偷走了我们的时间。
调查结果
4个项目组中,主要有两种原因:
1. 没有目标。
团队成员知道任务有很多,今天也不一定全部做得完,但是也没有任何想法或者计划今天该做什么,该做完什么,于是没有计划地一路前行。没有目标驱动的情况下,人是很容易懒散的,所以工作中经常被各种事情打断,然后人就转入各种小事情的处理上,真正要做的主要工作却放下了。这就导致了快下班的时候一查看进度好像刚刚开始。
2. 忘记目标。
有的项目组任务单一,今天就是把这个任务搞定。但是程序员实际在做的时候,往往陷入了某个细节(某个算法)无法自拔,忘记今天的目标是交东西,不是研究这个算法。结果一天下来,算法还是没有研究出来,产出也为0.
对症下药
1. 在每天的daily meeting上,当每个项目组汇报项目进展情况的时候,增加回答两个问题:
Q1. How much work do you think you can get done today? (今天你认为你可以完成多少工作?)
以前汇报的时候只是说“今天我们组将继续什么什么工作”,但是这个问题是强迫要求成员思考“今天我要做完什么事情”。一个参考的例子回答是“今天我将做完TaskA, TaskB 和 30%的TaskC”。注意问题是“你认为”,意思是作为项目组长应该有这个意识去主动思考和把握项目进度,而不要再让主管来告诉你今天“你应该”做什么事情。回答这个问题就让组长和组员对今天的目标心中有数。
Q2. How much percentage of that work do you think you can get done before 5:30PM? (你认为在下午5:30之前多少比例的事情可以做完?)
这个问题是用来提醒团队成员我们的标准下班时间是5:30PM,尽管IT行业经常加班,但是注意不要把你的下班时间默认设置到8:00PM之后,因为这个想法十分危险:你每天的工作时间无形中默认增加了几个小时,所以你可以享受上班时间不太有压迫感的节奏,你会对此上瘾,但是你的工作效率会无比低下,你会丧失工作之外生活的乐趣。这想法就像毒药一样,当时很有快感,长期以来身体和精神上都受到摧残。
另外一个作用是可以锻炼组长估计的能力(estimation),也许你前几天估计都与实际结果相差很大,但是你注意总结之后慢慢你的估计会越来越准。
一个参考的例子回答是“今天我在5:30之前能够完成今天全天工作(全天工作的具体是Q1的答案)的80%”。那意味着还有20%是晚饭后回来完成的。
2. 针对一个项目组有多个人,一天有多个任务,所以在daily meeting之后,要和项目组成员碰一下,具体什么人完成什么任务,这个时间大概是半分钟到1分钟。
3. 对于“忘记目标”,有时候程序员因为个性原因是不容易跳出来,这就需要管理人员去为方向上把舵。
举例:客户抱怨性能很差,经过调查发现是排序导致性能问题,但是不管怎么改变排序算法在移动设备上都会因为硬件性能瓶颈造成性能问题,还有可能因为真实数据导致性能问题加倍。于是不要再去研究“更好的排序算法”,对于今天而言,我们至少可以提交一个解决方案:取消排序功能。然后列出理由让客户明白,在当前状况下取消排序功能对用户体验影响非常小,问是否可以被接受。第二天,客户默默地将此defect关闭。
解决问题有很多方式,一种是直接正面解决掉,第二种是想办法绕过去。不管黑猫白猫,抓得住老鼠就是好猫。
效果
实际效果还不错,感觉上每天下班确实早了(没有数据统计过),团队成员在有目标的情况下做事也更积极带劲了。这一方面是任务不同造成的客观原因,一方面也有“药力”的作用。相信坚持下去,每天投入产出比曲线会保持增长。
对于一个每天都必须要有产出的团队,我们的风格是“敏捷”,我们的目标是把事情搞定。(Get Things Done)