分享

敏捷开发保障的不是质量而是软件的可修改性

 东北十三少 2024-04-17 发布于四川

敏捷拥抱变化。

原来对这句话的认识不深,仅仅以为敏捷开发相比传统的开发方式,更适应需求变化,不会抗拒需求变化。因为敏捷开发分步迭代,即时验证,持续改进。

看到高人的解释,才知道这些认识有些浅薄了。

敏捷开发和传统开发的根本区别实际上是对变化的预测有无信心。

对于传统开发,开发人员寄希望于自己已经了解项目所有可能的变化,所以,他们会花大量时间弄清需求,制定出详细的计划,以为项目可以按照计划顺利进行。

可实际上,很少有项目能够按照事先设想的计划进行,意外总会来临,可能是资源除了问题,可能设计存在缺陷,可能需求确认有问题,这些变化难以完全避免。

而敏捷开发对于项目变化的预测没有那么有信心。既然无法准确地预测未来,项目变化必然会发生,那么我们不妨采取一些措施,使得变化到来之时对项目的影响最小。

这些措施就是敏捷开发的优秀实践,包括:测试驱动开发、重构、持续集成……等等。通过应用这些实践,当变化不可避免地来临时,我们可以从容地应对,因为这些实践使得项目保持足够的灵活性。

敏捷开发提倡的这些实践并不是为了“保障质量”,它们所保障的其是软件的可修改性。

既然敏捷开发是坚信变化必定到来,传统开发是坚信未来已在我手中,那么,你要是相信可以清楚地预测未来,你就继续选择传统开发;你相信变化难以预测,你就选择敏捷开发。

你会如何选择?

这正是:

敏捷开发拥变化,因为变化必发生
敏捷保障非质量,而是软件修改性

参考书目:不敢止步:一个软件工匠的12年,作者:熊节,出版社:人民邮电出版社

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多