# project management system
[TOC]
為了節省你的時間,一個結論先說,如果你還沒有30+ git issue,請先花精力在git server 上。
## motivation
我是想人夠多再找 MES 搞定。但這其實是有雞生蛋,蛋生雞的問題,沒有project management system 了話,別人會來嗎?就像現在沒有 git 了話,是[不可能](https://www.ptt.cc/bbs/Soft_Job/M.1567829804.A.E06.html)有普通人 accept job 的。但有沒有可能,沒有 project management system 了話,其實別人也已經不 accept 了?
我們公司管理層不太可能接受直接買線上服務,你首先要解釋 什麼是專案管理系統、資安的非對稱加密、甚至什麼是git,然後要說服他們買這個效益。就算你願意講,他們大概也不願意聽,而且還有重重的卡人關卡。
基本上自己發起的,只能自己架。當然自己架了話,穩定性和功能就只能那樣,自己也不能要求太多。
## requirement
- 考慮和 document system 的整合
- 考慮 migration
- 恐怕是很難 migrate 的,能夠 migrate 的始終是git server 相關的 e.g. issue, pull request, wiki...
- 其實這些資料也只有在開發過程有意義,不是很有所謂。
- function
- kanban
- ticket
- Gantt chart/roadmap
## candidate
| proj | star | backend lang | license |
|:------------------------------------------------------------------- |:----- |:------------ |:------- |
| [**openproject**](https://github.com/opf/openproject) | 8k | ruby | GPL |
| [leantime](https://github.com/Leantime/leantime?tab=readme-ov-file) | 3.9k | php | AGPL |
| [ redmine](https://github.com/redmine/redmine) | 5.1k | ruby | |
| [plane](https://github.com/makeplane/plane) | 23.1k | python | AGPL |
| [**Vikunja**](https://github.com/go-vikunja/vikunja) | 503 | go | AGPL |
| [taiga](https://github.com/taigaio/taiga) | 307 | python | MPL |
| [focalboard](https://github.com/mattermost/focalboard) | 18.9k | go | apache |
| [Zentao ](https://github.com/easysoft/zentaopms) | 1.2k | php | AGPL |
- focalbaord
- is dead, waiting reborn
- can build and run
- function is relative simple, no gantt function
- plane
- is still preview
- after docker run, plz enter `god-mode` page
- 還沒有gantt
- taiga
- no clean install document, have docker compose file
- limitted function, no gantt
- seems able work with `gitea`
- **vikunja**
- have doc, [docker](https://vikunja.io/docs/docker-walkthrough/) can install
- 也有中文
- 有gantt
- **openproject**
- 有gantt
- 有中文
- `sudo OPENPROJECT_HOST__NAME="192.168.29.157:8080" OPENPROJECT_HTTPS=false docker compose up -d`
- 這是 stable branch,bugfix 沒那麼快。
- 有不少bug e.g. backlog。
- 功能非常的多而且細 e.g. 預算資料, scrum backlog...
- 但這也表示需要更多的時間去學。
- zentaopms
- 最大的優點應該是有中文
- 最大的缺點是 在裡面置入各種購買功能。有分 opensource 和 business 版,開出的功能不同。所以各種單獨購買。
- gantt 功能也在 paid 裡。
### other
- [wekan](https://github.com/wekan/wekan)
- 純 kanban
### reference
- [jira](https://ixdmotion.atlassian.net/jira)
- #1 市占率
## 導入
設備(專案系統)還好說,有了設備,如何導入,讓大家願意使用才是重點。
首先一定要從發issue 開始,**專案應該由issue 堆積**,才能讓code base 和它的歷史綁在一起。git server 是更必要的。
git server 其實是比 project management system 更貴的,公定一人一年最少要3500NTD。相比之下,[hostinger](https://www.hostinger.com/?utm_medium=affiliate&utm_source=aff19548&utm_campaign=6&session=10227ed4541f75dfa484711dbe24c0) VPS 最便宜一個月約 250 NTD,所以自架的啟動成本遠小於online(備份, MIS 有差)。
1. self host git server
1. local net
1. 如何鼓勵轉到 VPS ? 東西要賣出去,或給其它部門用。
1. VPS
3. all through issue
4. link with project management system
## friend
- git server
- gitea
- 有 kanban boards,對專案開 project
- 有 milestone 沒gantt
- 其它看套件有沒有支援。
- gitlab
- 有 kanban boards
- 有 gantt
- bitbucket
- 內建就和jira 無縫整合
- ci/cd
- drone
- gitea Actions
## todo
1. 非程式專案。e.g. 純專案方向討論、開會者不會coding、生產排程...
2. team knowledge system, 筆記管理軟體, 文件系統
1. hedge doc
2. logseq