前面我们提到,当我们为软件分解工作项目,评估了工作量,确定了优先级。同时,整个项目的人员安排,也就是哪些人负责需求分析,哪些人负责设计,哪些人负责开发,哪些人负责测试,被确定下来,我们就可以制订我们的迭代式开发的项目计划了。
迭代式开发的最重要的特点就是迭代,即将整个开发过程划分为数个迭代期,每个迭代期的时间长短并非完全一致,但却差别不大,这就是迭代周期。迭代周期的长短视项目情况而定,过短可能会使项目的变更过于频繁(每次迭代都需要提交交付物与客户沟通,从而产生变更)。迭代周期过短的另一个毛病是使迭代中的每个步骤的时间过短,而使项目组成员有一种匆匆忙忙赶进度而跟不上趟的感觉,使整个项目的组织混乱。相反,迭代周期过长会使项目成员不能集中精力工作,而使组织过于松散而产生拖沓的现象。同时,当项目进度、业务需求的理解,以及其它方面出现偏差而脱离正常轨道时,不能得到及时的纠正。一个比较合适的迭代周期是20个工作日,即一个月时间。
当我们制订出我们的迭代周期以后,下一步的工作就是像填空一样,将要完成的功能,以及相应的工作项目,填入各个迭代期中。先将整个开发周期划分为数个迭代期,将每个迭代期按开发人员划分为数个格子,从而将整个开发过程制作成一个Excel表格。
随后的工作就是根据优先级和工作量,将各项功能填入到表格中。首先将优先级最高的放置到最靠前的迭代中,然后是优先级次高的,以此类推。同时,各个迭代可能会出现一些缝隙,如迭代周期是20个工作日,但填入的功能只有15个工作日。这是,见缝插针地选取一些时间短、难度小的功能插入期间,是一个不错的选择。同样,虽然迭代周期是20个工作日,但我们也可以根据实际情况上下浮动该迭代的长短,如我们选择了一个工作量为6日的功能,与前面的15个工作日组成了一个21日的迭代,这也是可以的。
另一个值得注意的问题是,在制定时间计划时不要安排得太满,应当留有一些富余,以应对一些突发事件,如项目成员生病,或者有其它突发任务需求处理。每个迭代期结束的时候,都应当对项目进度进行一个评估,是超前了还是滞后了。一个留有富余的项目计划,可以使那些滞后的工作的处理拥有更多的回旋余地。
最后,一个迭代式开发的项目计划就制订出来了。这个项目计划实际上就是一个表,详细标注哪些功能,应当由谁在哪个迭代期完成开发,各迭代期什么时间结束。它将成为一个航标,指引我们成功地完成我们的软件开发。
一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)
分享到:
相关推荐
6. **迭代**:在软件开发中,迭代是一种持续改进的方法,每个迭代都会产生一个可工作的软件版本,通过多次迭代来逐步完善产品。 7. **风险管理**:识别可能对项目产生负面影响的风险,并制定应对策略,以降低风险对...
- **适应变化**:随着项目的发展,需求可能会发生变化,迭代开发允许团队在每个迭代中调整计划,以应对这些变化。 - **风险管理**:通过频繁的检查和反馈,可以尽早发现并解决潜在问题,降低项目风险。 - **早期...
本文将深入探讨迭代化开发的核心概念、与瀑布模型的区别、软件项目的开发阶段、制定项目开发计划以及迭代开发的指导原则和实例分析。 首先,统一软件开发过程(Rational Unified Process,RUP)是IBM软件集团...
在每个迭代开始前都要根据项目当前的状态和所要达到的阶段性目标制定迭代计划,整个迭代过程包含了需求、设计、实施(编码)、部署、测试等各种类型的开发活动,迭代完成之后需要对迭代完成的结果进行评估,并以此为...
每个阶段性目标(即一次迭代)都包含了一系列开发活动,如需求分析、设计、编码、测试等。每个迭代结束后都会对完成的结果进行评估,以便为下一次迭代提供反馈和调整方向。 迭代化开发的主要特点包括: 1. **允许...
- **MongoDB**:一个NoSQL数据库,用于处理大量非结构化数据。 - **JsonWebToken (JWT)**:一种轻量级的身份验证标准,用于安全地传输信息。 - **Java邮件操作**:通过JavaMail API实现邮件发送和接收功能。 - **...
该模板作为开发类(迭代模型)项目的参考模板,纵向的项目过程,项目经理可根据自身项目特点做调整;可直接导入进度管理系统,用于进度计划制定及进度计划维护
本文将详细介绍一个具体的架构重构项目的迭代实践过程,包括项目的背景、迭代开发模式的应用、迭代计划制定以及迭代总结等方面。 #### 二、软件项目的风险及应对策略 **1. 风险分析** - **不确定性**: 在软件项目...
- 整个项目由多个这样的迭代组成,每个迭代都是一个完整的小项目,逐步完善整个系统。 迭代化开发通过分阶段目标和持续反馈,提高了软件开发的效率、适应性和质量。它不仅解决了传统瀑布模型的局限,还引入了风险...
在每个迭代开始前都要根据项目当前的状态和所要达到的阶段性目标制定迭代计划,整个迭代过程包含了需求、设计、实施(编码)、部署、测试等各种类型的开发活动,迭代完成之后需要对迭代完成的结果进行评估,并以此为...
《项目迭代计划与任务安排》是一个关于软件开发过程管理和优化的培训材料,主要涵盖了迭代计划的制定、迭代式开发的概念及其特点,以及工作流、工作细分结构(WBS)等相关内容。以下是这些知识点的详细说明: 1. **...
- **项目工程管理**: 项目工程管理包括了对项目的整个生命周期进行管理和控制,涵盖项目计划、执行、监控和收尾等各个环节。 #### 十三、版本封存备份与外部/内部质量控制 - **版本封存备份**: 版本封存备份是指在...
总结来说,平台建设项目设计开发一体化中的版本迭代需求清单是一个详细的指导文档,它涵盖了迭代的所有关键要素,从需求提出到测试验证,再到部门间的沟通与协作。有效管理和执行这个清单能够确保项目的顺利进行,...
### 软件工程中的迭代开发方法 #### 第一章:软件工程概述 - **软件工程定义**: - 软件工程是一种系统化的、规范化的、可度量化的方法论,旨在指导软件的开发、维护及运行过程。 - 其目标在于提升软件的质量、...
《迭代二项目计划1》是Coding Fairy团队在软件开发过程中的一个重要阶段,旨在明确和细化项目的第二阶段目标,以及为后续的迭代做准备。在这个阶段,团队主要关注需求的深化理解、功能的实现以及对下一阶段的规划。...
- **主要目标**:明确基于安卓平台的测评软件项目中的精化迭代计划,包括需求分析、用例设计、架构原型开发等。 - **具体目的**:确保系统设计符合需求,改进项目执行计划,验证架构可行性及性能。 #### 三、项目...