在一个老团队中,推行一项新的实践是非常不易的。
如果要求,每天10点站立会议增强团队成员之间沟通。大家会心里先衡量一下,恩,不就是每天站个十几分钟,自己说几句话,然后听别人说嘛,不难做到。
如果要求,要测试驱动开发,必须先写测试代码,才能开始写产品代码。这样大家肯定讨论像炸开了锅一样,各种各样的质疑都会提出来,大部分人都会反对。
如果要求,结对编程,写代码得两个人一起写。大家那一瞬间肯定都会反应:没有私人空间,没有时间做其他事情了。异口同声反对。
我们来总结一下推行新实践的时候,会有哪些阻力。
从团队成员的角度来看,会有以下几点:
1. 不想改变,认为现在的工作方式很好,没必要改变。
2. 对新事物的恐惧,对于一项新实践的提出,本能的抗拒。
3. 不愿意学习,进行一项新的实践,意味着要学习,为什么要做,如何做,怎样把它做好。不想学习就干脆不去做。
4. 工作压力现在已经很大了,对此力不从心。
从领导的角度来看,也会有以下的阻力:
1. 领导者往往从更高的角度来看问题,他会认为产出小于投入,因此不支持。
2. 新事物伴随着未知,不知道改实践会不会适用于团队,万一团队到头来对自己抱怨怎么办。
3. 新事物也伴随着风险,害怕失败,害怕影响自己的口碑和政绩。
4. 没有资源,缺少人手,时间或者资金。
5. 对此不认同,更别谈支持。
以上列出的都是推行一项新的实践可能的阻力。
从实际中看来,团队成员的阻力大多数来自于恐惧,害怕变化。新的实践在多大程度上改变了他们的做事习惯,他们就会多大程度的来阻止改变。领导们的阻力来自不认同该实践的意义,无法衡量投入产品比。
为什么要从团队成员和领导们的角度两方面来看呢?因为任何一项实践的推行,都需要他们的合作和支持。如果领导不认同,就根本没法开展和推广。如果团队成员不同心协力,那么只会流于形式,效果也就可想而知。
了解到有哪些阻力以后,我们就能有针对性的推广。首先是打通领导的关,得到他们的认同。我们可以这样做:
1. 把团队现状解释清楚,特别是存在的问题都提出来。 领导对于团队的现状及问题其实是非常清楚的,只是可能多方面的原因,无法解决。这个时候你提出来,能够深入领导的心,获得领导的共鸣。最好用数据说话,比如缺陷率是多少,软件质量很差,回归缺陷有多少,测试覆盖率多少等等。
2. 提出解决方法。把可能的解法都提出来,然后着重推行一种,当然这就是你想推行的一种。进行横向纵向比较,让领导知道,你是理性的分析问题,是想解决问题的。而不是随便跟风潮流。
3. 举成功的案例。同样以数据说话,比如某某公司或者某某团队采用了该实践以后,测试覆盖率提高了多少,团队沟通增加,因此沟通引起的缺陷减小了多少等。
4. 告知可能的风险。一项实践的推行并不是百分百的成功,它伴随着风险。你提出风险的同时,领导会更觉得你是理性的,而且同时也会让他思考更多。领导者通常会更加前瞻,看得层次更高,他就会提出其它好的建议。
得到领导的支持后,要让团队的成员同心协力配合,这时候我们可以:
1. 给团队成员“洗脑”。并不是所有的团队成员都会意识到问题的存在,首先得把问题提出来,让他们有个清楚的认识,让他们思考。这时候就得靠领导的适当施压和我们循循善诱的教导。
2. 培训。在团队成员认识到问题后,我们要教他们,为什么新的实践能让事情做的好,业界是如何去做的,放在我们团队又应该如何去做。
3. 头脑风暴。提高团队所有人的积极性和主动性,大家都来思考,在思想的碰撞中往往会有建设性的想法。
4. 跟踪。不能开展实践以后就完了,要随时跟踪开展的进度和效果,实时评估并且进行调整,一切都应该往一致的目标前进。
5. 对于个别顽固子弟,教导不成,就得靠团队其它人给予其压力。让他知道,如果不这么做就等于脱离了整个团队。