IT團隊如何能夠快速,高效的支撐公司業務與響應公司業務的變化成爲IT團隊管理的一個重點,尤爲在這快速變化的商業環境,IT團隊對公司擴展業務起了很重要的做用。根據個人工做經驗,在敏捷開發思惟下如下5點是提升IT團隊效率的重要支撐點。git
如今流行的代碼管理工具備SVN與GIT,svn是中央集中式管理,git是分佈式管理,svn相比git來講有效率上的劣勢,svn是鎖文件機制,不能同時並行編輯提交,而git是更新集機制,每一個人能夠在本身的branch中隨意進行更改,功能完善後再提交合併到主幹分支,如今愈來愈多的企業與組織都用git。因此IT團隊代碼管理我建議使用GITgithub
使用git來管理代碼沒有問題,可是還須要一個好的代碼管理流程,實際上每一個公司的代碼管理流程都有或多或少的不一樣。這裏我來介紹一個經常使用的流程npm
master: 發佈分支,專門用於發佈,用於合併功能測試穩定後的dev分支。架構
dev: 開發分支,是最新的功能開發分支app
各類feature分支:通常是成員本身的分支框架
hotfix/master: 用來修復線上bug的分支maven
master主幹分支,權限嚴格受控,只接受穩定的dev分支的合併請求,每次發佈須要打tag分佈式
平常新功能開發或者bug修復都是基於dev分支來建立員工本身的分支,這樣每一個人的任務的開發與別人是最小依賴耦合的狀態,本身新功能測試完畢,提交合並請求到dev分支,dev分支相關人員review代碼後合併代碼到dev分支ide
每一次敏捷開發的sprint計劃結束後,都會測試一個穩定版本的dev分支並進行打tab,而後master分支合併此次穩定後的dev分支svn
線上出現bug,須要從master分支建立hostfix/master分支,測試完畢後,基於hotfix/master分支進行發佈,發佈完畢後合併到master分支,而後刪除hostfix/master分支。
gitlib: 開源的普遍流行的git倉庫軟件,本身搭建git倉庫首選
github: 世界上最大的代碼倉庫,有企業版本服務
碼雲:中國最流行的代碼倉庫,提供企業版服務
sourceTree
團隊開發離不開項目管理軟件,經過項目管理軟件錄入需求,需求進行評審,分解需求成任務,開始計劃,bug管理能夠把IT團隊的工做量化,輔佐以敏捷開發過程跟蹤與計劃任務燃盡圖顯示,你們在工做透明的環境下,有了比較更能提升本身的工做效率,而且需求,任務,計劃,bug等能夠隨時進行檢索,能夠清晰的記錄項目的發展歷程,這裏須要注意的是,必定要將相關需求人員歸入到管理中來。
禪道(推薦)
JIRA
軟件的品質離不開軟件測試,在企業裏有通常都有測試人員根據需求經過寫測試用例來進行功能測試,高級一點的測試會經過一些代碼進行功能的驗證,可是團隊不能把軟件是否可用徹底押注在測試人員身上,並且不少創業企業起初也根本沒有專職測試人員,都是開發兼測本身或者同事的代碼,再來敏捷開發也須要天天去驗證響應分支代碼庫是否可用(這裏的可用不能僅僅是編譯成功,更是指的功能可用),因此須要開發人員在開發階段就要對本身寫的代碼增長驗證測試代碼。同時對於一些功能變化少,相對穩定的功能,徹底能夠寫一些自動化測試程序進行迴歸測試。
寫單元測試雖然看起來會耗開發階段的一些時間,可是對將來的工做是有極大的好處的,例如將來重構這塊業務代碼,只須要再跑一遍這塊的單元測試就能夠,在項目每日構建CI階段,走一遍所有的單元測試代碼便可。單元測試有個指標能夠做爲項目評判的參考,這個指標就是代碼測試覆蓋率,代碼測試覆蓋率雖然不能決定軟件產品的品質,可是較爲高的代碼測試覆蓋率能減小軟件產品的出錯概率。(PS:若是是維護舊的項目沒有單元測試代碼,每次維護一個模塊須要要求寫單元測試,堅持下去)
集成測試是在單元測試的基礎上,將一些業務相關聯的模塊或者系統進行聚合測試,單元測試只能保證單一模塊局部能夠正常工做,集成測試用來保證多模塊能夠正常工做。
能夠經過黑盒測試對測試模塊進行功能性測試
使用測試代碼對模塊進行性能或者可靠性測試
迴歸測試就是重複以前已經測試過的測試工做,不少時候(尤爲是系統維護階段)咱們修改或者重構了代碼,在須要確認相關的功能或者流程有沒有引入新的bug的時候,就須要引入迴歸測試,迴歸測試多半是經過寫自動化的測試程序來進行測試,迴歸測試的成本與耗費精力相對來講比較高,對小初創型公司來講通常只須要對核心模塊有自動化測試就能夠.
selenium
CI的意思是持續集成,敏捷開發的重要一點就是要對天天的代碼進行build構建,構建有錯誤能夠及時通知相關人員。
CD是持續部署,把構建的程序能夠快速的發佈(或者恢復)到幾臺甚至幾百臺機器上是個棘手的事情
CICD都強調持續,這意味着程序不光須要一直在運行,還存在快速迭代過程當中頻繁發佈狀況,這些行爲都是可重複的,能夠經過自動化流程來解決CICD
maven
gradle
npm
jenkins
travis
ansible
chef
saltstack
團隊的組織架構要隨着業務變遷進行改變,雖然企業發展,團隊人數愈來愈多,團隊的組織架構就要隨着業務發展進行調整拆分,提升企業IT團隊效率的核心思想就是減小溝通成本,減小重複建設,經過自動化(測試,構建,集成,發佈)來減小人力時間等各類成本,支持業務能夠快速在市場上進行驗證與調整。