1. 程式人生 > >專案管理必備——使用燃盡圖監控專案整體進度

專案管理必備——使用燃盡圖監控專案整體進度

《跳出任務管理的泥沼,擁抱甘特圖的懷抱》一文中,我談到了使用甘特圖來規劃任務。甘特圖更多的關注每一個任務的進度上。那麼如果我希望瞭解專案整體的進度,應該如何選擇呢?此時就需要引入另一個簡單又強大的工具:燃盡圖(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檔案地址:github.com/kingname/Au…

使用Jupyter開啟ipynb檔案可以看到分析程式。

附言

如果你不知道Jupyter是什麼,或者你沒有任何程式設計基礎,但是想嘗試一些燃盡圖,那麼你可以在評論中留言,我會告訴你如何使用Jupyter。