一次迭代式开发的研究:开始真正的工作
程序员文章站
2022-05-14 11:56:31
...
我们经过以上一系列的分析,工作量评估与优先级评估,制订出一个迭代式的项目计划,再经过一系统用户确认与公司评审以后,终于可以开始我们真正的开发工作。
其实,迭代式开发的执行过程,也就是制作和不断去关注与评估项目进度表的过程。因此,当项目进入执行开发过程时,项目经理应当首先制作项目进度表。现在我们看看项目进度表长得啥样儿。
在一个项目进度表中,首先被纵向划分为三个区域:未开始任务区、正在进行任务区和已完成任务区,当然还可以增加其它区域,如下阶段完成任务区,以及工作进度、费用成本的统计图等。
同时,项目进度表又被横向地划分为数个区域,每个区域就是一个迭代期。在项目初始的状态下,所有的功能以及从中分解出来的工作,按照项目计划被分配到了对应的迭代期、未开始任务的区域。
另外,另一个统计表对整个开发进度的监控比较重要,它被称作Burn-Down Table(暂时翻译为剩余工作量统计表吧)。这个统计表的横轴是项目进行的时间,纵轴是剩余的工作量。项目开始时,横轴应当是0,而纵轴,按照项目计划,应当是该项目的总工作量。每完成一项工作,就减去该项工作的工作量,直到所有工作完成,纵轴为0。如果项目是正常而平稳地进行的,整个统计表就应当是一个平滑下降的直线,直到最后在计划交付时间(Deadline)结束,这跟直线被称作基准线,但它是理想的、实际情况往往不会是这样的。在整个项目的每天都记录下当天的剩余工作量,那么这个表就呈现出一副实际工作进度曲线图。当项目因各方面原因被延后时,该曲线就会高于基准线;当项目因进展顺利而超前时,该曲线就会低于基准线。所以Burn-Down Table可以为项目经理及其成员随时掌握项目进度,及时调整项目偏差,提供方便。
当项目进入第一个迭代期时,项目经理将第一个迭代期的功能及其任务描述清楚,填入到正在进行任务区,同时不要忘记填写各项任务的负责人。众所周知,迭代开发的每个迭代期分为需求分析、设计、开发、测试几个部分,但在这个表中监控的内容可详可简。如果希望更精细化管理,可以将每个任务再分解为需求分析、设计、开发、测试几个部分分别进行监控;如果项目不是非常复杂则不用划分如此精细,可以划分为开发与测试,或者不划分开。每天早上,项目成员召开一个简短的例会,或者通过其它方式,向项目经理汇报各项任务的工作进度。项目经理收集各项任务的工作进度,在这张表中详细记录下来。如果一项任务全部完成,则将其放置到已完成任务区域,再将其它刚刚开始的任务放置到正在进行任务区。最后,项目经理计算项目剩余工作量,并将其填写到Burn-Down Table中。
记得极限编程(XP)的其中一项重要的思想就是及时发现项目进行过程中的进度偏差,并及时进行纠正,而Burn-Down Table的使用正是体现了这种思想。通过整理和绘制Burn-Down Table,为项目经理及其成员提供了一个清晰的可视化图表,表明项目当前的进度是超前还是延后。如果是超前,项目组可以进行更多的检查与测试,进一步保证项目质量;如果是延后,则不得不通过赶工、加班等方式,加快进度。
一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)
其实,迭代式开发的执行过程,也就是制作和不断去关注与评估项目进度表的过程。因此,当项目进入执行开发过程时,项目经理应当首先制作项目进度表。现在我们看看项目进度表长得啥样儿。
在一个项目进度表中,首先被纵向划分为三个区域:未开始任务区、正在进行任务区和已完成任务区,当然还可以增加其它区域,如下阶段完成任务区,以及工作进度、费用成本的统计图等。
同时,项目进度表又被横向地划分为数个区域,每个区域就是一个迭代期。在项目初始的状态下,所有的功能以及从中分解出来的工作,按照项目计划被分配到了对应的迭代期、未开始任务的区域。
另外,另一个统计表对整个开发进度的监控比较重要,它被称作Burn-Down Table(暂时翻译为剩余工作量统计表吧)。这个统计表的横轴是项目进行的时间,纵轴是剩余的工作量。项目开始时,横轴应当是0,而纵轴,按照项目计划,应当是该项目的总工作量。每完成一项工作,就减去该项工作的工作量,直到所有工作完成,纵轴为0。如果项目是正常而平稳地进行的,整个统计表就应当是一个平滑下降的直线,直到最后在计划交付时间(Deadline)结束,这跟直线被称作基准线,但它是理想的、实际情况往往不会是这样的。在整个项目的每天都记录下当天的剩余工作量,那么这个表就呈现出一副实际工作进度曲线图。当项目因各方面原因被延后时,该曲线就会高于基准线;当项目因进展顺利而超前时,该曲线就会低于基准线。所以Burn-Down Table可以为项目经理及其成员随时掌握项目进度,及时调整项目偏差,提供方便。
当项目进入第一个迭代期时,项目经理将第一个迭代期的功能及其任务描述清楚,填入到正在进行任务区,同时不要忘记填写各项任务的负责人。众所周知,迭代开发的每个迭代期分为需求分析、设计、开发、测试几个部分,但在这个表中监控的内容可详可简。如果希望更精细化管理,可以将每个任务再分解为需求分析、设计、开发、测试几个部分分别进行监控;如果项目不是非常复杂则不用划分如此精细,可以划分为开发与测试,或者不划分开。每天早上,项目成员召开一个简短的例会,或者通过其它方式,向项目经理汇报各项任务的工作进度。项目经理收集各项任务的工作进度,在这张表中详细记录下来。如果一项任务全部完成,则将其放置到已完成任务区域,再将其它刚刚开始的任务放置到正在进行任务区。最后,项目经理计算项目剩余工作量,并将其填写到Burn-Down Table中。
记得极限编程(XP)的其中一项重要的思想就是及时发现项目进行过程中的进度偏差,并及时进行纠正,而Burn-Down Table的使用正是体现了这种思想。通过整理和绘制Burn-Down Table,为项目经理及其成员提供了一个清晰的可视化图表,表明项目当前的进度是超前还是延后。如果是超前,项目组可以进行更多的检查与测试,进一步保证项目质量;如果是延后,则不得不通过赶工、加班等方式,加快进度。
一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)
上一篇: 前端性能优化之路-dom编程优化
下一篇: 浅谈敏捷开发和迭代开发相结合