我们的软件开发存在巨大的风险,但问题到底出在哪里呢?这对于问题的解决至关重要。
1. 我们在没有深刻理解业务需求的情况下就必须完成需求分析;
2. 客户在没有弄明白自己的真正需求的情况下就被要求确定软件的业务需求;
3. 我们在没有与客户再次沟通的情况下埋头苦干,直到完成开发并交付客户。
既然问题出在这里,我们就可以制订我们的解决办法:
1. 业务需求的分析不再是一蹴而就,而是贯穿软件开发的始终。一方面,我们在与客户的持续沟通中加深业务领域的理解,进而加深对业务需求的理解,另一方面,客户也在加深对软件的理解,进而完善自己的需求。
2. 软件开发的过程不再是单反面的埋头苦干,而是双方的良性互动。定期的用户体验,可使用户及时了解项目进度,发现软件问题,并及时提出来予以纠正,使软件的开发不断朝着正确的方向前进。
这就是迭代式开发。它是对以往开发模式的一种革新,但不是对以往开发模式的完全否定与摒弃,而是一种改造。
以往的瀑布式软件开发模式将整个软件开发过程分为四个阶段:需求分析、设计、开发、测试。与瀑布式软件开发不同,迭代式软件开发首先将整个开发过程分为一个又一个的小段,每个小段大概在20个工作日左右,被称为“迭代(Iteration)”。一个迭代就是一个小的开发过程,如同瀑布式开发一样被分为四个阶段:需求分析、设计、开发、测试。
采用迭代式开发,就是将以往的一个瀑布,变成了数个循环往复的瀑布,使软件以进化的方式逐渐推进。
最初的迭代,开发的是软件最基本最主要的功能,经过第一次迭代以后交付给客户。这时候客户看到的,不再是虚无缥缈的需求描述,而是实实在在的软件界面。在此基础上,客户可能会认可我们的设计,也可能提出一些改进意见。修改这些意见,开始进入第二次迭代。第二次迭代可能是在第一次迭代的基础上进一步丰富和完善功能,也可能是进一步实现其它第一次迭代还未实现的功能,之后再次交付客户。
如此循环往复,使我们不断在需求分析、设计、开发、测试,以及交付中,推进我们的软件开发。这样的开发过程,注定最终交付给客户的是他们满意的软件。这就是迭代式软件开发。
一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)
分享到:
相关推荐
RUP迭代式开发全中文资料---强烈推荐
近几年,研究者扩展和改进原始MapReduce,已开发了若干迭代式MapReduce以更好地为大数据处理而支持迭代计算。对迭代式MapReduce编程框架进行综合评述,较详细地阐述了这些研究成果,给出了它们各自的基本思想,并...
软件迭代开发计划模板,项目管理文档参考用
RUP迭代开发过程,喜欢研究面向对象的软件开发模式的朋友可以看看。
本文档是迭代开发流程图,详细介绍了迭代开发的具体流程和细节!
迭代开发相关技术文档,比较迭代开发与传统CMMI开发模式的差异
NULL 博文链接:https://momoliu.iteye.com/blog/1745110
Rational迭代化软件开发
迭代软件开发流程.doc
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。 迭代器只能往前不会后退。 1. 创建迭代器对象 实例:基于list列表创建迭代器,使用next()依次获取list列表的前两个元素,并输出结果。 具体...
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum在英语的意思是橄榄球里的争球。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum ofScrums....
结合互信息度理论,提出一种基于背景学习的迭代式框架,在此基础上通过对分词数据预处理来改进传统的基于朴素贝叶斯模型的文本分类算法,并使用新浪网不同类别数据对提出的迭代式框架进行实验评估,实验结果表明提出...
使用金字塔分解和迭代细化,计算OF。 包括一个演示和一篇彻底解释该方法的论文。
1.前言迭代化开发做为一种软件开发方法,相比传统的瀑布式开发方法而言,具备很多无可比拟的优势。正是因为看到迭代化开发的这些优势,越来越多的开发组织正在内部推行核心业务流程的变革,将软件开发这种在开发组织...
Rational统一软件开发过程迭代开发技术白皮书,对RUP有什么问题可与我交流。study1860@163.com
自己整理编写的软件开发流程与质量管理的资料,具有实战意义。
新型的软件开发流程 采用迭代化开发控制项目风险
敏捷迭代开发,关于敏捷开发的详细介绍~~~ 软件工程的经典哦~~~
敏捷迭代开发,新思维
产品需求文档:如何撰写一份适合敏捷迭代开发的PRD文档?.docx