软件流程和管理(五):Project Scheduling

项目进度表是项目管理的核心,它包括任务的持续时间、依赖关系、资源分配和时间线。制定项目进度表涉及工作分解结构、识别任务依赖、估计工作量和时间、分配资源。在跟踪和控制项目进度时,可以使用甘特图、PERT图表和挣值分析。敏捷规划强调价值和愿景驱动,而非固定计划,注重短迭代和灵活应对变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. The role of a project schedule 项目进度表的作用

1.1 Project Schedule 的定义

1.2 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.2 Identify the interdependencies between the broken down tasks and develop a task network 确定分解的任务之间的相互依赖关系,并开发一个任务网络 – Step 2

2.2.1 识别任务的依赖性

2.2.2 任务依赖类型

2.2.3 Task Network

2.3 Estimate the effort and the time allocation for each task 估计每项任务的工作量和时间分配 – Step 3

2.3.1 Effort-time Estimation  工作时间的估计

2.3.2 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.1 Project Schedule

2.5.2 Project Scheduling - Definitions 

2.5.3 Milestones vs Deliverables

2.5.4 Gantt Chart 甘特图

2.5.5 PERT Chart

2.5.6 关键路径方法

2.5.7 工具

3. How to use a project schedule to monitor and track project progress 如何使用项目进度表来监测和跟踪项目进度

3.1 项目跟踪和控制

3.2 Earned Value Analysis 挣值分析(EVA)

3.3 计算挣值分析

4. Agile planning principles 敏捷计划原则

4.1 敏捷开发中的规划

4.2 Scrum中的计划

4.3 Release Planning 发布计划

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 的内容

  1. 每项任务的 Duration 持续时间dependencies 依赖性
  2. 每项任务所需的 People 人员physical resources 物质资源
  3. Milestones 里程碑deliverables 可交付成果
  4. 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

在我们的建筑例子中,让我们说现在是“粉刷外部”的时候。在'组装脚手架'任务开始之前,这项任务不能开始。这两项任务都可以同时进行,而且通常都是同时进行的,但是,脚手架必须在油漆开始之前开始。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值