西西河

主题:【原创】敏捷开发为什么能敏捷 -- 代码ABC

共:💬19 🌺42
全看分页树展 · 主题
家园 【原创】敏捷开发为什么能敏捷

通过观察和一些交流发现国内许多号称实施了敏捷开发的团队大多不是真正的敏捷。经常遇到一些令人无语的场面。比如:和他们将迭代、讲User Story、讲点数什么的都很好,末了大多会问那么测试该怎么写呢?

……

我认为在没掌握测试驱动开发的情况下谈论任何敏捷过程都是没有意义的。敏捷开发之所以能够敏捷其核心是代码本身是敏捷的,也就是代码本身可以快速地响应变化。编写测试不仅仅在于测试令软件修改后的正确性验证得到保证,更在于先行的测试迫使程序员做出松耦合的设计,在代码的中间插入各种隔离措施。让我们修改程序的时候不至于发生牵一发而动全身的事故。而还只是测试提升代码敏捷性的其中一个作用。

敏捷开发扬弃了早期英雄程序员的概念,但是回归到开发以程序员为主的概念。敏捷团队强调程序员的主动性,程序员应能主动花时间修改糟糕的设计。而这种主动性是建立在测试驱动的基础上的,否则在项目进度压力下除非万不得已,没有人愿意花时间冒险修改已经完成功能实现的代码,那怕这个修改看上去是那么轻而易举。而这种修改在敏捷团队中几乎是家常便饭,这些时间和风险投资的回报就是代码的敏捷性。

只有代码具有敏捷性,敏捷过程才能真正体现其价值。这些过程协调了项目各方的关系,令工作有序地进行,并且将代码的敏捷性转换成项目的收益——这才是真正的敏捷。

通宝推:切地雷,
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河