为什么增量必须要是“完成的”
来源:互联网 发布:贪心算法matlab程序 编辑:程序博客网 时间:2024/05/16 03:38
在每个Sprint结束时,团队都可以完成一个或多个可以投入使用的需求增量。这个时候你可以想尽一切办法对增量进行各种暴力测试,目的就是为了保证这些增量可以经受各种测试的考验。只有增量的质量足够好,才能够投入到实际的生产环境中。你还可以将新的增量和老的增量结合起来测试。一个完成、完整的增量必须是可以正式投入使用的。
如果一个增量无法正常工作,或者无法马上部署到生产环境中,那么你就不应该认定它为完成。而接下来你要做的就是让开发人员重新估算实际完成增量的时间,并把它重新放入产品待办列表中。但是,为什么要这么做呢?让我们来看看下面的例子:
在寒冷的季节里,当气温下降的时候,房子里的水管通常会开始发出由于碰撞产生的声响。当你打开水龙头、洗衣机或者洗碗机,当加热系统启动的时候,水管就会开始相互碰撞或者与支架和墙壁碰撞。有时这种碰撞的声响就像手提钻一样,尤其是碰撞发生在午夜的时候。这种碰撞很难修复,因为这是由于水管没有安装牢固恰当所致。当这些水管变得越来越松,开始碰撞的时候,要准确地找出碰撞发生的位置是非常困难的,因为碰撞可以发生在松脱的水管的多个位置。随着时间的推移,这些水管变得越来越松。要找出哪些部位需要加固是很困难的,因为根据碰撞所产生的响声,你估计需要加固的地方可能和实际需要加固的地方还有一段距离。通常,你需要在墙上凿一个巨大的洞,并移除隔离层,然后开始查找松脱的位置。如果运气好的话,可以找到松脱的地方进行加固。在安装水管的时候正确地安装和错误地安装所需要的成本其实差别不大,而在房子已经建好以后再对水管进行加固,这样的成本就高多了。
每个软件增量都应该像安装牢固的管道一样可靠。如果要在软件增量上开发更多新功能,我们不希望到时候回头去修复一些早期埋下的祸根。事实证明,在开发完成之后回头修复问题的代价是非常高昂的。
https://app.e2ma.net/app2/audience/signup/1746862/1720894/?v=a
- 为什么增量必须要是“完成的”
- HashMap的长度为什么要是2的n次方
- 匿名内部类使用的外部变量为什么要是final
- zookeeper集群为什么要是单数
- Zookeeper集群为什么要是单数
- 为什么要是用R语言?
- 匿名内部类使用的外部变量为什么要是final的
- C++——复制构造函数的形参为什么要是const引用
- C++中析构函数为什么要是虚函数
- 1.为什么要是用Spring:dao
- 2.为什么要是用Spring:manager
- 3.为什么要是用Spring:client
- 为什么一定要是三次握手,四次挥手
- 析构函数为什么要是虚函数
- 测试代码必须完成的事
- 今年必须完成的几件事情
- Linux下OpenCV打开USB接口的UVC摄像头的方法以及索引号为什么要是202的原因
- Android 开发要是的重点
- 网络编程模型综述 之 成熟的IO框架介绍
- 字符串反转操作汇总
- oracle contains(运算符)函数 全文检索
- cocos2d-x 适应不同分辨率 (转)
- linux free -m命令
- 为什么增量必须要是“完成的”
- [转载]程序员该如何去写自己的简历-代码而成的简历@http://blog.csdn.net/phodal/article/details/12908939
- GCC内联汇编基础
- eclipse中复制一行
- 千万别这么用linq,超级慢
- Kinect for Windows SDK开发入门(八):骨骼追踪进阶 上
- 《Example_MarkerBasedAR》中MarkerDetector.cpp源码及详细中文注释
- 宿主开发和交叉开发
- JAVA内存总结