教练技术在软件开发实践落地中的应用

158 阅读4分钟

image.png

Sensible Default Practice,翻译成中文是合理的默认实践。总共包含9个软件开发实践,如基于主干开发,测试驱动开发,结对编程,安全内建,快速自动化构建,自动化发布,尽早集成和持续集成,技术债管理,为生产而构建。这9个实践都是源于快速反馈(Fast Feedback),可重复性(Repeatability)和简单(Simplicity)的核心价值观。它是不同于最佳实践的,最大区别在于它不是每个团队必须遵循的,也不是一成不变的。各个团队应该根据自己团队的实际情况针对性的进行分析,明确哪些实践是重要的,适合团队的,且有效的, 再实施落地。

我本人有幸主导了多个团队的Sensible Default Practices的落地,并在和各个团队的合作过程中,使用到了一些教练技术相关的技巧。以下是我的感悟:

倾听与分析

每个季度我们会通过调查问卷的方式收集各个团队9个实践的落实情况,依据调查问卷的问题项打分获得各个团队的实际情况。之后会和团队的主要负责人进行1对1的沟通,了解所在团队的实际情况,结合调查问卷的结果进行深入挖掘。这个环节中需要积极倾听团队的情况,澄清团队所处的环境,业务上下文等。充分了解到团队的情况后,和团队一起分析Sensible Default Practice落地的可行性,优先级等。

设置目标和执行计划

完成团队实际情况和合理的默认实践落地的可行性之后,需要和团队负责人设定1到2个季度内可达成的目标,并将根据目标对团队的价值,紧急程度进行优先级排序,之后将高优先级的目标进行分解,列出并记录下可执行的计划。为了能持续监测执行情况,需要和团队负责人制定定期的沟通计划,通常2周一次。在定期会议中,还可以了解团队在执行时遇到的问题,并协助解决或提供建议。

沟通和共情

作为一个项目的主导者,必然会和不同人进行大量的沟通。简洁明了,清晰易懂的语言会大大提高沟通效率。在主导实践落地的过程中,还有需要耐心地帮助团队负责人理解这个9个实践的真实含义,以便团队在计划执行的过程中不出现方向偏离的情况。需要指出的是共情也很重要,不同的团队都有各自的难处,设身处地的理解团队,并提供相应的建议和切实的帮助。肯定和赞扬团队付出的努力会大大提升团队的信息,进而促进项目的成功。

促进合作

运行一段时间后,通过调查的搜集和定期的沟通,就基本掌握了各个团队在各项实践上的情况,例如有些团队在快速自动化构建做得很好,而有的团队在这方面不足,而且优先级很高。作为这个项目的主导者,可以促进两个团队的经验分享,案例学习等活动,帮助不足的团队快速获得经验,加快相关实践的落地。这种团队间的合作,提升了团队间的交流与合作,也增强了团队的信心。

持续改进

不积跬步无以至千里, 不积小流无以成江海。各种实践的落地不是一蹴而就的,也没有捷径。在和各团队负责人沟通过程中需要帮助他们建立持续学习,持续提升的意识。鼓励团队做出各种尝试,通过试验,分享,跨团队交流等方式,不断提升个人和团队的能力,从而推动各项实践的最终落地。

小结

Sensible Default Practices需要结合各个团队的实际情况进行分析,灵活应用,提供了展示教练技术的绝好机会。在主导实践落地的过程中,将倾听与分析,设置目标和执行计划,定期沟通并追踪进度和问题,促进团队间合作和交流,培养团队持续改进等教练技术进行学习和运用,帮助团队提升,同时也是我个人成长的一个记录。