项目管理必备使用燃尽图监控项目整体进度 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
itskingname
V2EX    分享创造

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

  •  2
     
  •   itskingname 2018 年 12 月 23 日 3376 次点击
    这是一个创建于 2599 天前的主题,其中的信息可能已经有所发展或是发生改变。

    《跳出任务管理的泥沼,拥抱甘特图的怀抱》一文中,我谈到了使用甘特图来规划任务。甘特图更多的关注每一个任务的进度上。那么如果我希望了解项目整体的进度,应该如何选择呢?此时就需要引入另一个简单又强大的工具:燃尽图( 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 & Run All,如下图所示。

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

    获取 Excel 模板和源代码

    Excel 与 ipynb 文件地址:https://github.com/kingname/Automatic/tree/master/burndown_chart

    使用 Jupyter 打开 ipynb 文件可以看到分析程序。

    7 条回复    2018-12-24 22:33:24 +08:00
    itskingname
        1
    itskingname  
    OP
       2018 年 12 月 24 日
    真是太奇怪了,每次我发的文章,一大堆人收藏,却没有人评论.
    PottiK
        2
    PottiK  
       2018 年 12 月 24 日
    我来评论
    lycbug666
        3
    lycbug666  
       2018 年 12 月 24 日 via iPhone
    感谢分享,回去尝试一下。
    itskingname
        4
    itskingname  
    OP
       2018 年 12 月 24 日
    @PottiK 总算有人评论了。
    RqPS6rhmP3Nyn3Tm
        5
    RqPS6rhmP3Nyn3Tm  
       2018 年 12 月 24 日 via iPhone
    淦,又是 burndown chart
    每次考试都花错扣分
    itskingname
        6
    itskingname  
    OP
       2018 年 12 月 24 日 via iPhone
    @BXIA 你错在哪里
    RqPS6rhmP3Nyn3Tm
        7
    RqPS6rhmP3Nyn3Tm  
       2018 年 12 月 24 日 via iPhone
    @itskingname carry over
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2557 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 56ms UTC 11:03 PVG 19:03 LAX 03:03 JFK 06:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86