抛砖引玉:敏捷开发实践会总是对我们有帮助么?

  • Amr Elssamadisy
  • 李剑

2007 年 9 月 12 日

话题:敏捷架构文化 & 方法

我们在敏捷开发方面所付出的努力,真的会给我们所在的组织带来助益么?不过首先我们得弄清楚“助益”这个词对于整个组织而言意味着什么。这取决于组织发展的目标——如果我们所做的事情在推动组织向目标前进,那么刚才那个问题的答案就是“是的”,如果相反,那么答案就是“绝对不是”,我们甚至还会在无意中损 害组织的利益。

说的更实际一些,我们拿一个上市公司来看,它的目的就是为股东带来利益。任何可以帮助该公司获取更多利益的事情都是符合该公司目标的。然后转过头来看一下敏捷开发和组织目标之间的关系:如果我们组织的最终目标就是赚钱,那么敏捷开发会帮助我们赚更多的钱么?我观察到的答案是不一致的,有的时候会,有的时候不会。

约束理论(Theory of Constraints)的创始人 Goldratt 说,如果我们不是致力于解决瓶颈问题,那么我们就是在浪费时间——因为是瓶颈限制了整个组织的产出。实际上,如果我们不是针对瓶颈问题工作,而是逆流而行,那我们可能就会因为把事情变得更糟,因为存货的增加,同时也会带来更高的营业费用和更长的供货期。

软件开发是我们组织的瓶颈么?改善开发过程会带来实际上的收益增加么?还是只会一味的增加存货,从而导致营业费用的增加和供货期的延长呢?不幸的是,大多数人都对此不甚了了。如果我们是软件开发团队的一部分,我们会很自然的把创造更多的价值或是更快的反馈当作我们的工作,从而变得敏捷。但是无情的现实却告诉我们,如果在我们的组织中,软件并不是整体的瓶颈,那么我们所做的一切——通过采用敏捷实践来让事情变得更好——就会带来人力物力的浪费。

很多人会耸耸肩说,“这关我什么事啊,我只是个开发人员(测试人员,或是项目经理,等等)”。但这难道就只和执行高层有关系么?我们不应该从整体上考虑组织的发展经营方向来让我们的工作更有成效么?我们就不该承担起和组织一起找出瓶颈所在的责任么?如果软件开发并不是我们的瓶颈,那么我们为什么要浪费时间和精力来对它做出改善呢?这并不会对组织的发展有多少帮助的。希望我们可以一起来分享一下各自的经验感受,你是否知道你所在组织的瓶颈是什么?如果知道的话,你是怎么发现的?软件开发是瓶颈所在么?你在组织中的角色又是什么?你认为你应该去了解组织的发展目标和瓶颈么?

查看英文原文Opinion: Do Agile Development Practices Always Help?



敏捷架构文化 & 方法