我们的软件开发存在巨大的风险,但问题到底出在哪里呢?这对于问题的解决至关重要。
1.
我们在没有深刻理解业务需求的情况下就必须完成需求分析;
2.
客户在没有弄明白自己的真正需求的情况下就被要求确定软件的业务需求;
3.
我们在没有与客户再次沟通的情况下埋头苦干,直到完成开发并交付客户。
既然问题出在这里,我们就可以制订我们的解决办法:
1.
业务需求的分析不再是一蹴而就,而是贯穿软件开发的始终。一方面,我们在与客户的持续沟通中加深业务领域的理解,进而加深对业务需求的理解,另一方面,客户也在加深对软件的理解,进而完善自己的需求。
2.
软件开发的过程不再是单反面的埋头苦干,而是双方的良性互动。定期的用户体验,可使用户及时了解项目进度,发现软件问题,并及时提出来予以纠正,使软件的开发不断朝着正确的方向前进。
这就是迭代式开发。它是对以往开发模式的一种革新,但不是对以往开发模式的完全否定与摒弃,而是一种改造。
以往的瀑布式软件开发模式将整个软件开发过程分为四个阶段:需求分析、设计、开发、测试。与瀑布式软件开发不同,迭代式软件开发首先将整个开发过
程分为一个又一个的小段,每个小段大概在20个工作日左右,被称为“迭代(Iteration)”。一个迭代就是一个小的开发过程,如同瀑布式开发一样被
分为四个阶段:需求分析、设计、开发、测试。
采用迭代式开发,就是将以往的一个瀑布,变成了数个循环往复的瀑布,使软件以进化的方式逐渐推进。
最初的迭代,开发的是软件最基本最主要的功能,经过第一次迭代以后交付给客户。这时候客户看到的,不再是虚无缥缈的需求描述,而是实实在在的软件
界面。在此基础上,客户可能会认可我们的设计,也可能提出一些改进意见。修改这些意见,开始进入第二次迭代。第二次迭代可能是在第一次迭代的基础上进一步
丰富和完善功能,也可能是进一步实现其它第一次迭代还未实现的功能,之后再次交付客户。
如此循环往复,使我们不断在需求分析、设计、开发、测试,以及交付中,推进我们的软件开发。这样的开发过程,注定最终交付给客户的是他们满意的软件。这就是迭代式软件开发。
标签:迭代,开发