为什么增量必须要是“完成的”

来源:互联网 发布:贪心算法matlab程序 编辑:程序博客网 时间:2024/05/16 03:38
       在每个Sprint结束时,团队都可以完成一个或多个可以投入使用的需求增量。这个时候你可以想尽一切办法对增量进行各种暴力测试,目的就是为了保证这些增量可以经受各种测试的考验。只有增量的质量足够好,才能够投入到实际的生产环境中。你还可以将新的增量和老的增量结合起来测试。一个完成、完整的增量必须是可以正式投入使用的。
       如果一个增量无法正常工作,或者无法马上部署到生产环境中,那么你就不应该认定它为完成。而接下来你要做的就是让开发人员重新估算实际完成增量的时间,并把它重新放入产品待办列表中。但是,为什么要这么做呢?让我们来看看下面的例子:
       在寒冷的季节里,当气温下降的时候,房子里的水管通常会开始发出由于碰撞产生的声响。当你打开水龙头、洗衣机或者洗碗机,当加热系统启动的时候,水管就会开始相互碰撞或者与支架和墙壁碰撞。有时这种碰撞的声响就像手提钻一样,尤其是碰撞发生在午夜的时候。这种碰撞很难修复,因为这是由于水管没有安装牢固恰当所致。当这些水管变得越来越松,开始碰撞的时候,要准确地找出碰撞发生的位置是非常困难的,因为碰撞可以发生在松脱的水管的多个位置。随着时间的推移,这些水管变得越来越松。要找出哪些部位需要加固是很困难的,因为根据碰撞所产生的响声,你估计需要加固的地方可能和实际需要加固的地方还有一段距离。通常,你需要在墙上凿一个巨大的洞,并移除隔离层,然后开始查找松脱的位置。如果运气好的话,可以找到松脱的地方进行加固。在安装水管的时候正确地安装和错误地安装所需要的成本其实差别不大,而在房子已经建好以后再对水管进行加固,这样的成本就高多了。
       每个软件增量都应该像安装牢固的管道一样可靠。如果要在软件增量上开发更多新功能,我们不希望到时候回头去修复一些早期埋下的祸根。事实证明,在开发完成之后回头修复问题的代价是非常高昂的。
https://app.e2ma.net/app2/audience/signup/1746862/1720894/?v=a
原创粉丝点击