这是一个关于著名高尔夫球手“老虎”伍兹的故事。高尔夫球手在打球的时候,可能会受到一些外界干扰。一般情况下还好,如果他已经开始挥杆,这时候受到了干扰,一般选手肯定是继续把杆挥下去,但通常的结果是打得不理想。
而伍兹遇到这种情况,他会停下来,重新做挥杆的动作,保证了每一杆动作的标准。
伍兹能停下来,固然是经过了大量的练习,但还有一个关键在于,对于别人而言,挥杆击球是一个动作,必须一气呵成。而对伍兹来说,这个动作是由若干小动作组成的,他只不过是刚好完成了某个小动作,而没有做下一个小动作而已。
换句话说,大家同样都是完成一个原子操作,只不过,伍兹的原子操作比其他人的原子操作小得多。
这个故事其实说的是任务分解,那我们应该从中得到什么启发呢?
我们知道敏捷开发中的迭代追求的是可及时调整中间过程,在需求变化的时候还能掌握变化,从而可以在短周期内经常性交付有价值的软件。想要达到这种效果,可以以”每两人工作一周能完成任务”为指导思想,把用户故事粒度拆分合理,把技术任务粒度拆分合理,其中人数不宜过多。
另外在任务拆解的时候需要在每轮迭代中都留出相应的时间专门进行减少技术债务的工作,避免滚雪球效应。
上面说到任务分解是精益敏捷最重要的落地思想之一,它的好处是让项目可见度大大提高。实际上把工作拆解好才能让团队更好理解工作内容,这样估算出来的工期更为实际,一定程度上避免上之前盲目承诺造成的混乱。它也能让团队的工作可以被量化,从而激发个人斗志,提高团队生产力。
好,今天的分享希望能帮助你培养敏捷心态,欢迎分享给你的朋友们。
文章来源:www.liangsonghua.me
作者介绍:京东资深工程师-梁松华,在稳定性保障、敏捷开发、JAVA高级、微服务架构方面有深入的理解