作者 | 天蓉
前言
在談效能之前,我想先談?wù)勛鳛橐粋€(gè)技術(shù)人或者技術(shù)TL,研發(fā)的核心價(jià)值是什么?
之前看了一篇文章,比較有意思,分享一下觀念:
- T外包公司:最核心的競(jìng)爭(zhēng)力不是技術(shù),而是快速響應(yīng)、資源調(diào)配整合、項(xiàng)目成本控制等方面。
- 企業(yè)信息化公司:研發(fā)的核心價(jià)值有三個(gè)層次:第一層是運(yùn)用技術(shù)更好的去支撐業(yè)務(wù);第二層是用技術(shù)推動(dòng)業(yè)務(wù),用自身業(yè)務(wù)經(jīng)驗(yàn)(服務(wù)很多客戶)幫助客戶;第三層是去用經(jīng)驗(yàn)積累去影響行業(yè)。
- 解決特定場(chǎng)景和問(wèn)題的產(chǎn)品公司:核心價(jià)值就在于技術(shù),專(zhuān)注與做技術(shù)深度。
那我們的核心價(jià)值是什么?
(1)高效支撐業(yè)務(wù):一個(gè)是支撐,一個(gè)是高效
- 支撐:對(duì)我們的要求就是:階段性與業(yè)務(wù)目標(biāo),落地產(chǎn)品對(duì)齊。
- 高效:研發(fā)效能的思考落地。用數(shù)據(jù)說(shuō)明我們的價(jià)值
(2)用技術(shù)影響行業(yè):這個(gè)需要持續(xù)的積累和思考。
(3)建技術(shù)壁壘和技術(shù)基建,確保系統(tǒng)穩(wěn)定,業(yè)務(wù)健康和持久發(fā)展。
很多時(shí)候,我們一直在思考如何高效支撐業(yè)務(wù)這個(gè)課題上。阿里技術(shù)分享平臺(tái)或者網(wǎng)上都有非常多的文章分享,每個(gè)TL針對(duì)自己團(tuán)隊(duì)的狀況也有一套自己的方法論。今天我結(jié)合自己所面臨的狀況,把自己的思考總結(jié)分享一下。
個(gè)人思考
從幾個(gè)維度分別進(jìn)行思考:
1.研發(fā)的流程效能:拆分階段,發(fā)現(xiàn)關(guān)鍵問(wèn)題,提出方案
(1)需求階段
問(wèn)題:需求反復(fù),需求不清晰,需求爭(zhēng)議
解決方案:
1)確保需求的有效期,明確業(yè)務(wù)價(jià)值和需求范圍,并確保需求理解的一致性。
2)需求內(nèi)容,先小范圍內(nèi)溝通對(duì)焦;等需求討論清晰,再拉落地相關(guān)同學(xué)參與。
3)需求有爭(zhēng)議時(shí),為避免反復(fù),拉上相關(guān)同學(xué)一起對(duì)焦。
4)日常需求,定期排期,通曬。
(2)研發(fā)階段:這個(gè)在研發(fā)的生產(chǎn)效能單獨(dú)說(shuō)明。
(3)聯(lián)調(diào)與測(cè)試階段:
問(wèn)題:聯(lián)調(diào)效率低,環(huán)境不可用,提測(cè)代碼質(zhì)量低
解決方案:
1)前后端分離,各自具備Mock的能力
2)日常環(huán)境治理,降級(jí)系統(tǒng)服務(wù)的依賴(lài),確保測(cè)試環(huán)境問(wèn)題
3)基準(zhǔn)測(cè)試用例,冒煙測(cè)試,自動(dòng)化腳本測(cè)試,確保提測(cè)質(zhì)量。
(4)發(fā)布階段:
問(wèn)題:發(fā)布頻率高;定位問(wèn)題耗時(shí);部署系統(tǒng)時(shí)長(zhǎng)
解決方案:
1)對(duì)同一時(shí)間的發(fā)布系統(tǒng)做適當(dāng)合并。
2)與業(yè)務(wù)約定發(fā)布頻率,控制發(fā)布周期。
3)系統(tǒng)依賴(lài)治理,縮短部署時(shí)長(zhǎng);并提前打包
4)針對(duì)排查問(wèn)題耗時(shí),提供相應(yīng)的問(wèn)題排查工具。
2.研發(fā)的生產(chǎn)效能
針對(duì)研發(fā)的過(guò)程生產(chǎn),我們從如下幾個(gè)方面去提升研發(fā)效能:
(1)全鏈路技術(shù)規(guī)范:
每一個(gè)過(guò)程,通過(guò)規(guī)范文檔統(tǒng)一標(biāo)準(zhǔn),并通過(guò)宣傳和考試的方式,讓大家都熟知內(nèi)容。并通過(guò)典型案例通曬,強(qiáng)化規(guī)范內(nèi)容的價(jià)值。
(2)全鏈路業(yè)務(wù)可配置
- u頁(yè)面可配:表單頁(yè),列表頁(yè),詳情頁(yè),單據(jù)頁(yè)等中后臺(tái)頁(yè)面可配置。典型案例:宜搭的頁(yè)面搭建
- u邏輯可配:業(yè)務(wù)參數(shù)可配置;業(yè)務(wù)規(guī)則可配置;典型案例:類(lèi)目特征;
- u模型可配:用元數(shù)據(jù)方式定義數(shù)據(jù)表或業(yè)務(wù)模型+擴(kuò)展字段兩種方式典型案例:類(lèi)目屬性 ;NBF建模平臺(tái)
- u服務(wù)&流程編排:基于原子服務(wù)能力進(jìn)行二次組合。典型案例:AECP的服務(wù)編排;NBF的服務(wù)編排等
基于上訴的原子工具能力,再結(jié)合產(chǎn)品工廠和解決方案能力,把橫向和縱向的業(yè)務(wù)配置化能力鏈接在一起,形成一個(gè)分層的全鏈路業(yè)務(wù)可配置視圖。
(3)統(tǒng)一橫向支撐工具
拉通團(tuán)隊(duì)內(nèi)部共性的支撐工具,共建一份。比如excel批量導(dǎo)入導(dǎo)出,審批流,通知工具等。
(4)非功能性代碼
- 應(yīng)用腳手架:一鍵生成應(yīng)用工程,包括依賴(lài)的jar包等。
- 代碼規(guī)范的模板:錯(cuò)誤碼模板;日志模板;工程結(jié)構(gòu)等
- 中間件隔離層:包括使用的案例
- 通用工具類(lèi):外部開(kāi)源的工具類(lèi);業(yè)務(wù)抽象的通用類(lèi);自研抽象的通用工具類(lèi);
- 業(yè)務(wù)標(biāo)準(zhǔn)攔截:用戶登錄;服務(wù)異常處理;dao的執(zhí)行時(shí)間等
- 穩(wěn)定性:限流;應(yīng)用自檢;
把所有應(yīng)用的共性代碼抽象,沉淀為jar,在工程中默認(rèn)引入。
(5)部署交付:部署手冊(cè)指導(dǎo);統(tǒng)一的問(wèn)題排查工具;
(6)接口文檔化:web層統(tǒng)一遵循swagger規(guī)范;能力中心/工具遵循接口規(guī)范的文檔和client的使用案例說(shuō)明等。
(7)系統(tǒng)協(xié)作的清晰邊界
我們?cè)诼涞剡^(guò)程中,往往會(huì)存在系統(tǒng)調(diào)用,系統(tǒng)依賴(lài)等問(wèn)題,建議在啟動(dòng)初期,把這些關(guān)鍵問(wèn)題定義出來(lái),然后尋找TL或pm協(xié)調(diào)解決。
3.研發(fā)的協(xié)作效能
通過(guò)流程規(guī)范和模板,約定大家的協(xié)作模式
(1)日常答疑的協(xié)作流程
(2)項(xiàng)目過(guò)程管理
通過(guò)如下戰(zhàn)役模板,同步項(xiàng)目進(jìn)展:
(3)日常需求排期
約定需求排期周期,固定時(shí)間,并溝通需求通過(guò)協(xié)作管理工具。
后續(xù)可通過(guò)協(xié)作管理工具,分析統(tǒng)計(jì)數(shù)據(jù)。
4.研發(fā)的人員效能
(1)學(xué)習(xí)與培訓(xùn):
通過(guò)持續(xù)的學(xué)習(xí),或借力其他團(tuán)隊(duì)的方式,提升技術(shù)水平。
通過(guò)沉淀團(tuán)隊(duì)規(guī)范,文檔,案例等方案,讓大家補(bǔ)齊知識(shí)。
通過(guò)復(fù)盤(pán)總結(jié),沉淀典型案例,內(nèi)部分享,避免重復(fù)采坑。
(2)考試
光學(xué)習(xí)肯定是不行的,還需要通過(guò)考試的方式強(qiáng)化。可以使用這個(gè)工具:阿里在線考試系統(tǒng)。
效能指標(biāo)
制定過(guò)程的指標(biāo)數(shù)據(jù),每月通曬與對(duì)比,分析數(shù)據(jù),定位效能問(wèn)題。關(guān)鍵指標(biāo)可參考:
(1)需求交付周期,需求交付數(shù),項(xiàng)目數(shù)
(2)代碼提交量
(3)Bug數(shù)
(4)線上問(wèn)題與故障
總結(jié)
通過(guò)優(yōu)化研發(fā)過(guò)程,并有明確的數(shù)據(jù)量化,證明研發(fā)對(duì)業(yè)務(wù)的價(jià)值。