项目经理必备——使用燃尽图监控项目整体进度

简介: 项目经理必备——使用燃尽图监控项目整体进度

在《跳出任务管理的泥沼,拥抱甘特图的怀抱》一文中,我谈到了使用甘特图来规划任务(关注公众号,回复: 甘特图获取本文)。甘特图更多的关注每一个任务的进度上。那么如果我希望了解项目整体的进度,应该如何选择呢?此时就需要引入另一个简单又强大的工具:燃尽图(Burn down chart)。

什么是燃尽图

假设项目X有5个任务,我们在预估这些任务的时候,时间安排如下:

项目名称 预计用时(小时)
任务1 5
任务2 6
任务3 7
任务4 4
任务5 3

这个任务预计需要25小时完成,考虑到可能需要处理各种突发事件留出机动时间,因此,我需要在7天内完成这个项目,项目时间定为:2018-12-01到2018-12-07。

在非常理想的情况下,平均分配工作时间,到2018-12-07这一个公作日结束时刚刚好完成任务。此时的时间消耗,绘制为折线图如下图所示。

纵坐标为任务剩余时间,横坐标为日期,

然而,在实际情况中,可能有些任务能提前完成,有些任务时间又需要延迟,实际上的剩余时间和日期的折线图可能如下图橙色曲线所示。

这就是 燃尽图。非常简单又非常直观。

从这一幅燃尽图中,我们可以看到:在2018-12-01到2018-12-05时,我们的开发进度是领先于计划的,看起来任务应该能够提前完成,橙色曲线斜率负得越多,越陡,表示实际开发进度领先得越多。然而从2018-12-03开始,开发速度下降,到2018-12-06时进度和预期时间重合。到2018-12-07,开发进度落后于预期,任务无法如期完成。

我们再来看几个例子:

  • 按时完成任务:

  • 提前完成任务

  • 没有完成任务

  • 前期落后进度,后期加速赶上

如何绘制燃尽图

燃尽图是敏捷开发中的一个概念,不少敏捷开发的相关的项目管理系统中都能够生成燃尽图。由于燃尽图非常简单,使用Excel自带的画图功能,稍稍费一些功夫也能够正常生成。

本着使用Python提高日常办公效率的考虑,我使用macOS自带的numbers表格工具 + Python来生成燃尽图。当然你也可以使用Excel来完成。其中表格用于记录任务的剩余时间,Python用于格式化任务时间并生成燃尽图。

表格的填写规范

其中表格如下图所示:

其中,表格的第一行是任务名称,第一列是日期。表格中间填写的数字,表示任务的剩余时间。表格的填写规则如下:

  • 某一格留空,表示这一天没有做这个任务。
  • 某一格为0,表示任务完成。
  • 某一格为大于0的数字,表示任务剩余的时间。
  • 不需要提前填写没有发生的日期。例如任务安排为2018-12-01到2018-12-07,今天是2018-12-06,那么不需要提前填写2018-12-07这一行。
  • 请按照日期正序排序,不要打乱日期。

分析程序的使用说明

填写好表格以后,把它保存为excel的xlsx文件。假设路径为: /Users/kingname/Desktop/test.xlsx(或者Windows系统保存在: D:\work\test.xlsx)。

使用Anaconda中的Jupyter打开分析程序的ipynb文件,如下图所示:

只需要修改这三行数据中,单引号里面的内容,其余内容不需要修改。

修改完成以后,点击工具栏的 Kernel-Restart&RunAll,如下图所示。

静静等待2秒钟,燃尽图将会出现在页面的最下方。如下图所示。

获取Excel模板和源代码

长按下方的二维码关注本公众号,回复 燃尽图获得Excel模板和分析程序的下载地址。

附言

如果你不知道Jupyter是什么,或者你没有任何编程基础,但是想尝试一下燃尽图,那么你可以在本文下面留言,超过10人留言,我就会写一篇面向无编程基础读者的Jupyter安装与使用文章。

目录
相关文章
|
机器学习/深度学习 人工智能 搜索推荐
AIGC的五个特点
【1月更文挑战第11天】AIGC的五个特点
1254 3
AIGC的五个特点
|
17天前
|
NoSQL Java 关系型数据库
超全 Java 学习路线,帮你系统掌握编程的超详细 Java 学习路线
本文为超全Java学习路线,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架(如Spring Boot)、数据库(MySQL、Redis)及项目实战等内容,助力从零基础到企业级开发高手的进阶之路。
111 2
|
移动开发
诺顿定理
诺顿定理(Norton's theorem)是电路理论中的一个重要定理,它可以将复杂的线性电路简化为一个等效的电流源和一个等效的电阻。诺顿定理是基于电流的观点来描述电路的,与其对偶定理——戴维南定理相对应。
440 0
|
存储 关系型数据库 MySQL
MVCC多版本并发控制
MVCC多版本并发控制 1、MVCC MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。
614 0
|
Ubuntu 安全
Ubuntu 安全重启 / Ubuntu 系统死机解决方法
初装Ubuntu双系统时,经常会遇到各种各样的问题导致系统崩溃、卡死、黑屏等情况,新手或者小白可能直接选择长按电源键强制重启了
3963 0
|
机器学习/深度学习 算法 数据挖掘
R语言中的支持向量机(SVM)与K最近邻(KNN)算法实现与应用
【9月更文挑战第2天】无论是支持向量机还是K最近邻算法,都是机器学习中非常重要的分类算法。它们在R语言中的实现相对简单,但各有其优缺点和适用场景。在实际应用中,应根据数据的特性、任务的需求以及计算资源的限制来选择合适的算法。通过不断地实践和探索,我们可以更好地掌握这些算法并应用到实际的数据分析和机器学习任务中。
|
11月前
|
SQL 关系型数据库 MySQL
做MySQL 的并发控制
本文以 MySQL 8.0.35 的代码为例,尝试对 MySQL 中的并发访问控制进行一个整体的介绍。
|
Rust 开发者
Rust函数入门与函数重载
Rust函数入门与函数重载
258 0
|
机器学习/深度学习 数据采集 算法
大数据与机器学习:数字时代的强大动力
在当今数字化时代,数据已经成为了一项宝贵的资源,而大数据和机器学习则是将其转化为实际价值的关键工具。本文将探讨大数据与机器学习的关系,以及它们如何共同推动技术、企业和社会的发展。
947 0
|
存储 JavaScript 前端开发
说说JavaScript数字精度丢失的问题,如何解决?
在 JavaScript 中,数字精度丢失是一种普遍的问题。这是因为 JavaScript 内部的数字均以 IEEE 754 标准的双精度浮点数格式存储,这种格式只能精确表示有限个小数,而对于一些无限循环小数或无理数,无法精确表示,就会出现精度丢失的情况。
324 0