Redmine是一個功能強大的Open Source專案管理平台,除了功能完整的Issue Tracker、更提供了給每個專案個別使用的Roadmap、甘特圖、行事曆、論壇、工時計算、文檔管理、SCM版本管理、Wiki等額外功能。
為了讓團隊或組織有效的管理專案、資源與用戶間的關係,在用戶權限管理方面採用了角色存取控制(RBAC)的方式,一時之間眼花撩亂,別急!以下我們將step by step從零帶你配置你的Redmine- RBAC不是簡單的群組或單一成員對「所有資源」都擁有一樣的權限那樣,而是成員或群組針對不同的資源會配置不同的權限,比如說一個家庭裡面,小明的爸爸和媽媽(成員)被加入了「小明父母」這個群組、針對小明這個資源,這個群組配置了孩子不聽話就叫他罰跪的權限,但針對隔壁老王的小孩這個資源,就不能這樣搞了,因為這個群組沒有把小王這個資源綁定這種權限,簡單的說RBAC是一種比較細緻的權限分配管理機制
- 封面截圖是來自Easy Redmine 的 Solution
1. 用戶與群組建立
首先是所有資訊平台或系統最基本的成員與群組的創立,很單純的就像是軟體工程師Tomy(成員)隸屬於軟體開發部門(群組),一個群組裡面可以包含許多成員,方便未來不用一一設定每一位成員的資源與權限關係,而是直接以群組(成員們)去和資源對接權限
到admin管理後台去創建新成員
創建新群組
把軟體工程師Tomy加入軟體開發部門群組
2. Issue的狀態、追蹤標籤與權重
添加幾個Issue(議題)的狀態,一般來說一個議題的生命週期大致會經過幾個歷程:Open、In Progress、Resolved、Reopened、Closed,這邊我們簡化如下
為了容易追蹤或辨識議題的屬性,通常會設計屬於專案適用的追蹤標籤,常見的有Bug、Feature、Story、Task…這邊我們簡化如下
未來我們必將在一個專案裡遇到成百上千條的Issue,而有限的時間裡、如何在眾多issue中排序權重至關重要,我們來到「列舉值清單」中的「議題優先權」建立新的權重值,一般來說至少要有3種等級的優先權重,比如High、Normal、Low
3. 角色與權限配置
嘗試建立一個開發專用的角色權限名為「develop-Roles」,基本上就是專案功能以外、不包含刪除、管理等相關權限的幾乎都可以打勾,等同於現實世界裡我們不會輕易給組織內的一般同仁有任何control或delete的相關權限
4. Workflow工作流程訂定
這邊的workflow是結合了上述的「議題狀態」和「角色權限」所衍伸出的固定標準流程,試想,如果一個議題沒有一個標準的流程,或是不按照流程順序進行,比如做廚師的先把肉烤完了才開始醃肉,那豈不是要了客人的老命,反之,有了被限定的標準工作流程,就能保證過程與結果的穩定可控,這便是專案Issue流程化的好處,事後成員們也能按照不同的歷程去檢視、協作、討論與提醒這個Issue使之順利推進
目前我們有Feature和Defect兩種狀態,請分別讓不同角色(本例是develop-Roles)去綁定狀態、訂定出合理的Workflow,有打勾的代表左邊的目前狀態可改變成的狀態,左下方紅色框框處沒特別規劃的話也可以按照如圖的配置
我們簡單分析一下此Workflow,比如Issue在狀態為「Open」的時候,通常是這個Issue剛剛建立完畢、相關人員還沒準備接單,直到相關人員比如Tomy看到了這個Issue準備著手進行處理時,便會將這個Issue的狀態從Open改為「In Progress」,表明了該議題正在被相關人等處理中,假如Tomy處理完畢後,會由Tomy將狀態改為Resolved等待主管的核實,或是由Tomy或他主管任一人直接將此Issue改為「Closed」結案,至此完成了一個Issue的簡易生命週期,但若未來有一天被組織或部門發現這個Issue根本沒有徹底解決問題,便可由監督管理成員將此專案從Closed改為「Reopened」,工作流程沒有一定,端看組織的需求來設計
5. 開啟一個新專案
萬事俱備只欠專案,打開吧、少年!
本次範例是一個名為EasyBLOG的軟體開發專案
該專案不需要的模組可以取消打勾,最後按下建立按鈕
現在可以把前面我們辛辛苦苦建立的成員和對應的角色拿來綁定在這個專案上了
注意!通常上方我們會選取群組而不選擇個別單一成員,這樣未來有新成員要加入組織時,不需要跑到每個專案裡面去設定,只需要在admin後台把成員加進群組即可
6. 在專案裡創建Issue
現在我們登出admin,改用tomy這個普通開發程序猿的帳號登入、感受一下普通老百姓的使用體驗,首先點選上方Menu中的「專案清單」
選取我們剛剛建立好的 EasyBLOG專案
來到分頁「議題清單」裡建立新Issue
Issue的建立與編輯重點就是…欄位能填的盡量填滿、確實,敘述內容盡可能讓你以外的第三人都能輕易看懂,這樣才有利於團隊管理階層能透過Redmine(或其他專案管理系統)精準的掌握、判斷決策的走向,也能讓團隊其他成員同步到專案目前的來龍去脈,或有可能即時提供幫助
得益於Redmine5內建的mention功能,現在可以直接透過「@」標記團隊成員
最終我們在Issue Tracker List上看到的大致會長得像這個樣子
7. 透過內建模組或插件提升專案管理的可用性
內建的甘特圖搭配Roadmap可以輕鬆地在各個版本和時程裡掌握各個Issue的推進狀況
概觀中的報告可以宏觀不同追蹤標籤或狀態的issue數據圖
RedmineUP_agile插件的敏捷看板可以換一種視角、更直覺的檢視或異動Issue,Lite免費版只有KANBAN的功能,如果想要Scrum衝刺的話,就需要付費買Pro版本的插件了
後話
專案管理是一門學科,還有專門的PMP證照考試,Redmine、Jira這種專案管理軟體不像一般其他的資訊軟體、知道怎麼安裝跟操作就能嫻熟運用,這牽扯到的是一個團隊或組織的工作流程與權責分立,甚至可以上綱到是一種組織的工作文化,教條是死的而人是活的,即便你一區區系統工程師把Redmine服務給架了起來,但團隊是否願意按照這個Workflow去做事,那個不愛寫文件的資深工程師先不論他是否願意好好地透過這個平台將知識透過Redmine Wiki去做輸出,搞不好他連Issue Ticket都愛寫不寫的、寫得連他媽都看不懂!有些人涉世很深早就已經有了一套自己的工作方法,他或他們是否又願意配合整合進入這個資訊平台呢?事實上這種類型的軟體在組織上要如何應用,需要的是管理層級們的共識與決心,路才走得遠
相比禪道和 Jira,Redmine更像是流著純正OpenSource血液的產品,他不像Zentao 禪道的條條框框讓你在軟體裡面失去自由,相反在簡潔易用的基礎之上提供了很多讓你開啟的功能模組或第三方插件,像是堆積木一般的由使用者自己去決定工具的樣貌,而相比Jira卻又不及他的成熟與對用戶的貼心,這很像是Windows和Linux的選擇,有錢躺著用、沒錢靠努力,Redmine最大的優勢大概就是價格成本了吧,如果想要打造現下流行的敏捷開發框架,付費插件加上美美的付費皮膚、不論用戶數量,一年的授權大約是5萬台幣左右,回過頭來說就依然是商業軟體和OpenSource的選擇題了
推薦閱讀:
Redmine-TW 繁體中文推廣計畫
專案管理平台 Zentao禪道-Docker部署、使用導覽
專案管理平台 Jira-雲端版本的使用導覽
0 Comments:
張貼留言