前言
小型技術研發團隊,往往開發流程比較簡單:整理需求/bug、分配任務到個人、完成指定任務、驗收。涉及到的相關管理工具主要是:項目/任務管理系統、源代碼管理系統。
項目管理系統
從09年開始,我用過ActiveCollab做項目管理工具;后面12年開始使用禪道。
AC從0.7以后的版本轉向商業,但毫無疑問,這套系統給人一種優雅的感覺;而禪道,本身功能非常強大,一看就是一個工具,只是稍微缺少一點那種文藝范。
其實,日常生活中,個人還在嘗試使用很多新興的任務管理平台,像 Tower、TeamBition等。發現這些軟件在交互體驗上,都做得非常不錯,非常適合做一些簡單零碎事務的管理。然而不能進行所謂的自托管,對企業應用來說,限制較多。
源代碼管理
這兩年,很多團隊將源代碼管理工具從svn遷移到了git上,但個人認為svn在很長一段時間內,還是符合小型團隊的需求的。
而且,有一些web界面的svn倉庫管理工具可用,大大簡化了遠程登陸服務器去維護的流程,個人用得比較順暢的是usvn。
搞技術的,總希望用的各個系統能集成,統一的賬戶管理、權限管理等等。
但svn主要支持的用戶鑒權authn與authz的方式是unix風格的配置文件,無法方便的與數據庫系統整合。
其實“鑒”還是有辦法的,apache有mod_mysql_auth這樣的模塊,但“權”似乎沒有看到相應比較靈活的實現。
查看了大量的資料后,發現實現方式應該是這樣:設置一個中間的代理層,當用戶請求過來時,通過代理層進行鑒權后再轉到svn倉庫。
目前看到了人通過go語言實現過一個代理層,以及redmine中通過apache支持perl module的方式以perl語言編寫代理層並以apache模塊的方式嵌入使用。
參考實現:http://www.cnblogs.com/x3d/p/3829374.html
一句題外話:沒想到perl跟apache才是原配,php都算不上。
小團隊為什么要實施這樣的管理
曾經這樣回答:任何一個小團隊小企業總是有一個做大的夢想。
工具與方法,是提高團隊工作效率、建設團隊文化、降低人為因素風險的一種途徑。
絕大多數小團隊都會死掉,所以小團隊往往成就的不是團隊,而是個人。
實施基本的項目管理,是每個團隊成員都需學習的一門基礎課。