在《跳出任務管理的泥沼,擁抱甘特圖的懷抱》一文中,我談到了使用甘特圖來規劃任務。甘特圖更多的關注每一個任務的進度上。那麼如果我希望瞭解專案整體的進度,應該如何選擇呢?此時就需要引入另一個簡單又強大的工具:燃盡圖(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 est.xlsx
)。
使用Anaconda中的Jupyter開啟分析程式的ipynb檔案,如下圖所示:
只需要修改這三行資料中,單引號裡面的內容,其餘內容不需要修改。
修改完成以後,點選工具欄的Kernel-Restart & Run All
,如下圖所示。
靜靜等待2秒鐘,燃盡圖將會出現在頁面的最下方。如下圖所示。
獲取Excel模板和原始碼
Excel與ipynb檔案地址:github.com/kingname/Au…
使用Jupyter開啟ipynb檔案可以看到分析程式。
附言
如果你不知道Jupyter是什麼,或者你沒有任何程式設計基礎,但是想嘗試一些燃盡圖,那麼你可以在評論中留言,我會告訴你如何使用Jupyter。