一次迭代式开发的研究:一个迭代式项目计划
程序员文章站
2022-03-02 18:29:37
...
前面我们提到,当我们为软件分解工作项目,评估了工作量,确定了优先级。同时,整个项目的人员安排,也就是哪些人负责需求分析,哪些人负责设计,哪些人负责开发,哪些人负责测试,被确定下来,我们就可以制订我们的迭代式开发的项目计划了。
迭代式开发的最重要的特点就是迭代,即将整个开发过程划分为数个迭代期,每个迭代期的时间长短并非完全一致,但却差别不大,这就是迭代周期。迭代周期的长短视项目情况而定,过短可能会使项目的变更过于频繁(每次迭代都需要提交交付物与客户沟通,从而产生变更)。迭代周期过短的另一个毛病是使迭代中的每个步骤的时间过短,而使项目组成员有一种匆匆忙忙赶进度而跟不上趟的感觉,使整个项目的组织混乱。相反,迭代周期过长会使项目成员不能集中精力工作,而使组织过于松散而产生拖沓的现象。同时,当项目进度、业务需求的理解,以及其它方面出现偏差而脱离正常轨道时,不能得到及时的纠正。一个比较合适的迭代周期是20个工作日,即一个月时间。
当我们制订出我们的迭代周期以后,下一步的工作就是像填空一样,将要完成的功能,以及相应的工作项目,填入各个迭代期中。先将整个开发周期划分为数个迭代期,将每个迭代期按开发人员划分为数个格子,从而将整个开发过程制作成一个Excel表格。
随后的工作就是根据优先级和工作量,将各项功能填入到表格中。首先将优先级最高的放置到最靠前的迭代中,然后是优先级次高的,以此类推。同时,各个迭代可能会出现一些缝隙,如迭代周期是20个工作日,但填入的功能只有15个工作日。这是,见缝插针地选取一些时间短、难度小的功能插入期间,是一个不错的选择。同样,虽然迭代周期是20个工作日,但我们也可以根据实际情况上下浮动该迭代的长短,如我们选择了一个工作量为6日的功能,与前面的15个工作日组成了一个21日的迭代,这也是可以的。
另一个值得注意的问题是,在制定时间计划时不要安排得太满,应当留有一些富余,以应对一些突发事件,如项目成员生病,或者有其它突发任务需求处理。每个迭代期结束的时候,都应当对项目进度进行一个评估,是超前了还是滞后了。一个留有富余的项目计划,可以使那些滞后的工作的处理拥有更多的回旋余地。
最后,一个迭代式开发的项目计划就制订出来了。这个项目计划实际上就是一个表,详细标注哪些功能,应当由谁在哪个迭代期完成开发,各迭代期什么时间结束。它将成为一个航标,指引我们成功地完成我们的软件开发。
一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)
迭代式开发的最重要的特点就是迭代,即将整个开发过程划分为数个迭代期,每个迭代期的时间长短并非完全一致,但却差别不大,这就是迭代周期。迭代周期的长短视项目情况而定,过短可能会使项目的变更过于频繁(每次迭代都需要提交交付物与客户沟通,从而产生变更)。迭代周期过短的另一个毛病是使迭代中的每个步骤的时间过短,而使项目组成员有一种匆匆忙忙赶进度而跟不上趟的感觉,使整个项目的组织混乱。相反,迭代周期过长会使项目成员不能集中精力工作,而使组织过于松散而产生拖沓的现象。同时,当项目进度、业务需求的理解,以及其它方面出现偏差而脱离正常轨道时,不能得到及时的纠正。一个比较合适的迭代周期是20个工作日,即一个月时间。
当我们制订出我们的迭代周期以后,下一步的工作就是像填空一样,将要完成的功能,以及相应的工作项目,填入各个迭代期中。先将整个开发周期划分为数个迭代期,将每个迭代期按开发人员划分为数个格子,从而将整个开发过程制作成一个Excel表格。
随后的工作就是根据优先级和工作量,将各项功能填入到表格中。首先将优先级最高的放置到最靠前的迭代中,然后是优先级次高的,以此类推。同时,各个迭代可能会出现一些缝隙,如迭代周期是20个工作日,但填入的功能只有15个工作日。这是,见缝插针地选取一些时间短、难度小的功能插入期间,是一个不错的选择。同样,虽然迭代周期是20个工作日,但我们也可以根据实际情况上下浮动该迭代的长短,如我们选择了一个工作量为6日的功能,与前面的15个工作日组成了一个21日的迭代,这也是可以的。
另一个值得注意的问题是,在制定时间计划时不要安排得太满,应当留有一些富余,以应对一些突发事件,如项目成员生病,或者有其它突发任务需求处理。每个迭代期结束的时候,都应当对项目进度进行一个评估,是超前了还是滞后了。一个留有富余的项目计划,可以使那些滞后的工作的处理拥有更多的回旋余地。
最后,一个迭代式开发的项目计划就制订出来了。这个项目计划实际上就是一个表,详细标注哪些功能,应当由谁在哪个迭代期完成开发,各迭代期什么时间结束。它将成为一个航标,指引我们成功地完成我们的软件开发。
一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)