热度 8||
通过观察和一些交流发现国内许多号称实施了敏捷开发的团队大多不是真正的敏捷。经常遇到一些令人无语的场面。比如:和他们将迭代、讲User Story、讲点数什么的都很好,末了大多会问那么测试该怎么写呢?
……
我认为在没掌握测试驱动开发的情况下谈论任何敏捷过程都是没有意义的。敏捷开发之所以能够敏捷其核心是代码本身是敏捷的,也就是代码本身可以快速地响应变化。编写测试不仅仅在于测试令软件修改后的正确性验证得到保证,更在于先行的测试迫使程序员做出松耦合的设计,在代码的中间插入各种隔离措施。让我们修改程序的时候不至于发生牵一发而动全身的事故。而还只是测试提升代码敏捷性的其中一个作用。
敏捷开发扬弃了早期英雄程序员的概念,但是回归到开发以程序员为主的概念。敏捷团队强调程序员的主动性,程序员应能主动花时间修改糟糕的设计。而这种主动性是建立在测试驱动的基础上的,否则在项目进度压力下除非万不得已,没有人愿意花时间冒险修改已经完成功能实现的代码,那怕这个修改看上去是那么轻而易举。而这种修改在敏捷团队中几乎是家常便饭,这些时间和风险投资的回报就是代码的敏捷性。
只有代码具有敏捷性,敏捷过程才能真正体现其价值。这些过程协调了项目各方的关系,令工作有序地进行,并且将代码的敏捷性转换成项目的收益——这才是真正的敏捷。
profer: 在团队里应用了一段时间,有一定小感悟,基本的判断是:软件的架构,开发,测试是一体的,不是阶段的,流程的。顶级的程序员必然是在架构时想着测试,测试时想着 ...
code_abc: 贵在坚持。再天才的程序员其代码也是改了又改的。敏捷开发方式本来就是这些“天才”养成的方法。另外,你看到的精妙代码都是成品,其间也有惨不忍睹的状态,天才 ...
code_abc: 贵在坚持。再天才的程序员其代码也是改了又改的。敏捷开发方式本来就是这些“天才”养成的方法。另外,你看到的精妙代码都是成品,其间也有惨不忍睹的状态,天才 ...
GMT+8, 2024-11-26 04:00 , Processed in 0.034022 second(s), 27 queries , Gzip On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.