專案管理的優缺點
Redmine是一個開源的項目管理系統,它有如下優勢讓我選擇它作為我的項目管理工具。
[優點]
Redimne 是免費的!如果會安裝也會維護的話,可以省下不少錢。
彈性的角色管理。
有甘特圖跟日曆功能可以使用。
開 issue 跟開 ticket 很方便。
支援透過電子郵件新增問題。
有繁體中文介面可以使用。
[缺點]
要自己安裝,而且電腦要裝好 Ruby on Rails 的環境,這對一般使用者來說就是一個頗高的門檻。
[實務上的困難]
通常一人專案的開發者容易採取邊做邊想的方式來做專案,這跟上述的思考方式、和習慣完全背道而馳,也無法估計時間,因此如果要組織一個團隊做事、享受團隊所帶來效率,勢必要改變習慣,而過程其實是需要練習摸索的。
使用 Docker 搭一個 Redmine
CentOS 結合 Docker + Redmine
[安裝步驟]
安裝 fig
sudo yum install -y python-pip
sudo pip install -U fig
若出現錯誤,使用以下兩行指令更新
sudo easy_install six
sudo easy_install requests
創建 redmine 資料夾mkdir ~/docker/redmine
Docker search redmine;查詢看官方是否出 Docker鏡像或者其他人作好鏡像了,若是有就直接引用就好。
$ docker search redmine
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
sameersbn/redmine 72 [OK]
在 Docker hub 上搜索是一樣的,雖然沒有官方的鏡像,那就選擇星星數量多的鏡像,sameersbn/redmine。
用 fig 直接快速安裝,在自己的 docker 目錄下新建 redmine 目錄,在裡面執行:~/docker/redmine$ wget https://raw.githubusercontent.com/sameersbn/docker-redmine/master/fig.yml docker-compose up
下載的fig.yml內容如下:
postgresql:
image: sameersbn/postgresql:9.1-1
environment:
- DB_USER=redmine
- DB_PASS=phatiphohsukeuwo
- DB_NAME=redmine_production
redmine:
image: sameersbn/redmine:2.6.1
links:
- postgresql:postgresql
environment:
- DB_USER=redmine
- DB_PASS=phatiphohsukeuwo
- DB_NAME=redmine_production
ports:
- "10080:80"
啟動 Redmine 直接快速啓動就可以了(若修改設定 fig.yml,則須刪除 Docker contener)。~/docker/redmine$ sudo fig -f docker-compose.yml up -d
查看系統 Contener 狀態
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d5d5a983298 sameersbn/redmine:2.6.1 "/app/init app:start 51 minutes ago Up 51 minutes 443/tcp, 0.0.0.0:10080->80/tcp redmine_redmine_1
c78a212c1503 sameersbn/postgresql:9.1-1 "/start" About an hour ago Up About an hour 5432/tcp redmine_postgresql_1
設定開機自動執行;共有兩個方法:1.以 Service、2.rc.local,本例採用第一種方法
touch ~/docker/redmine/runredmine
mv runredmine /etc/init.d
編輯相關檔案
chmod +x runredmine
chkconfig —add runredmine —level 23456
service name:runredmine
使用系統瀏覽器中輸入 http://localhost:10080,管理員帳號是 admin,密碼 admin。
[Redmine 使用說明]
建立專案
當該 redmine 有新成員的時候,還不代表該成員是你 project 的成員,所以接下來我們接下來要進入你的 project 的設定頁面將已經在 redmine 的用戶加入。
#Tickets
ticket 指的是一則任務,他屬於 project 底下,通常我們要指派一件事給別人就是發一則 ticket 把細節描述清楚並分派給那個人
狀態
在講狀態前,要先談到工作流程,以軟體開發為例,在實作一個功能、或修一個 bug,通常實作完成後,會丟給 PM 或某個人去驗收,驗收如果不通過會打回去請負責的人繼續改,當驗收過了後,就該票就會結束。
系統兩種狀態,議題視為已結束:
已駁回
已結束
子母票
如果一個任務太大,通常我們會拆分成多個小任務分配給不同人,這時候就需要將一張 顆粒大的票分派成多張顆粒小 的票。
例如:
[1] 實作一個會員功能
[1-2] 實作一個登入功能
[1-4] 設計登入、忘記密碼畫面 (指派給設計師)
[1-5] 實作登入後端程式 (指派給程式設計師)
[2] 實作一個註冊功能
[2-6] 設計註冊表單、和帳號啟用信 (指派給設計師)
[2-7] 實作註冊後端程式 (指派給程式設計師
使用方法是先開一張票 實作一個會員功能 ,把大綱的把需求寫出來,然後利用該 ticket 畫面上的新增子任務
子任務可以支援多層,用這樣的方式可以建立出向上方這樣的結構,這樣一來被分派到子任務的人就可以一層一層往上看,相關的資訊就非常清楚、而且還可以從最接近技術核心的地方往上層需求面去看,避免實作與真正的需求脫節。
tip
1.票一定要細到有辦法估計為 1-3 小時,不然就拆成多張、或往下拆
2.團隊中 senior 的人負責把模糊地帶釐清 (顆粒大的票拆成顆粒小的),由 junior 去實作顆粒小的票
3.票的內容要講解的非常清楚 (寫到 junior 的人看得懂做得出來、最好帶些技術的 reference)
4.真的無法細拆的票通常是待研究事項,可以獨立開一張給 senior 給自己固定時間研究。
最終目的:
1.把模糊釐清到 junior 的人都可以做,風險就會降低、產能容易複製
2.每張票明確到估得出時間,專案就一定 on time delivery
一般使用規範
一.建立專案
父專案代號:可建立共同專案及私人專案
父專案下建立子專案,及專案代號為連續編號
二.各專案包含子專案設有專用討論區及wiki
三.權限
專案權限:管理者(*具 Admin 權限)可以看到所有人專案,即使專案屬性設為 private
議題權限:可設為私人,則在公開專案下,私人議題為不可見
四.議題
議題與專案相同,可在父議題之下->設定子議題
五.主辦/協辦
議題指派為主辦,監看者為協辦
六.帳號
個人帳號:分為一般帳號,僅可視與自己有關之專案,具管理權限者可視範圍為所有專案
群組帳號:依需求設立
相關資源
gitbook:https://afunction.gitbooks.io/tools/content/pms/redmine.html
Redmine 官方網站:http://www.redmine.org
Redmine 專案管理平台之基本功能介紹:http://ryan-tw.blogspot.tw/2015/01/redmineredmine.html
Redmine:安裝、使用教學:http://www.hkitblog.com/?p=19824