主题:【原创】敏捷开发为什么能敏捷 -- 代码ABC
通过观察和一些交流发现国内许多号称实施了敏捷开发的团队大多不是真正的敏捷。经常遇到一些令人无语的场面。比如:和他们将迭代、讲User Story、讲点数什么的都很好,末了大多会问那么测试该怎么写呢?
……
我认为在没掌握测试驱动开发的情况下谈论任何敏捷过程都是没有意义的。敏捷开发之所以能够敏捷其核心是代码本身是敏捷的,也就是代码本身可以快速地响应变化。编写测试不仅仅在于测试令软件修改后的正确性验证得到保证,更在于先行的测试迫使程序员做出松耦合的设计,在代码的中间插入各种隔离措施。让我们修改程序的时候不至于发生牵一发而动全身的事故。而还只是测试提升代码敏捷性的其中一个作用。
敏捷开发扬弃了早期英雄程序员的概念,但是回归到开发以程序员为主的概念。敏捷团队强调程序员的主动性,程序员应能主动花时间修改糟糕的设计。而这种主动性是建立在测试驱动的基础上的,否则在项目进度压力下除非万不得已,没有人愿意花时间冒险修改已经完成功能实现的代码,那怕这个修改看上去是那么轻而易举。而这种修改在敏捷团队中几乎是家常便饭,这些时间和风险投资的回报就是代码的敏捷性。
只有代码具有敏捷性,敏捷过程才能真正体现其价值。这些过程协调了项目各方的关系,令工作有序地进行,并且将代码的敏捷性转换成项目的收益——这才是真正的敏捷。
- 相关回复 上下关系8
🙂【原创】敏捷开发为什么能敏捷
🙂敏捷开发有其适用范围 任爱杰 字187 2012-09-16 02:52:15
🙂都是被逼的,呵呵 敲门 字242 2012-09-10 00:18:55
🙂如果有两个团队做比较,那自然没问题 1 代码ABC 字221 2012-09-10 03:36:51
🙂我只是从效果上说,实际情况嘛,因地制宜吧 3 敲门 字606 2012-09-10 04:30:07
🙂写得好! 老土拨鼠 字164 2012-09-04 00:13:30
🙂应该说目前在国内这样的团队不好找 2 代码ABC 字166 2012-09-04 11:52:37
🙂而且大部分程序员忽视测试,导致TDD难以发挥作用 晨池 字387 2012-09-13 02:29:31