古人云:“运筹帷幄之中,决胜千里之外。”一次成功的软件开发,制订完善的项目计划是决定性的第一步,迭代式开发更是如此。前面我们提到,迭代式开发与传统开发方式差异不小,迭代式开发其过程更加复杂,协调各方协同工作的步骤也就更多。
迭代式开发的特点就是迭代,在每个迭代期都包含需求分析、设计、开发、测试。因此,迭代式开发从一开始就要求开发中的各方人员,需求分析员、设计师、开发人员与测试人员,几乎同时开工。如何组织协调呢?另外,整个开发过程被划分为一个又一个的迭代期,那么,如何将所有的工作合理分配到每个迭代期里呢?这些都是一个迭代式开发项目计划必须考虑的问题。
那么,我们应当如何制订迭代式开发的项目计划呢?制订计划前的分析是其关键之所在。
我们采用迭代式开发的目的就是希望我们的开发获得成功。一次成功的软件开发主要需要解决的是三个问题:“What is needed, on time, on budget.”也就是需求、时间与经费。客户看待一套软件是否成功,就是三个标准:功能是否满足需求,是否按期交付,耗费的经费是否在预算内。功能是否满足需求,是在迭代开发整个过程中逐步解决的问题,而开发周期与经费预算却是软件开发初期的项目计划中就必须考虑清楚的问题。
工作量评估是预计开发周期与人员投入、制订经费预算的关键步骤。将软件划分为若干模块,将模块划分为若干功能,再将功能划分为若干项工作,仔细评估每项工作的工作量。合计每一项工作的工作量,就是整个项目的工作量。但实际的工作量评估并非如此简单,后面将会深入讨论。
工作量评估的直接作用就是评估开发周期与人员投入。一般认为开发周期与人员投入成比例,其实是一种误解。增加人员投入并非能够缩短开发周期。随着人员的增加,培训、沟通、协调的成本都将会增大。用户期望的开发周期与可以投入的人员是一对矛盾,最终需要寻找一个平衡点,当然这也是与客户反复讨论的过程。有时,当这对矛盾无法协调时,分期开发也许是一个不错的选择,毕竟客户始终是希望软件系统尽可能早地上线使用。最后,当开发周期与人员投入确定下来时,经费预算也就是计算出来了。
为每一项工作评估工作量的另一个重要作用就是将工作合理分配到各个迭代期中。迭代开发,迭代期就如同一个又一个的格子,而评估后的每一项工作就如同一颗又一颗大小不一的石子,被投放到每一个格子中。而它们孰先孰后,则是由工作的优先级决定的。靠近主营业务的、用户使用频率高的,优先级高;远离主营业务的、用户使用频率低的,优先级低。优先级决定了工作安排的顺序,它是制订计划前分析的另一个重要内容。
总之,迭代开发始于完备的项目计划,完备的项目计划的关键在于计划制订前的分析,也就是分解后的工作项目列表,及其工作量评估与优先级评估。
一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)
分享到:
相关推荐
迭代式迭代式迭代式
RUP迭代式开发全中文资料---强烈推荐
RUP迭代开发过程,喜欢研究面向对象的软件开发模式的朋友可以看看。
近几年,研究者扩展和改进原始MapReduce,已开发了若干迭代式MapReduce以更好地为大数据处理而支持迭代计算。对迭代式MapReduce编程框架进行综合评述,较详细地阐述了这些研究成果,给出了它们各自的基本思想,并...
本文档是迭代开发流程图,详细介绍了迭代开发的具体流程和细节!
2021光伏设备深度研究报告:迭代与机遇.pdf
软件迭代开发计划模板,项目管理文档参考用
为解决此问题,提出一种改进的Lasso方法:迭代式Lasso方法。迭代式Lasso方法首先将特征集分成K份,对第一份特征子集进行特征提取,将所得特征加入第二份,再对第二份特征进行特征提取;然后将所得特征加入第三份,...
迭代开发相关技术文档,比较迭代开发与传统CMMI开发模式的差异
NULL 博文链接:https://momoliu.iteye.com/blog/1745110
迭代软件开发流程.doc
C语言实现 求二项式各项系数(迭代,递归法)
Rational迭代化软件开发
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。 迭代器只能往前不会后退。 1. 创建迭代器对象 实例:基于list列表创建迭代器,使用next()依次获取list列表的前两个元素,并输出结果。 具体...
求解非线性方程的经典迭代方法牛顿迭代法matlab程序源代码m文件
敏捷迭代开发,新思维
敏捷迭代开发,关于敏捷开发的详细介绍~~~ 软件工程的经典哦~~~
电气设备行业专题研究:从技术迭代和供需关系看铜箔板块投资机会(28页).pdf
产品需求文档:如何撰写一份适合敏捷迭代开发的PRD文档?.docx
需求驱动的迭代开发过程 需求驱动的迭代开发过程