如何应对变态的软件开发需求变动?

2015-06-23 15:36:27      访问:

【内容导读】 软件开发需求一直在变化。很变态,但是很多人都碰到过的情况:一直到代码编写完毕前,软件开发需求都可能在变化,软件开发需求的冻结要到编码完毕时才完成。为此,软件开发方法从最初的瀑布软件开发,到迭代软件开发再到敏捷软件开发。他们都是适应软件软

 

软件开发需求一直在变化。很变态,但是很多人都碰到过的情况:一直到代码编写完毕前,软件开发需求都可能在变化,软件开发需求的冻结要到编码完毕时才完成。

为此,软件开发方法从最初的瀑布软件开发, 到迭代软件开发再到敏捷软件开发。他们都是适应软件软件开发需求、软件开发迟迟不能冻结定稿的产物。上面提到的软件开发方法,一个比一个软件开发需求、软件开发定稿的时间要晚。 当然,变化不能一直不稳定,那么我们软件就永远不能发布了。软件架构也受到这些影响,对于软件开发模式,也同样的是受变化影响的。

我们预计到一个地方是稳定的,就一个选择,我们如果还用软件开发模式,就是愚蠢的性能低下的做法。软件开发模式应该用到我们预计到这里会发生变化,为了保证复用性,我们对变化进行抽象,抽象出一个稳定的抽象。抽象出来的这个类,如果时不时都会变化一下,那简直要疯了,这个抽象的类一定要保证稳定性。这才是OK思想,软件开发模式的思想。
 
这些年的软件开发经验积累下来,我发现我的软件开发、架构很多时候都是一个四不象,或者是一个性能,可扩展性等中庸折中的取舍方案。一定要想清楚哪些是要变化的,不会变化的,不要画蛇添足的装酷。对于要变化的要做到应对变化,提高复用来抽象,高水平的技术人员,抽象出来的东西不会三天两头就变的。