敏捷与冰壶运动的联想 敏捷开发体育TDDBlog
因为最近公司也在做敏捷开发,开始是用TDD,再后来是FDD,在做项目过程中也出现了这样那样的问题,不能埋怨问题本身,因为这是项
目开发中的共性问题,只不过是不同的场合找到最佳的方法处理相同的问题罢了。http://gurudk.iteye.com/blog/366299 中最让我受启发的一句话就是“保持前进,在动态中思考,在动态中进
步,在动态中矫正”; 想象人生不就是这样吗,因为我们不是预言帝,对未来肯定都是没有办法知道的,但是大概的方向是有的,就像玩冰壶,投球手一定知道手中
的冰球掷像什么方向。
但是没有办法保证就一定是预期的位置和效果,只能是靠队友在冰壶的运动轨迹上不断的调整冰壶的运动轨迹,才能更好的让冰壶达到预期的效果。
开发过程也不是这样吗?开始的时候需求很重要,就像投球手一定要知道自己的冰壶要投到什么位置一样,目标一定要清楚,要不冰壶就出界了都有可能。需求人员
就是头球手,如果需求都不明确的话,后期的开发调整会有很大的成本,而且很有可能就像冰壶都出界了,那再调整还有什么用吗?好了,如果这个冰壶的方向是正
确的,那团队就按照正常的开发轨迹走,一切都很顺利,ok。但是软件开发过程却是需求并不十分明确,冰壶的运动轨迹开始看着像是对的,但是越走越偏离方
向,这个时候就需要其他队员线路调整了,就是我们平时看到的有两个队员拿着像拖把一样的工具在来回拖地
拖地的过程就好比实际开发中的响应需求的变化,如果处理不好,那同样的达不到预期的效果。
让我们看看影响软件的开发的根本因素在冰壶运动中的体现:
1)团队气氛。
如果在这个团队没有共同的目标,估计很难获胜,团体运动讲究的是合作,是看谁 1+1>2的问题,但是如果一个团队没有目标,那么1+1就很有可能是个负数,不仅取得不了什么成绩,而且还造成负面影响,就像世界杯的法国罢训丑闻一样。
2)积极沟通
如果看过冰壶比赛的人一定知道,冰壶运动员在场上调整冰壶轨迹的时候会一直在喊,频率之快,是我见过的体育运动中为数不多的了,他们不光是单纯的在喊,主
要是让队友知道自己在做什么,这样劲往一块使,达到预期效果。而且能增加对比赛的兴奋度和关注度。敏捷开发过程是很重视沟通的,实际开发过程当中,我们几
个开发人员就被关进小黑屋好几次,(*^__^*) 。实际效果来看还是不错的,减少沟通成本。而且开发过程也不会变得很沉闷。
3)持续关注与
持续改进
你看上面的图片中就会注意到,运动员的眼神,在整个投球到冰壶静止不动的过程,他们都会一直在盯着,尤其在大的比赛,一点点小的失误就会全盘皆输。