OpenProject教學

開源專案管理

簡介

GeminiAI生出來的

簡介

Openproject

OpenProject 是一款開源的專案管理軟體,可用於雲端或本地部署。它提供了一系列功能,可幫助團隊有效地管理專案,包括:

  • 專案規劃和排程
  • 工作追蹤和管理
  • 文件共享和協作
  • 溝通和報告

OpenProject 的主要功能包括:

  • 工作包:用於定義和追蹤專案中的工作。
  • 任務:用於將工作分解為更小的可管理部分。
  • 時間追蹤:用於追蹤團隊成員在工作上花費的時間。
  • 里程碑:用於標記專案中的重要進程。
  • 文件:用於存儲和共享專案相關的文件。
  • Wiki:用於建立專案知識庫。
  • 討論區:用於團隊成員之間的溝通。
  • 報表:用於追蹤專案的進度和績效。

OpenProject 具有以下優點:

  • 免費和開源:任何人都可以免費使用和修改 OpenProject。
  • 靈活和可擴展:OpenProject 可以根據團隊的需求進行定制和擴展。
  • 安全和可靠:OpenProject 使用最新的安全技術來保護您的資料。

OpenProject 適用於各種規模的團隊和組織,包括:

  • 軟體開發團隊
  • 行銷團隊
  • 設計團隊
  • 製造團隊
  • 非營利組織
  • 教育機構

如果您正在尋找一款功能強大、靈活且可靠的專案管理軟體,OpenProject 是一個不錯的選擇。

以下是一些使用 OpenProject 的具體案例:

  • Canonical:使用 OpenProject 管理 Ubuntu 和其他 Linux 發行版的開發。
  • Mozilla:使用 OpenProject 管理 Firefox 和其他 Mozilla 產品的開發。
  • Red Hat:使用 OpenProject 管理 Red Hat Enterprise Linux 和其他 Red Hat 產品的開發。
  • Siemens:使用 OpenProject 管理其全球工程專案。
  • BMW:使用 OpenProject 管理其汽車開發專案。

這些案例表明,OpenProject 已被一些世界上最大的組織採用,並證明了其作為一個可靠的專案管理工具的能力。

簡介

OKR

出處
https://www.eventx.io/zh/blog/okr
https://businessmap.io/okr-resources/okr/best-practices

企業內部 OKR 實行架構

目標的設置應該要是可行動、且具野心的,它們應該是需要努力才能完成的目標。在目標完成後,就可以進一步設置能夠協助達成目標的關鍵成效。

以下列舉 10 個最適合應用 OKR 的情境,可依據公司內部需求參考使用:

  1. 作為核對工具,取得所有內部人員對於公司目標的認同
  2. 將團隊 OKR 與公司整體目標對齊
  3. 領導層支持,並設置 OKR 提倡者,鼓勵大家完成 OKR 目標
  4. 讓 OKR 的內容對所有關係人透明
  5. 教育所有人,並讓大家都參與到 OKR 的建置過程
  6. 一開始先不要設置太多目標,從清晰明確的少量目標開始
  7. 將目標放在激勵因素前面,「為什麼做」才是重點
  8. 讓員工為自己設置 OKR
  9. 每週核對 OKR 執行進度
  10. 固定回報執行成果

有 OKR 之父稱號的 Andrew Grove 說過,就算吸收再充分的知識,缺乏執行那就都沒用了
制定出 OKR,就是為了要有效動手執行計畫、進而達成目標。


image.png

範例: https://businessmap.io/okr-resources/okr/examples
簡介

Openproject與OKR

OKR 是「Objectives and Key Results」的縮寫,是一種目標管理框架,可用於幫助組織和團隊設定、跟踪和實現目標。OKR 由以下兩個部分組成:

OKR 通常以季度為基礎進行設定和跟踪。在每個季度開始時,組織或團隊會設定一組目標和關鍵結果。然後,團隊成員會根據這些目標和關鍵結果制定工作計劃。在季度末,團隊會評估其目標的達成情況並制定下一個季度的目標。

OpenProject 是一款開源的專案管理軟體,可用於幫助組織和團隊實施 OKR。OpenProject 提供了以下功能來支持 OKR:

以下是一些使用 OpenProject 實施 OKR 的具體步驟:

  1. 定義目標和關鍵結果:與您的團隊合作,確定您想要在接下來的季度中實現的目標。對於每個目標,定義幾個關鍵結果來衡量其達成進度。
  2. 將目標和關鍵結果與工作包關聯:在 OpenProject 中,將您的目標和關鍵結果與工作包關聯。這將幫助您的團隊成員將其工作與組織的目標保持一致。
  3. 定期跟踪進度:在季度期間,定期跟踪您的目標和關鍵結果的達成進度。這將幫助您及早發現任何潛在的問題並做出必要的調整。
  4. 進行績效評估:在季度末,評估您的團隊目標的達成情況。這將幫助您從中吸取教訓並改進下一個季度的目標設定過程。

結合使用 OpenProject 和 OKR 可以幫助組織和團隊更有效地設定、跟踪和實現目標。OpenProject 提供的功能可以幫助您簡化 OKR 的實施過程,並提高團隊的績效。

導覽

我的經驗

系統上手之後,接下來就是系統設定
  1. 公司
  2. 個人使用
公司
  1. 系統管理員
    主要工作除了整個系統安裝/維護之外,還要負責建立專案,公司可以導入「開立專案申請表」流程,讓系統管理員依據表單「建立新專案」,以及「設定專案管理員」;後續專案管理員就可以新增子專案,自行管理。 

    建議階層式新增專案,可以「年份」命名。

    image.png

    專案結案後,可以進行封存(目前版本封存專案後,需解封才能看內容)

    image.png


  2. 專案管理員
    首先要做的事是:
    * 建立不同視角的「看板」
    * 新增首個「工作項目(Tasks)」填入專案相關文件或訊息
    * 專案加入成員,此舉成員會看到所有工作項目,不建議此做法建議使用「共用」功能,參與人員只能看到跟自己相關的工作任務
    * 透過專案的「會議功能」發布會議(不建議直接使用email發布)

  3. 基層主管(基層)
    建立適合自己的OKR檢視版面,讓中高階主管檢視
    建立適合自己的KPI檢視版面,來檢視部門成員的工作項目

  4. 專案成員
    填寫「專案工作項目」內容
    建立適合自己的工作項目檢視版面
    以下向上進行KPI、OKR綁定

  5. 部門成員
    填寫「部門工作項目」內容
    建立適合自己的工作項目檢視版面
    以下向上進行KPI、OKR綁定
個人

個人專案,自己擔任專案管理員,自成天地,就像寫日記一樣,未來可以回顧。

OpenProject 安裝

讓有經驗的DevOps,可以一天建立OpenProject專案管理系統。 另外官網建議14.5或以上,應該改用 docker compose方式 https://github.com/opf/openproject-docker-compose/issues 但是到目前為止,用 docker 可直接一路升級到 15.3.2 不須改用docker compose

OpenProject 安裝

Docker安裝

docker-ce 版本  24.0.2-1  或 以上

docker volume create project_assets
docker volume create project_pgdata

# 14.0.0版以前(不含14.0.0)
docker run -d --restart=always -p 8091:80 --name openproject  -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets -v project_fonts:/app/public/fonts openproject/community:13.4.1

# 14.0.0版以後(含14.0.0)
docker run -d --restart=always -p 8091:80 --name openproject  -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets -v project_fonts:/app/public/fonts openproject/openproject:14.0.1

#以上參數需要修改如下
8091:80  ->  8091為主機的port(沒被佔用)
OPENPROJECT_DEFAULT__LANGUAGE=zh-TW  -> zh-CN or en 
OPENPROJECT_HTTPS=false  -> 網站內部使用,所以不需要https,https交給代理伺服器即可
OPENPROJECT_SECRET_KEY_BASE=安全密碼 

#若需要開放資料庫(postgres)給外部使用, 則加上 -p 5432:5432 , 且新增一個superuser連線

#新增superuser
docker exec -it --user postgres openproject bash
psql
postgres=# CREATE ROLE root WITH LOGIN SUPERUSER PASSWORD '密碼';

#外面連線進來
psql -h <ip>  -U <帳號> <資料庫>
ex:
psql -h 172.17.0.2 -U root openproject


安裝openproject(不需要內建的postgres資料庫)

docker run -d --restart=always -p 8091:80 --name openproject  -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -e DATABASE_URL=postgres://user:pass@host:port/dbname -v project_assets:/var/openproject/assets -v project_fonts:/app/public/fonts openproject/openproject:15.4.0

#以上參數需要修改如下
8091:80  ->  8091為主機的port(沒被佔用)
OPENPROJECT_DEFAULT__LANGUAGE=zh-TW  ## 簡中zh-CN or 英文en 
OPENPROJECT_HTTPS=false  # 網站內部使用,所以不需要https,https交給代理伺服器即可
OPENPROJECT_SECRET_KEY_BASE=安全密碼 #老實說我也不知幹嘛的,沒認真K文件
DATABASE_URL=postgres://user:pass@host:port/dbname   # 外部已預先安裝好的postgres

安裝完畢,瀏覽器輸入http://ip:8091 ,登入預設 admin/admin

匯出PDF出現繁體中文亂碼解決方式

image.png

  1. 下載 NotoSansTC 繁體中文,
    或是建議下載可簡繁正確顯示(簡變成繁)
    獅尾繁中黑體 Swei Fan SansSweiFanSansCJKtc-Regular.ttf檔案
  2. 將 NotoSansTC-xxx.ttf  或 SweiFanSansCJKtc-Regular.ttf 複製並取代 /app/public/fonts/noto/ 的所有ttf檔案

    image.png


  3. 此時就可以正常匯出了(但字型就只會有一種)
    image.png
OpenProject 安裝

體驗企業版

  1. 目前測試14.x.x -> 15.1.0測試ok
  2. 申請試用 
    https://www.openproject.org/docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-trial/
  3. 神人協助
    https://gist.github.com/markasoftware
https://gist.github.com/markasoftware/f5b2e55a2c2e3abb1f9eefcdf0bfff45/raw/148c5067e30eae04f96e3233144b4404f70ade47/enterprise_token.rb

############ REPLACE app/models/enterprise_token.rb in the source code with this file! ################
############ also be sure to RESTART OpenProject after replacing the file.             ################
############ it doesn't show that enterprise mode is enabled in the settings, but all  ################
############ enterprise mode features, such as KanBan boards, are enabled.             ################

OpenProject 安裝

資料庫備份

OP使用的是postgres資料庫,備份也使用標準的postgres指令

# 備份OP資料庫
docker exec -it <OP容器名稱> su - postgres -c 'pg_dump -d openproject -x -O' > openproject.sql

# 若資料庫非內建
docker exec -it <資料庫容器名稱> pg_dump -U postgres -d openproject -x -O > openproject.sql

postgres 連線指令

# -U 帳號
# -d 資料庫名稱
# -h 主機
# -W 需要輸入密碼
# -p 埠(預設5432)
psql -U root -d openproject -p 5432 -h localhost -W

OpenProject 安裝

升級

OP升級很友善,與nextcloud一樣會自動判斷,自行升級

# 拉下最新版
docker pull openproject/openproject:14.1.1

# 備份資料庫
docker exec -it openproject su - postgres -c 'pg_dump -d openproject -x -O' > openproject.sql
# 備份檔案(除非大版本更新,否則可以省略)

# 升級
docker stop openproject
docker rename openproject openproject_20240806

# 這裡我將postgres開放並改port為5433、http port改8091
docker run -d --restart=always -p 8091:80 -p 5433:5432 --name openproject  -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=true -e OPENPROJECT_SECRET_KEY_BASE=<密碼> -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets openproject/openproject:14.1.1

# 查看執行狀況
docker logs -f openproject

 

OpenProject系統設定

建議「自訂工作項目版面」

OpenProject系統設定

連線到M$網域主控站

好像沒甚麼要注意的,非常簡單

請詳細參考官方網站
Documentation ->System admin guide -> Authentication -> LDAP authentication

image.png

系統帳戶建用權限最小的,最好只能唯讀之類的; Base DN 建議要精準一點,不要範圍過大

image.png

sAMAccountName

image.png

設定群組

設定群組可以在新增工作項目時,指定整個群組,非常好用

image.png

OpenProject系統設定

整合GIT、SVN的「修訂記錄」

目標(Objectives):工作項目(Bug)達到Issue Tracking功能。

成效(Key Result):與svn、git整合,程式提交時,OpenProject就能自動對應修正工作項目。


GIT

Git服務器(非Github),我推薦使用gitblit , 原因很多,主要是OpenProject說只能與local git,整合 , 實際上我用 https://account:password@gitserver 方式可以連上,真的不錯。

image.png

另外設定GIT成功,記得將git開發者與OpenProject成員帳號進行綁定

image.png

image.png

建議更改設定讓所有人(含專案管理員)只能看到修訂歷史紀錄

只讓系統管理員才能管理版本庫

image.png


image.png

OpenProject系統設定

版控系統提交時,輸入關鍵字與專案管理系統整合

當我們在版本控管系統題交訊息時,可以輸入關鍵字,就可以跟專案管理系統整合。

GIT提交

image.png

OpenProject整合版本庫

image.png

對應到工作項目 #50 自動關閉

image.png

關鍵字是可以自定的

image.png

系統管理員

資訊相關人員擔任

系統管理員

建立專案

  1. 建立專案,名稱務必簡潔有力,且注意是否公開(建議不公開)

    image.png


  2. 專案一定要設定「成員」與「專案管理員」


    image.png


  3. 建立不同角度的「看板」

    建立不同角度的看板,專案小組應慎重討論後建立。



    本例子建立兩個看板:「任務進度」(類型:狀態)與「釋出版本」(類型:版本)

     

    image.png


    某天測試員發現一個bug,點選「任務進度」,並且建立一個卡片(因已告知程式師,進度直接設定In progress),卡片標題為「無法連線到設備」,此次版本關聯到v19。

    image.png

    同一個任務,不同角度的看板,有不同的呈現


    image.png


    image.png

    若任務的版本需要更改,也可以很方便輸入新的版本,系統會協助新增;但實際使用「看板」並不會自動增加卡片,需到看板那邊手動加入

    image.png


  4. 設定儲存空間
    若有雲端檔案系統,如Nextcloud,可以儲存專案所上傳的檔案。

    檔名必須定義命名規則,方便以後到雲端檔案系統搜尋與查詢
    例如命名規則:任務名稱_文件名稱.副檔名 、任務ID_文件名稱.副檔名
    實際上傳名稱即為「 無法連線到設備_測試報告.xlsx」 or 「 41_測試報告.xlsx」


    image.png


系統管理員

設定工作項目預設欄位

根據經驗,預設欄位建議如下

image.png

系統管理員

設定非工作日

非工作日將不納入專案日程

image.png

系統管理員

注意事項

(1)

新增客製欄位"DHF"(如下圖),並且設定到「預設工作項目欄位」;

若不再需要"DHF"欄位,必須先移除「預設工作項目欄位」的"DHF",再將客製欄位"DHF"刪除;否則以後「預設工作項目欄位」就再也無法使用了。

image.png

若出現「預設工作項目欄位」無法使用,請手動將OP資料表settings的"work package list default columns"資料調整即可

image.png

專案管理員

該如何導入openproject,有一些建議

專案管理員

啟用模組

專案建立後,需要啟用適合的模組

image.png

專案管理員

加入專案成員、群組

此法該成員會看到所有工作項目,須謹慎考量

image.png

專案管理員

查看專案活動

image.png

image.png

專案管理員

自訂工作項目版面

使用者可以自訂想要看的版面

image.png

專案管理員

指派專案成員工作項目

建立工作項目,並且指派專案成員
專案管理員

透過專案系統發布會議

透過系統發布會議,系統會自動寄發電子郵件給指定成員,讓專案管理員更能掌握專案進度。

專案成員

專案成員

建立工作項目

除了專案管理員外,成員也可以自行建立工作項目
專案成員

紀錄工作內容

若要撰寫工作內容,需要點選工作項目,然後輸入工作內容

image.png

 

image.png


專案成員

郵件提醒

系統有預設值,每個帳號可自行額外設定

image.png

image.png

專案成員

已讀通知

觀看「通知」後需要設定已讀

image.png

專案成員

自訂工作項目版面

使用者可以自訂想要看的版面

image.png

專案成員

分享工作項目給非專案成員

image.png

其他

其他

透過M$ Excel(2016)同步更新工作進度

官方提供透過excel,就可以很簡易的更新工作進度

步驟如下:

1. 取得自己的API token
請注意這個API token只能有一個,新增後只顯靈一次,就算通靈也不會再次顯示出來,需自己保存。

image.png

image.png

2. 到官方提供的GitHub OpenProjectExcel 下載excel巨集檔案

image.png

下載的檔案解開後會找到OpenProjectAPI.xlsm巨集檔案

image.png

3. 開啟Excel檔案,並且設定參數

image.png

從網址獲得專案名稱(代號)

image.png



4. 開始同步資料
選擇Download或Upload/update,就可以使用了

image.png

5. 若沒有看到其他欄位,需自行手動加上去

image.png

image.png

詳參閱官網

其他

費用

OpenProject開源社群版本0元購,所有資料都在公司內部。

M$ Project web 60人公司,基本版每年約23萬NTD;專業版每年約70萬NTD
所有資料都在微軟手上

image.png

M$ Project 單機版每台主機2萬7千NTD,專業版4萬5千NTD

image.png