在《跳出任務管理的泥沼,擁抱甘特圖的懷抱》一文中,我談到了使用甘特圖來規劃任務。甘特圖更多的關注每一個任務的進度上。那麼如果我希望瞭解專案整體的進度,應該如何選擇呢?此時就需要引入另一個簡單又強大的工具:燃盡圖(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這一個公作日結束時剛剛好完成任務。此時的時間消耗,繪製為折線圖如下圖所示。
![專案管理必備——使用燃盡圖監控專案整體進度](https://i.iter01.com/images/67d8f78ece0d5893e8a609cb1c26b94b1757b8b53ea9ddc3f8f470a634d7315b.png)
縱座標為任務剩餘時間,橫座標為日期,
然而,在實際情況中,可能有些任務能提前完成,有些任務時間又需要延遲,實際上的剩餘時間和日期的折線圖可能如下圖橙色曲線所示。
![專案管理必備——使用燃盡圖監控專案整體進度](https://i.iter01.com/images/41e27d97baef50a72c37cdb42a7562e1ba64b70f1214d8221234376dd25a6139.png)
這就是燃盡圖
。非常簡單又非常直觀。
從這一幅燃盡圖中,我們可以看到:在2018-12-01到2018-12-05時,我們的開發進度是領先於計劃的,看起來任務應該能夠提前完成,橙色曲線斜率負得越多,越陡,表示實際開發進度領先得越多。然而從2018-12-03開始,開發速度下降,到2018-12-06時進度和預期時間重合。到2018-12-07,開發進度落後於預期,任務無法如期完成。
我們再來看幾個例子:
- 按時完成任務:
![按時完成任務](https://i.iter01.com/images/e11df3d85b0fab71b6bf4f9526d7c9d711461debeeceafca9a1e41a313bb9c5c.png)
- 提前完成任務
![提前完成任務](https://i.iter01.com/images/26d4d8e90955b9ba55573283753477b56bb16707ad04ccea0a50c0cf846a0be8.png)
- 沒有完成任務
![沒有完成任務](https://i.iter01.com/images/0038c8934ab6cbaa867e9f7c67f0322c5844d36d768d1a34000acb6b2c809628.png)
- 前期落後進度,後期加速趕上
![前期落後進度,後期加速趕上](https://i.iter01.com/images/7ea9d38c46821e67494746ced1079a3475275ea490f5360a2b59996c55ce1a46.png)
如何繪製燃盡圖
燃盡圖是敏捷開發中的一個概念,不少敏捷開發的相關的專案管理系統中都能夠生成燃盡圖。由於燃盡圖非常簡單,使用Excel自帶的畫圖功能,稍稍費一些功夫也能夠正常生成。
本著使用Python提高日常辦公效率的考慮,我使用macOS自帶的numbers表格工具 + Python來生成燃盡圖。當然你也可以使用Excel來完成。其中表格用於記錄任務的剩餘時間,Python用於格式化任務時間並生成燃盡圖。
表格的填寫規範
其中表格如下圖所示:
![專案管理必備——使用燃盡圖監控專案整體進度](https://i.iter01.com/images/5f18e31219b105c9a7ec9fdb093bf926b637fadf27b669974e78a25213810f09.png)
其中,表格的第一行是任務名稱,第一列是日期。表格中間填寫的數字,表示任務的剩餘時間。表格的填寫規則如下:
- 某一格留空,表示這一天沒有做這個任務。
- 某一格為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檔案,如下圖所示:
![專案管理必備——使用燃盡圖監控專案整體進度](https://i.iter01.com/images/255535dc15b53bcfef96699d2f39259ff6079c15dd487a8633cdb121d0672a91.png)
只需要修改這三行資料中,單引號裡面的內容,其餘內容不需要修改。
修改完成以後,點選工具欄的Kernel-Restart & Run All
,如下圖所示。
![專案管理必備——使用燃盡圖監控專案整體進度](https://i.iter01.com/images/c382318ff8d6c30086f1ad275c325bee158387440c05e5e4113f39cc3f5a3a52.png)
靜靜等待2秒鐘,燃盡圖將會出現在頁面的最下方。如下圖所示。
![專案管理必備——使用燃盡圖監控專案整體進度](https://i.iter01.com/images/142fe9caf17009a9b78b770875e72d9538f7b17deb083221a836c057cb3c2e84.png)
獲取Excel模板和原始碼
Excel與ipynb檔案地址:github.com/kingname/Au…
使用Jupyter開啟ipynb檔案可以看到分析程式。
附言
如果你不知道Jupyter是什麼,或者你沒有任何程式設計基礎,但是想嘗試一些燃盡圖,那麼你可以在評論中留言,我會告訴你如何使用Jupyter。