IT|資訊系統|專案管理|Redmine Project management system (PMS) 協同專案管理系統建置

專案管理的優缺點    2016年7月12日

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 目錄,在裡面執行:

下載的 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
議題權限:可設為私人,則在公開專案下,私人議題為不可見

四.議題
議題與專案相同,可在父議題之下->設定子議題

五.主辦/協辦
議題指派為主辦,監看者為協辦

六.帳號
個人帳號:分為一般帳號,僅可視與自己有關之專案,具管理權限者可視範圍為所有專案
群組帳號:依需求設立

Redmine 整合 Eclipse    2016年7月11日  

Eclipse獲取 redmine中的任務:https://read01.com/JDxKoR.html

Redmine可以集成eclipse的mylyn插件,從而實現獲取redmine中的任務,其實現方式有另種:
1.使用通用的Web倉庫連接器(Web Repository connector)
2.使用 Redmine-Mylyn Connector

How To connect a Mylyn repository to Redmine

相關資源    2016年7月11日

Redmine 官方網站:http://www.redmine.org
Redmine 專案管理平台之基本功能介紹:http://ryan-tw.blogspot.tw/2015/01/redmineredmine.html
Redmine:安裝、使用教學:http://www.hkitblog.com/?p=19824

障礙排除    July 22, 2016

出現下列錯誤,執行以下指令
ssh kevin@10.176.32.180 -p 6082
# /etc/init.d/iptables restart
# /etc/init.d/docker restart
重新啓動容器正常

留言

這個網誌中的熱門文章

IoT|硬體|樹莓派|外接麥克風及喇叭設置

成長|語文|學習-英文 持續更新!

IoT|硬體|通訊|Arduino 使用 SoftwareSerial Library 與電腦通訊