目录
1. The role of a project schedule 项目进度表的作用
1.3 Project Schedule with Formal and Agile
2. How to develop a project schedule 如何制定项目进度表
2.1 Work Breakdown Structure 工作分解结构 – Step 1
2.3 Estimate the effort and the time allocation for each task 估计每项任务的工作量和时间分配 – Step 3
2.3.1 Effort-time Estimation 工作时间的估计
2.4 Allocate resources for tasks and validate effort 为任务分配资源并验证努力程度 – Step 4
2.4.1 Resource Allocation 资源分配
2.5 Develop a project schedule 制定一个项目时间表 – Step 5
2.5.2 Project Scheduling - Definitions
2.5.3 Milestones vs Deliverables
3. How to use a project schedule to monitor and track project progress 如何使用项目进度表来监测和跟踪项目进度
3.2 Earned Value Analysis 挣值分析(EVA)
4. Agile planning principles 敏捷计划原则
4.3.1 Fixed-Date Release Planning 固定日期的发布计划
4.3.2 Fixed-Scope Release Planning 固定范围的发布计划
1. The role of a project schedule 项目进度表的作用
1.1 Project Schedule 的定义
- 在项目规划阶段产生的重要 artefacts 工件之一
- 在整个项目中使用和维护,以 monitor 监测和 track 跟踪项目进展 —— 是一个活的文件
1.2 Project Schedule 的内容
- 每项任务的 Duration 持续时间和 dependencies 依赖性
- 每项任务所需的 People 人员和 physical resources 物质资源
- Milestones 里程碑和 deliverables 可交付成果
- Project Timeline 项目时间表
1.3 Project Schedule with Formal and Agile
Project Schedule with Formal SDLC Processes
Project planning 和 scheduling 适用于 Formal SDLC Processes —— Plan Driven 计划驱动
如下图左边所示,对于 Formal SDLC Processes,范围/需求作为约束条件决定了项目的成本和时间,即项目最初的计划创造了成本和时间表的估算,整个项目是计划驱动的。
Project Schedule with Agile SDLC Processes
Agile SDLC Processes 不使用 project schedule —— Value/Vision Driven 价值/愿景驱动
如下图右边所示,对于 Agile SDLC Processes,成本和时间作为约束条件决定了产品的最终范围/功能,即项目愿景创造了功能估算,整个项目是价值/愿景驱动的。
有趣的是,据传闻,使用 Agile 实践的组织也将 project schedules 项目时间表用于预算、合同和报告目的。
2. How to develop a project schedule 如何制定项目进度表
Developing Project Schedule – Steps
- 将任务分解成你能处理的小块——工作分解结构 Work Breakdown Structure (WBS)。
- 确定分解的任务之间的 interdependencies 相互依赖关系,并开发一个 task network 任务网络。
- 估计每项任务的 effort 工作量和 time allocation 时间分配。
- 为任务 Allocate resources 分配资源并验证努力程度。
- 制定 project schedule 项目时间表。
2.1 Work Breakdown Structure 工作分解结构 – Step 1
Planning 规划和 executing 执行大型任务是一项挑战:
- Estimating the time and resources 估算时间和资源
- Identifying interim goals and deliverable 确定中期目标和可交付成果
- Progress monitoring 进展监测
解决方案是将任务分解为可管理的单元:
- 每个任务都应该有一个具体的结果或可交付的成果
- 形成一个工作分解结构(WBS)
Work Breakdown Structure – Examples
Non-software project
Software Project
2.2 Identify the interdependencies between the broken down tasks and develop a task network 确定分解的任务之间的相互依赖关系,并开发一个任务网络 – Step 2
2.2.1 识别任务的依赖性
任务可以分为:
- Unconstrained 不受限制:任务可以在任何时候开始(拆除可拆卸的装饰物)
- Constrained 受限:取决于另一个任务(在拆除装饰物之前不能拆除墙纸)
- 如果 task B depends on task A(A->B)
- B是一个 Successor task 后继任务 —— Successor task (S)
- A是一个 Predecessor task 前置任务 —— Predecessor task (P)
- 移除可拆卸的装饰物 Predecessor task(P)->移除墙纸 Successor task (S)
依赖性是由以下原因造成的:
- 一项任务需要另一项任务的工作成果
- 一项任务需要另一项任务使用的资源
2.2.2 任务依赖类型
Finish to Start
Finish to Start 是四个任务依赖类型中最简单和最常见的。The Finish to Start dependency states that – the predecessor task must be finished before a successor task can be started. Finish to Start 的依赖关系指出——前置任务必须在后继任务开始之前完成。换句话说,一个任务必须在另一个任务开始之前完成。
Finish to Start example
想象一下你负责建造一栋新楼。在这种情况下,从完成到开始的依赖关系可以是这样的任务——“获得建筑许可”和“打地基”之间的关系。在开始为你的新建筑打地基之前,你必须获得所有的建筑许可。或者换句话说,在开始另一个任务之前,你必须先完成一个任务。
Finish to Finish
Finish to Finish 任务的依赖关系要复杂一些。It states that the successor task cannot be finished before the predecessor task is finished. 它指出,在前置任务完成之前,后继任务不能完成。这通常适用于同时进行的任务,但其中一个任务不能在另一个任务完成之前真正完成。与前面的任务关系相反,这个和下面两个依赖关系的使用有时会在项目管理专业人士之间产生争论。提出了这种关系是否有必要的问题。
Finish to Finish example
回到我们的建筑物的例子,这一次考虑在内部工作。在这个阶段,许多事情都在同时发生,例如 "铺设干墙 "和 "安装电器"。这两项工作将同时进行,然而,在所有的干墙完成之前,电气安装不能完成,这就形成了一个从完成到完成的依赖关系。
Start to Start
这第三种类型的任务依赖性与前一种相似。Start to Start states thatthe successor task cannot be started before the predecessor task has been started. Start to Start 是指在前置任务启动之前,不能启动后继任务。同样,这通常与同时进行的任务有关,但重要的是,在另一个任务开始之前,先启动一个任务。
Start to Start example
在我们的建筑例子中,让我们说现在是“粉刷外部”的时候。在'组装脚手架'任务开始之前,这项任务不能开始。这两项任务都可以同时进行,而且通常都是同时进行的,但是,脚手架必须在油漆开始之前开始。