CTO訓練營第二季畢設(shè):構(gòu)建行之有效的工程能力
原創(chuàng)【51CTO.com原創(chuàng)稿件】
導語:CTO訓練營第二季已經(jīng)圓滿收官,作為一個學習分享和社交的平臺,CTO訓練營提供的不光是知識分享,還有一個屬于技術(shù)管理者的人脈圈子。結(jié)課之后,第二季學員提交了畢業(yè)設(shè)計,來對四個月以來的學習進行總結(jié)與回顧,部分論文由CTO導師進行點評和打分。
構(gòu)建行之有效的工程能力 王恒蕾 七樂康高級工程師
前言
在當今互聯(lián)網(wǎng)特別是移動互聯(lián)網(wǎng)的快速發(fā)展的大潮下,版本的快速迭代已經(jīng)是一個互聯(lián)網(wǎng)團隊的必備技能,而在此時團隊是否擁有強大的工程能力則是快速迭代下質(zhì)量保障的一個關(guān)鍵問題。如果工程能力不行,那就是一個顯而易見的結(jié)果—人肉運維。在創(chuàng)業(yè)初期可以如此處理,但是隨著公司業(yè)務(wù)規(guī)模的不斷提升,以及技術(shù)團隊規(guī)模的不斷擴大,人肉運維漸漸不能滿足公司發(fā)展的需求,此時建立行之有效的工程能力就是亟需完成的事情。
現(xiàn)狀
當前的現(xiàn)狀可以用兩個詞來形容:人肉質(zhì)量 + 人肉運維。
1、人肉質(zhì)量:
a)需求在上線前在持續(xù)的變更中。
b)初步建立了代碼評審制度并且在實施中。
c)沒有單元測試、接口測試、只有端到端的手工功能測試。
d)APP端的打包工作由開發(fā)人員在本機使用IDE完成。
e)開發(fā)環(huán)境發(fā)現(xiàn)的問題在預(yù)發(fā)布環(huán)境仍然復(fù)現(xiàn),測試疲于奔命。
f)測試人員需要完成從開發(fā)、預(yù)發(fā)布到線上三個環(huán)境的測試才能確保沒有問題。
2、人肉運維:
a)線上部署需要手動完成。
b)一次各端聯(lián)合上線需要消耗20個小時。
c)App版本的迭代更新也需要深夜通宵上線才能保證業(yè)務(wù)順暢。
在如此的工程能力下,我們?nèi)匀豢梢园l(fā)展到今天,開發(fā)、測試和運維人員的工作激情功不可沒。在未來的發(fā)展中,如果有更多的業(yè)務(wù),更大的團隊,如此的工程能力是否能支撐我們的發(fā)展,這里有一個大大的問號。
鑒于此,我作為一名測試人員來提出一個基本的團隊工程能力提升方案,希望對日后團隊的發(fā)展有所幫助。
提升方案
1、團隊領(lǐng)導的支持
要提升整個團隊的工程能力,首先要獲得團隊領(lǐng)導的支持。將工程能力提高的必要性和后期收益進行詳盡的分析說明,同時將具體的工作計劃進行梳理完成后獲得領(lǐng)導的確認和支持。
2、工程能力提升的活動宣講
在技術(shù)團隊內(nèi)部進行為期1-2周的工程能力提升計劃宣講,將具體的目標的工作步驟進行宣講和貫徹。
3、制定提升計劃和考核標準
分別以月和季度為單位制定提升計劃,確保其可執(zhí)行性。針對各階段的計劃由各小組自行制定考核標準,使其能夠自我驅(qū)動來完成提升計劃。
4、具體的提升內(nèi)容
a)制定版本分支--代碼和數(shù)據(jù)庫
各開發(fā)組針對不同的工作環(huán)境需要建立不同的分支(開發(fā)、測試、預(yù)發(fā)布、線上),不同的分支之間需要建立嚴格的分支合并方案,確保流入下一分支代碼的穩(wěn)定性。除代碼的分支之外,數(shù)據(jù)庫也要分支并且使用與代碼相同的分支合并方案。
b)持續(xù)集成
i.使用工具
Jenkins是目前已經(jīng)廣泛使用的持續(xù)集成、持續(xù)部署和持續(xù)交付工具,需要將各端的代碼打包和部署全部納入Jenkins管理,并利用Jenkins強大的持續(xù)集成能力來確保代碼質(zhì)量的穩(wěn)定。
ii.代碼質(zhì)量審查
在Jenkins中使用類似于SONAR的代碼質(zhì)量審查工具,制定各語言自己的代碼質(zhì)量標準,確保新加入的代碼真正符合質(zhì)量標準要求,不帶入新的技術(shù)債務(wù)。針對舊的技術(shù)債務(wù),有選擇性的進行修訂。
iii.接口測試與UI的回歸測試
針對后端接口實現(xiàn)主要功能的自動化回歸測試,針對APP 和WEB完成冒煙測試部分的自動化回歸測試。在每一個版本發(fā)布完成后自動運行相關(guān)測試,確保版本的穩(wěn)定性。
iv.自動化部署
針對測試通過達到上線要求的代碼,通過持續(xù)集成工具進行一鍵部署。
5、階段執(zhí)行與持續(xù)改進
將具體的每個提升內(nèi)容進一步細化,使其能夠小顆粒度的逐步執(zhí)行。并且在每個階段完成后分析當前階段的執(zhí)行情況,發(fā)現(xiàn)問題并且進行改進,確保后續(xù)計劃的可持續(xù)性。
6、獎懲
根據(jù)具體的階段執(zhí)行情況進行獎懲,如未達成目標主要負責人做俯臥撐,達成或者超過目標給該團隊發(fā)技術(shù)書籍等非KPI型方式來進行獎懲,確保各團隊和負責人能夠領(lǐng)會到工程能力提升的重要性。
總結(jié)
一個團隊的工程能力的提升并不是一蹴而就的,它需要上層領(lǐng)導的支持、完整的工作計劃、團隊成員的自我驅(qū)動、適用的考核標準以及高效的工具,階段的執(zhí)行過程,不斷分析總結(jié)執(zhí)行情況,發(fā)現(xiàn)問題并且進行改進。最終才能收獲一個擁有強大工程能力的團隊。
導師點評:國美在線CTO于斌平
評分:88
評語:不錯的實踐!從自身的工作情況出發(fā),分析現(xiàn)狀,找出原因,列出方案,然后推動解決,這是一個優(yōu)秀的管理人員所必備的技能,也是很多管理人員忽視或欠缺的技能。在此基礎(chǔ)上,如何更好地提升團隊效率和工作質(zhì)量,需要再深入思考。非常好,加油!
CTO訓練營是51CTO高招主辦,面向中高端技術(shù)管理者的學習分享及社交平臺,匯集業(yè)界資深技術(shù)高管、投資人資源,以“打造技術(shù)經(jīng)理的MBA”為核心,全心全力幫助中國***潛力的技術(shù)管理者,成長為未來技術(shù)領(lǐng)域的***及榜樣。第三季CTO訓練營將在原有優(yōu)質(zhì)內(nèi)容體系的基礎(chǔ)上,延伸四大選修活動,滿足不同技術(shù)管理者的個性化需求。
【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】