Github 中傳統的項目管理是使用 issue 和 pull request 進行的,這部份內容不是本文重點,再也不贅述。 但有一些功能須要說起:git
這是Github 2016年9月份新的功能,如圖所示:github
Project 提供了真正的管理 issue 的能力;而傳統的 tag 方式只能以手工的方式管理分類(如 Q&A,bug,duplicate,feature 這些標籤🏷),或者以手工的方式管理 issue 進度(need test, in progress, wait approval 等這些標籤)。瀏覽器
不過在開始討論這個以前,有必要先討論一下看板方法。app
看板管理,起源於豐田的生產模式中,指爲了達到及時生產(JIT)方式控制現場生產流程的工具。及時生產方式中的拉式(Pull)生產系統可使信息的流程縮短,並配合定量、固定裝貨容器等方式,而使生產過程當中的物料流動順暢。工具
須要詳細瞭解的請看Wiki。優化
若是仍是沒看懂,這裏有幾個看板的例子:插件
KanbanFlow ip
Trello 項目管理
能夠看出,所謂看板,就是把一塊木板上分紅幾列,而後在每一列上貼上不一樣內容的卡片。 木板上的這幾列通常是有順序的,卡片能夠在不一樣的列之間移動來代表所處的狀態。開發
以上的兩個例子,看板並非針對軟件工程的,他們的市場也是通常的企業(好比豐田這樣的)。
下面的兩個例子則是針對軟件開發作了優化,準確的說,它們都是對 Github 作了適配。
Zenhub 是個瀏覽器插件,就是把 Github 的 issues 看成卡片,以 Kanban 的形式展示 issue,也提供了一個比較雞肋的 Epic 的功能,同時針對我的也有 TODO 項管理。
而 Github 最近推出的 Project 不只可使用 issues 做爲卡片,還可使用Note(左側的三個),這樣咱們就沒有必要爲了在看板上記錄可能的需求而建立一個新的 issues 或者把問題記錄在我的的 TODO 列表上了。
一個倉庫能夠包含多個項目;最初,這個設定讓我疑惑,直到使用以後才明白, 一個代碼倉庫一般有不少事情要作,好比:
所以,咱們能夠爲以上每一件事建立一個 Project,因爲 Github 中並無相似 Epic 的機制,所以使用不一樣的 Project 則頗有用了。
能夠看到,有了 Project 的 Kanban 以後,原來 tag 的部分功能(如標記處理進度等)能夠被看板替代。 Github Project 提供的 Note 能夠在須要的時候單項轉換爲 issue:
同時,Kanban 不只能夠包含 issue 和 note,還能夠包含 pull request。
Github 終於有了比較靠譜的項目管理工具,開源項目的又有了更好的工具。 撒花o(^▽^)o
祝願我本身早日完成個人第一個開源項目(IMAP Server)。
本文首發於個人我的博客 (https://hudingyuan.cn/a/11)