跳出任務管理的泥沼,擁抱甘特圖的懷抱(完整版)

寫這篇文章,我不是要黑任何一個任務管理類的App或者方法論。相反,我是一個工具控,在試用各類任務管理類App上老是竭盡全力。常見的Things 3,Todoist,Teambition,Trello,Any.do,Doit.im我都試用過。最後,我選擇了Todoist,在Todoist上,我已經完成了1292個任務。以下圖所示。html

個人Todoist任務記錄

任務管理類App有什麼問題

Things3,Todoist爲首的任務管理App,核心功能就是記錄未完成的任務,勾掉已完成的任務。至於分類,標籤,天然語言識別之類的功能算是錦上添花。微信

他們有一個缺點,那就是你只知道一個任務沒有作,或者已經作完了。可是你不知道在一羣沒有完成的任務中,哪些是正在作的。(固然,你能夠建立一個分類,叫作「正在作」,而後把正在作的任務放進這個分類中。)網絡

而Teambition與Trello稍微進步一點,引入了看板的概念,因而可以顯示任務在各個階段的狀態,以下圖所示。這張圖是少數派的Trello看板,用來讓做者選題。工具

在看板中,你能夠知道哪些任務是計劃中,哪些任務是準備作,哪些是正在作,哪些是已經完成。然而這樣就夠了嗎?測試

看板比單純的To do list類應用進了一步,可以關注任務的狀態了。但它們的侷限也在於次,由於他們關注的,只是每個任務。網站

作一個比喻,修汽車須要擰螺絲,組裝宜家的傢俱也須要擰螺絲。你若是隻關注擰螺絲這個動做,那麼修汽車和組裝傢俱對你來講沒有區別。組裝宜家的傢俱,看一下說明書,通常人半個小時就搞定,可是你半個小時能學會修汽車嗎?3d

若是隻使用任務管理類的工具,你就會陷入一個怪圈:你作了不少任務,可是你不知道你作這些任務是爲了什麼。任務管理類App適合用來記錄和追蹤各類瑣碎的任務和相關性不強的任務。就像是少數派的每一篇文章,文章與文章之間不是一個系列的關係,他們各自獨立,誰均可以領選題寫文章,哪一個選題先寫哪一個選題後寫,關係不大。調試

一旦要規劃一個項目,對於規劃項目的人和作項目的人,用任務管理類App都會讓人以爲使不上勁。對於作任務的人,看到每個獨立的任務,對項目沒有總體的概念;對於規劃項目的人,不知道任務是否是已經切分得足夠細,是否有遺漏。code

假設你把一個項目拆分紅了100個子任務,兩週之後,你作完了其中的八十個子任務,請問你真的完成了這個項目80%的工做嗎?項目的完成度可以單純用子任務的數量來衡量嗎?cdn

若是你回答,項目的完成度,不能單純用子任務的數量來衡量。那麼繼續思考下一個問題,是否是有一些子任務,就是比別的任務重要呢?

若是你回答,確實有一些子任務比別的任務都重要。那麼繼續思考下一個問題,是否是最重要的子任務必需優先完成呢?

若是你回答,確實最重要的子任務必需優先完成。那麼繼續思考下一個問題,最重要的子任務要優先多少呢?能單純把最重要的子任務做爲第一個完成的任務嗎?它有前置任務嗎?若是必需先把前置任務作完,才能作這個最重要的子任務,那麼,是否是其實這個前置任務纔是最重要的子任務呢?如此說來,可以單純用時間前後順序來標明任務的重要性嗎?先作的老是比後作的重要嗎?那若是這個先作的任務,它作完之後徹底看不到產出,必需等後面的任務作完了才能看到效果,那麼究竟是先作的任務重要仍是後作的任務重要?

上面還只是一我的作多個任務的狀況,如今若是把一個項目拆分紅100個任務,分給ABCDE5我的作同時作。每一個人都有一些任務能夠單獨完成不依賴其餘人。可是也有一些任務A依賴B的成果,B依賴C的成果,D能夠幫B作一些工做,還有一些工做須要C和D要一塊兒同時完成,還有一些工做,B和C能夠先作一部分,剩下的一部分再一塊兒完成……

好了,如今給你一個任務管理類的App,上面列了100個任務,其中有20個任務優先級最高,50個優先級通常,30個優先級低。大家五我的本身看着選任務作吧。兩週之後項目上線。

13天后:

B:C你的後臺接口怎麼尚未寫好,我等着跟你聯合調試都等了三天了! D:糟糕,有一個任務忘記作了,如今這個代碼不能運行,等我把那邊的服務搭建好才能測試。 A:嘿嘿我完成了30個任務,獎金我拿定了。 C:D你早應該搭建服務的,你忘了我也要用嗎! ……

因此,單純用優先級來排任務,你以爲靠譜嗎?你不加班,誰來加班?

尋找解決辦法

使用腦圖拆分任務

有項目經驗的人,看到我上面舉得例子,確定會不屑一顧——難道在規劃項目的時候就拿一張白紙,拍着腦殼想,這個項目須要作哪些工做,想到一個寫一個?這樣憑腦殼空想確定會漏掉任務的。

用腦圖來規劃任務是一個不錯的主意,首先把項目拆分紅幾個主要的組成模塊。而後首先看第一個模塊,又把它拆分紅幾個子模塊。而後看第一個模塊的第一個子模塊,又拆分……第一個模塊拆分好了,再來看第二個模塊,把它又拆分紅幾個子模塊……經過這樣深度優先的方式把全部任務都拆分到能夠完成的程度。以下圖所示。

使用腦圖拆分項目任務

腦圖解決了任務拆分的問題,使用腦圖來拆分任務,理論上確實不容易漏掉任務。那麼問題是,腦圖如何肯定任務的依賴關係?如何肯定每一個任務的完成時間?項目進行了若干天之後,如何知道當前項目進度怎麼樣了?在某一天,如何讓全部人都一眼就知道,哪些任務沒有按時完成,哪些任務已經提早完成了?

使用時間軸肯定進度

如今回到任務管理的App中。若是把全部待完成的任務所有都用一個Excel寫在第一列,而後在右側用不一樣的色塊標記任務從開始到結束的時間。那麼能夠獲得下面這一張圖。

使用Excel畫一個時間軸

其中,不一樣的顏色表示不一樣的人。每一行表示一個任務。從第二列開始,每一列表示一天。若是一個任務一天能夠作完,就塗一個格子,若是須要三天才能作完,就塗三個格子。

這樣一來,經過這些色塊,就能夠清楚地看到每一個人須要作多少事情。例如B列,紫色這我的一天同時要作5個任務。可是這5個任務中有4個任務都是聯繫別的部門讓他們提供接口。那麼這四個任務應該能夠很容易作完,因而能夠放在一天完成。

又好比,紅色這我的,他作的任務很困難,因此兩個任務各要作三天。

又好比,綠色這我的,他先搭建ES系統。而後再搭建Kafka。任務的前後順序也就有了。

若是在某一天,想知道按計劃今天哪些人須要作哪些事,那麼直接看這一天對應的這一列就能夠了。

壓縮,組合

用時間軸來表示任務的進度,能夠更加直觀地讓人看到任務的進度。但前提是先把全部子任務肯定好。也就是要先作一個腦圖,而後根據腦圖再作這個Excel。看任務的時候,要同時看兩張圖。

那有沒有辦法把這兩張圖合在一塊兒呢?

實際上,腦圖本質上就是一個層次結構,層次結構也能夠寫成大綱的形式,以下圖所示。

腦圖的大綱形式

這個結構就能夠放到Excel中了。以下圖所示。

簡化版的甘特圖

到目前爲止,你已經實現了一個簡化版的甘特圖了。

什麼是甘特圖

甘特圖是一張二維的圖表,它的橫軸是時間,縱軸是任務。從甘特圖上能夠一目瞭然看到一個任務從何時開始何時結束,不一樣任務之間是否有時間重疊,以及哪些任務能夠同時作哪些任務必需有前後順序。

我我的認爲,在項目管理中,任務週期是很是重要的,任務的開始時間和結束時間必定要把控好。使用甘特圖就能夠實現這樣一個目的。

對於規劃任務的人,在用甘特圖規劃任務的時候,若是你發現一個任務時間太長,不管怎麼調整都會和後面的任務有重疊,那麼你就會發現這個任務可能須要拆分爲更小的任務。並且因爲甘特圖立足於項目的總體,你也能夠更容易發現是否有任務漏掉了。

對於作任務的人,甘特圖也能夠幫他們瞭解到他們所作的任務在整個項目中處於一個什麼樣的位置,從而讓他們知道本身正在作的任務是否是很是重要必需按時完成。

若是你是要開發一個App,或者是要寫一本書,或者是要作一個其餘什麼項目,只要它是由一系列不一樣的任務構成的,那麼你就能夠考慮使用甘特圖來幫你提升效率。

下面這張圖就是甘特圖。

  • 不一樣的顏色表示不一樣的人
  • 每一行表示一個任務
  • 紅色豎線表示今天應該完成的任務
  • 任務與任務之間的黑色箭頭表示任務之間的依賴關係,必需完成前面的才能完成後面的
  • 帶中心黑線的任務表示已經完成的任務

經過這一張甘特圖,我能一眼看出如下信息:

  1. 今天誰應該作什麼任務
  2. 這個任務從何時開始,到何時結束
  3. 一我的在一段時間有哪些任務
  4. 應該先作哪些任務再作哪些任務
  5. 哪些任務能夠同時作
  6. 這個任務是否被其餘任務依賴,若是是,那麼這個任務就不能推遲,必需按時完成或者提早完成,不然會影響後面的任務
  7. 每一個任務已經完成多少還剩多少
  8. 大任務下面有哪些子任務
  9. 任務的里程碑是何時

爲何要用甘特圖

由於爲了繪製出甘特圖,你必需強迫本身完成如下幾件事情:

  1. 肯定每個任務的開始時間和結束時間
  2. 肯定任務的依賴關係
  3. 分離能夠同時運行的任務
  4. 肯定不一樣人的任務間的時間關係

當你根據以上的規則繪製好初版甘特圖之後,你會發現有些地方是能夠繼續調整的,可是這種調整,在你沒有畫圖以前是不能發現的。因而你會在調整甘特圖的過程當中,讓項目的規劃愈來愈清晰。

怎麼作甘特圖

甘特圖是一種項目管理工具,你能夠在紙上畫甘特圖,也能夠在Excel中畫甘特圖,也可使用專門的甘特圖軟件來作甘特圖。下面這張基於Excel的甘特圖來自網絡。

這是使用Excel作出來的效果,可是作起來稍顯麻煩。

Omniplan和MS Project都是很是專業的甘特圖製做軟件,可是價格很是高。畢竟這是生產力軟件,使用這個軟件你是能夠賺大錢的,天然軟件自己就會比較貴。

開源的甘特圖軟件也有很多,不過不是功能不全就是界面醜陋。這裏介紹一個相對比較完整的開源甘特圖製做軟件:GanttProject

GanttProject的官方網站爲www.ganttproject.biz/,在這裏你能夠下載到macOS,Windows或者Linux版本的軟件。

GanttProject運行之後的界面以下圖所示。

在左側任務面板右鍵或者按下鍵盤Command + T就能夠添加任務,Windows和Linux對應的快捷鍵爲Ctrl + T。以下圖所示。

建立好了一個任務,它默認的開始時間和結束時間都是今天。在任務上面右鍵,選擇任務屬性,能夠打開任務屬性設置界面,在這裏能夠設置任務的開始時間和任務時長。可是你不能設置任務結束時間。由於任務結束時間會根據開始時間和任務時長自動計算。以下圖所示。

在這個界面,還能夠設置任務的顏色,實現不一樣人不一樣顏色,或者不一樣項目不一樣顏色。也能夠在這裏更新任務進度。

建立多個任務,若是後面的任務依賴前面的任務,那麼在右側被依賴的任務色條上單擊鼠標左鍵,按住並拖動到依賴它的任務上。依賴它的任務的起始時間自動就會變爲被依賴任務的結束時間,以下圖所示。此時,後一個任務只能設置任務的時長,不能修改任務的起始時間。

若是依賴關係設置錯誤,打開依賴任務的任務屬性,定位到前置任務選項卡,在這裏能夠刪除被依賴的任務或者修改被依賴任務。以下圖所示。

若是你須要移動任務的順序,鼠標單擊選中它,按下鍵盤上的Alt + 方向鍵上或下便可移動任務。

我認爲甘特圖有一個很是重要的元素,就是豎直紅線,它指向了今天的任務。要打開這跟紅線,須要單擊菜單欄的編輯-設置,定位到甘特圖設定,在將今天顯示爲紅色點選爲,以下圖所示。

單擊肯定回到甘特圖的界面,能夠看到圖中出現了一條紅色豎線。這條豎線指向了今天應該作的事情。以下圖所示。

天天打開甘特圖,這根紅線都會指向當天。

GanttProject能夠把作好的甘特圖導出爲圖片,CSV,HTML或者PDF文件。單擊項目-導出,點選Raster圖像文件,並單擊下一步,以下圖所示。

設置保存路徑和甘特圖的日期範圍便可導出爲PNG文件,以方便分享。

後記

我很是喜歡使用甘特圖來規劃個人工做。個人第一本書 《Python爬蟲開發 從入門到實戰》已經在京東噹噹亞馬遜在亞馬遜上線。這本書的寫做過程就是我用甘特圖的最好實踐。由於有了甘特圖,我才能控制好寫做過程當中的每個重要的時間節點,確保每一章都可以按時交付,讓我可以兼顧工做,寫書和自我成長。

甘特圖並非爲了取代任務管理工具而存在的。甘特圖的目的是爲了規劃項目,而且讓你在項目的進行過程當中知道本身處於什麼位置。

你須要時刻記得,低頭看任務管理工具,讓你知道本身正在作什麼。擡頭看甘特圖,讓你知道你將可以作成什麼。

我建立了一個微信羣,用來交流各類效率工具和提升生產力的方法。有興趣的同窗能夠進來和你們一塊兒探討。掃碼關注公衆號 未聞Code(或搜索ID:itskingname)回覆:生產力便可得到入羣方式。

相關文章
相關標籤/搜索