我最早接触敏捷,是源于一位做开发的朋友。他就属于那种效率极高的,大家一个礼拜的任务他2-3天就能做完,代码质量高 bug 少。最主要的是,他除了写代码以外,有足够多的时间研究新技术,指导其他同事,在团队中口碑极好,后来还研究上了管理,听说这家伙后来做了首席架构师,还兼任团队 Leader。
他有个习惯,每次写代码之前都会仔细想一想需求,想好后先写测试用例代码,再动手写代码。一旦写代码就特别快,一气呵成。
那时我偷偷问他,“你写代码之前还要写测试,多麻烦啊,怎么还能写那么快那么好?”他眨巴着眼睛,一脸坏笑:“代码写得快靠得是思考快,而不是敲字敲得快,构思好了再写不就是记录自己想说的话吗?再者,我先写测试后写代码,磨刀不误砍柴功,好多问题在前面都解决了。”
我再看他写的代码,简洁优雅,顿时羡慕得不得了。他告诉我,“这就是测试驱动开发,敏捷的核心技术实践之一。”他改变了我对程序员的认知,也改变了我对这项工作的认知,原来厉害的程序员不只是撸代码啊。
我一直热衷于探索研发管理的效率、效益和精髓。带着疑惑,加之当时公司也确有敏捷方面的需求,我从此开始研究和实践敏捷开发。刚接触的时候我觉得理念很好,但有些理想化,那时我并没有从内心接纳敏捷。
随着过程推进,我逐步感受到了敏捷带来的好处,尤其在团队管理方面,敏捷为我省去了大量的时间。
我自己在深入进行敏捷实践的同时,接触了很多国内的研发团队ÿ