如何引入 TDD 实践
TDD 是唯一的开发实践吗?
当然不是,TDD 只是能让开发做得更好。
为什么现在没有实行 TDD?
因为交付的是代码,最容易想到的就是:代码不必可少;其他的呢?都有可能是可选的;很多管理看中的是结果,结果看得见摸得着,容易考核。
过程就不想管理吗?
想啊,但是做不到啊,所以最多喊喊口号,然后就是放羊,大家全凭本能做事。不过,只是单纯想想,复杂度就高得吓人:
如何冷启动?得满足合适的人,合适的项目;
如何找合适的人?有人认同还好说,没人认同怎么办;
如何说服?摆事实讲道理,苦口婆心,死缠烂打;
如何摆事实?例子小了,说服力弱,例子大了准备成本高;
如何准备可信的例子?教学用例子容易证明优劣,但容易被 diss,实际项目则干扰因素多,不容易证明是 TDD 起了作用;难题 1
如何讲道理?TDD 相当于凭本能做事的逆思维,光这一点就够很多人喝一壶;
如何改掉凭本能做事?凭本能最容易,无需投入学习成本,而且没有保证一定能完成,大不了说能力不足;难题 2
如何认同 TDD?光理解了 TDD 的思想或方法不代表就认同,能得到实实在在的回报才是认同的基础;如质量的保证,平滑的学习曲线,更低的成本投入;
如何拿到这些回报?肯定不会从天上掉下来,需要刻意地练习,而且要持续投入较长时间;难题 3
难题 1: 可信的例子
难题 2: 思维习惯的转变
难题 3: 熟练掌握
版权声明: 本文为 InfoQ 作者【顿晓】的原创文章。
原文链接:【http://xie.infoq.cn/article/eca3fbde2081b8c064b3cbc3e】。文章转载请联系作者。
评论