我们经过以上一系列的分析,工作量评估与优先级评估,制订出一个迭代式的项目计划,再经过一系统用户确认与公司评审以后,终于可以开始我们真正的开发工作。
其实,迭代式开发的执行过程,也就是制作和不断去关注与评估项目进度表的过程。因此,当项目进入执行开发过程时,项目经理应当首先制作项目进度表。现在我们看看项目进度表长得啥样儿。
在一个项目进度表中,首先被纵向划分为三个区域:未开始任务区、正在进行任务区和已完成任务区,当然还可以增加其它区域,如下阶段完成任务区,以及工作进度、费用成本的统计图等。
同时,项目进度表又被横向地划分为数个区域,每个区域就是一个迭代期。在项目初始的状态下,所有的功能以及从中分解出来的工作,按照项目计划被分配到了对应的迭代期、未开始任务的区域。
另外,另一个统计表对整个开发进度的监控比较重要,它被称作Burn-Down Table(暂时翻译为剩余工作量统计表吧)。这个统计表的横轴是项目进行的时间,纵轴是剩余的工作量。项目开始时,横轴应当是0,而纵轴,按照项目计划,应当是该项目的总工作量。每完成一项工作,就减去该项工作的工作量,直到所有工作完成,纵轴为0。如果项目是正常而平稳地进行的,整个统计表就应当是一个平滑下降的直线,直到最后在计划交付时间(Deadline)结束,这跟直线被称作基准线,但它是理想的、实际情况往往不会是这样的。在整个项目的每天都记录下当天的剩余工作量,那么这个表就呈现出一副实际工作进度曲线图。当项目因各方面原因被延后时,该曲线就会高于基准线;当项目因进展顺利而超前时,该曲线就会低于基准线。所以Burn-Down Table可以为项目经理及其成员随时掌握项目进度,及时调整项目偏差,提供方便。
当项目进入第一个迭代期时,项目经理将第一个迭代期的功能及其任务描述清楚,填入到正在进行任务区,同时不要忘记填写各项任务的负责人。众所周知,迭代开发的每个迭代期分为需求分析、设计、开发、测试几个部分,但在这个表中监控的内容可详可简。如果希望更精细化管理,可以将每个任务再分解为需求分析、设计、开发、测试几个部分分别进行监控;如果项目不是非常复杂则不用划分如此精细,可以划分为开发与测试,或者不划分开。每天早上,项目成员召开一个简短的例会,或者通过其它方式,向项目经理汇报各项任务的工作进度。项目经理收集各项任务的工作进度,在这张表中详细记录下来。如果一项任务全部完成,则将其放置到已完成任务区域,再将其它刚刚开始的任务放置到正在进行任务区。最后,项目经理计算项目剩余工作量,并将其填写到Burn-Down Table中。
记得极限编程(XP)的其中一项重要的思想就是及时发现项目进行过程中的进度偏差,并及时进行纠正,而Burn-Down Table的使用正是体现了这种思想。通过整理和绘制Burn-Down Table,为项目经理及其成员提供了一个清晰的可视化图表,表明项目当前的进度是超前还是延后。如果是超前,项目组可以进行更多的检查与测试,进一步保证项目质量;如果是延后,则不得不通过赶工、加班等方式,加快进度。
- 浏览: 146105 次
- 性别:
- 来自: 广州
最新评论
-
lvliang169:
码农通常会被亲戚、家人、朋友认为是修电脑的
深有同感啊、、、、 ...
关于程序猿,你不知道的15件事
相关推荐
Java的历史可以追溯到1991年,当时Sun Microsystems的一个项目团队开始开发一种名为Oak的新编程语言,旨在用于消费电子设备。由于市场需求变化,Sun将其目标转向了互联网应用,并将Oak重新命名为Java。1995年,随着...
6. **软件开发方法**:瀑布模型适用于结构化方法,它强调顺序的、阶段性的开发过程,而构件化方法和面向对象方法更适合迭代和增量的开发模式,快速原型方法则注重快速构建和验证系统原型。 7. **需求分析**:需求...
### 重构与模式的核心知识点解析 #### 一、重构与模式的关系 ...通过学习本书中的理论知识和实践案例,开发者可以更好地掌握重构与设计模式的核心思想,从而在实际工作中更加高效地进行软件开发。
6. **实战经验与项目架构**:在实际工作中,架构师需要将架构思维和设计转化为具体的实践,通过参与项目来落地架构设计,解决架构实施过程中的问题,并通过不断迭代优化架构。 7. **知识获取与技术研究**:作为架构...
设计模式的核心思想在于提倡重用已有的解决方案,而不是从零开始创建新的代码,这有助于提高软件的可维护性、可扩展性和可读性。 1. **单例模式**(Singleton):确保一个类只有一个实例,并提供一个全局访问点。在...
3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会...
Java开发是一种广泛使用的编程语言,尤其适用于企业级应用和服务器端开发。如果你是零基础学习Java,以下是一些关键知识点的详细说明: 1. **JVM(Java虚拟机)相关**: - JVM是Java程序运行的基础,它负责解释和...
为了适应这种变化并提高产品的质量,许多团队转向了敏捷开发模式。敏捷开发是一种以人为本、迭代、逐步推进的软件开发方法论。本文将详细介绍敏捷开发的核心理念、实践方法以及关键节点等内容,帮助读者深入了解敏捷...
- **主要内容**:介绍如何搭建开发环境以及获取必要的资源来开始Android开发之旅。 - **关键知识点**: - 开发环境的选择与配置。 - 必要的开发工具介绍,如Android Studio。 - 第一步:创建Android项目的基础...
- **增量式开发**:逐步构建程序的方法,每次迭代增加一点功能。 - **递归**:函数直接或间接地调用自身的一种技术。 **6. 循环语句** - **while语句**:只要条件为真就会重复执行一段代码。 - **do/while语句**:...
5. **热模块替换(Hot Module Replacement,HMR)**:在开发模式下,`create-react-app`支持HMR,可以在不刷新整个页面的情况下更新组件,提高开发效率。 6. **自动刷新**:当代码发生变化时,项目会自动重新构建并...
3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会...
Webpack 提供了一个内置的开发服务器(`webpack-dev-server`),支持热更新(Hot Module Replacement, HMR),可以快速迭代开发,无需刷新浏览器。 ### 9. **模式(Mode)** Webpack 4 提供了 "development" 和 ...
3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会...
3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会...
3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会...
3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会...
3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会...
3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会...
在项目工作计划中,林湛已经为他的任务制定了详尽的时间表,这涵盖了从需求分析到系统优化的全过程。以下是对各个阶段知识点的详细说明: 1. **项目模块划分**:这是项目初期的重要步骤,目的是将大型项目分解为更...