本人专注于敏捷开发实践,在IT软件开发和项目管理方面有丰富工作经验。目前,是美国敏捷联盟认证的敏捷教练(CSM),致力于推动国内的敏捷实践与宣传。

The football team
如今,越来越多的企业和团队开始推行敏捷模式进行工作,但无论是企业还是个人都对敏捷的落地保持着怀疑的态度,因为有时看着是那么的违反常理,不知如何去做。但在我看来本身敏捷中的Scrum来源于橄榄球运动,那么我们是否可以从竞技体育中去发现其本源呢?现在,我就以世界第一运动的足球来剖析它所蕴含的敏捷哲学。
团队与个人
在敏捷里面我们着重强调团队的作用而不是单单的个。对于每一个需求的完成,我们需要从需求-设计-开发-测试-运维最后实现交付,在这个过程中我们团队就需要各个角色的成员去做不同的工作,这里就是我们原来的瀑布模式,充分体现分工和个人的完成。但在敏捷模式中尤其是Scrum团队,需要的是团队承诺和自组织团队,这就会使我们的管理者无法接受。那么,我们来看看在足球中是怎样体现的。

球队战术板
在足球中需要有11个人作为一个team去比赛,这就如同我们的开发团队去工作一样。在足球比赛过程中,最终比赛的输赢是团队的结果而不是个人的结果,这里就体现出了是团队所有成员的共同承诺赢取比赛,而不是个人去决定比赛输赢。
跨职能团队
球队中,需要不同的职能角色,有门将、后卫、中场和前锋。这里就与我们的开发团队一样需要有设计、开发、测试、运维等不同角色的成员。而如何让他们形成团队去工作呢,我们看到,足球比赛中团队成员虽然有位置的不同,但是他们不仅仅局限于自己本身,作为前锋需要将足球踢进对方球门这就相当于运维成员交付一个用户故事,但是进球仅仅是前锋才能去做吗?当其他位置的球员在面对有进球机会时难道就不去打门吗?答案肯定的否定的,在完成自己角色所担任的任务时我们也要去关心别人是否完成。在我们的工作中,经常会有的场景就是开发coding完代码之后,就会将代码交给测试,这就好比后卫将球踢给中场,但是如何确保中场球员拿到球,这就要看后卫的传球质量了,这里就体现出了敏捷所包含的精益思想JKK和JIT,我们后卫需要提供高质量的传球,确保交付流程不被打断,这就是JKK的概念体现。整个球队只能同时踢一个足球,球队需要为这一个足球完成进球也就是我们要交付的一个用户故事,这就是JIT的概念体现。
分工与协同合作
在整个交付过程中,后卫只做防守、前锋只做进球吗?不是的,因为我们同时在完成一个故事,当后卫把球踢给中场时,的确后卫完成了他的工作,但以整体完成上看,由于球并没有被踢进球门,所以并未有在成绩上体现出价值。这就是敏捷所倡导的,只有当软件交付的那一刻才会产生价值,才算完成。所以,在开发团队中,开发人员不能仅仅做开发工作,同样测试、运维、设计人员也不能只关注自己的工作,而是要关注其他成员的完成情况,当别人遇到困难时,我们要停止手里的工作去共同解决困难,要保证球一直处于传递的状态,并且不被打断,从而形成单间流的概念。

带刀后卫“拉莫斯”
我们看看皇马球员-拉莫斯,他本身是后卫球员,但他却是公认的带刀后卫,这就体现出了团队的合作和协同。作为后卫就不能做前锋要做的事情吗?这句话需要我们每个人能去理解它的含义,作为开发不是coding完就是万事大吉,因为还没有进球,那么就需要向前冲去帮前锋进球,同理前锋是不是也会参与防守呢?相信大家对于多角色的协同合作有了新的认识。
以上这些就是这一期要讲解的V1.0的内容,后续将会推出后续的系列讲解,敬请期待!
本头条号将根据作者实践经验,通过原创方式进行敏捷的宣传与推动,希望得到同行的认可,并欢迎任何评论和积极转发。