轉(zhuǎn)載于微信公眾號“阿里開發(fā)者”虏劲,僅供自己成長記錄用
原文
前言
在談效能之前端幼,我想先談?wù)勛鳛橐粋€技術(shù)人或者技術(shù)TL募判,研發(fā)的核心價值是什么合是?
之前看了一篇文章厨诸,比較有意思,分享一下觀念:
T外包公司:最核心的競爭力不是技術(shù)蜜托,而是快速響應(yīng)抄囚、資源調(diào)配整合、項(xiàng)目成本控制等方面橄务。
企業(yè)信息化公司:研發(fā)的核心價值有三個層次:第一層是運(yùn)用技術(shù)更好的去支撐業(yè)務(wù)幔托;第二層是用技術(shù)推動業(yè)務(wù),用自身業(yè)務(wù)經(jīng)驗(yàn)(服務(wù)很多客戶)幫助客戶蜂挪;第三層是去用經(jīng)驗(yàn)積累去影響行業(yè)重挑。
解決特定場景和問題的產(chǎn)品公司:核心價值就在于技術(shù),專注與做技術(shù)深度棠涮。
那我們的核心價值是什么谬哀?
(1)高效支撐業(yè)務(wù):一個是支撐,一個是高效
支撐:對我們的要求就是:階段性與業(yè)務(wù)目標(biāo)故爵,落地產(chǎn)品對齊玻粪。
高效:研發(fā)效能的思考落地。用數(shù)據(jù)說明我們的價值
(2)用技術(shù)影響行業(yè):這個需要持續(xù)的積累和思考诬垂。
(3)建技術(shù)壁壘和技術(shù)基建劲室,確保系統(tǒng)穩(wěn)定,業(yè)務(wù)健康和持久發(fā)展结窘。
很多時候很洋,我們一直在思考如何高效支撐業(yè)務(wù)這個課題上。阿里技術(shù)分享平臺或者網(wǎng)上都有非常多的文章分享隧枫,每個TL針對自己團(tuán)隊(duì)的狀況也有一套自己的方法論喉磁。今天我結(jié)合自己所面臨的狀況,把自己的思考總結(jié)分享一下官脓。
個人思考
從幾個維度分別進(jìn)行思考:
1.研發(fā)的流程效能:拆分階段协怒,發(fā)現(xiàn)關(guān)鍵問題,提出方案
1)需求階段
問題:需求反復(fù)卑笨,需求不清晰孕暇,需求爭議
解決方案:
(1)確保需求的有效期,明確業(yè)務(wù)價值和需求范圍赤兴,并確保需求理解的一致性妖滔。
(2)需求內(nèi)容,先小范圍內(nèi)溝通對焦桶良;等需求討論清晰座舍,再拉落地相關(guān)同學(xué)參與。
(3)需求有爭議時陨帆,為避免反復(fù)曲秉,拉上相關(guān)同學(xué)一起對焦采蚀。
(4)日常需求,定期排期承二,通曬搏存。
2)研發(fā)階段:這個在研發(fā)的生產(chǎn)效能單獨(dú)說明。
3)聯(lián)調(diào)與測試階段:
問題:聯(lián)調(diào)效率低矢洲,環(huán)境不可用璧眠,提測代碼質(zhì)量低
解決方案:
(1)前后端分離,各自具備Mock的能力
(2)日常環(huán)境治理读虏,降級系統(tǒng)服務(wù)的依賴责静,確保測試環(huán)境問題
(3)基準(zhǔn)測試用例,冒煙測試盖桥,自動化腳本測試灾螃,確保提測質(zhì)量。
4)發(fā)布階段:
問題:發(fā)布頻率高揩徊;定位問題耗時腰鬼;部署系統(tǒng)時長
解決方案:
(1)對同一時間的發(fā)布系統(tǒng)做適當(dāng)合并。
(2)與業(yè)務(wù)約定發(fā)布頻率塑荒,控制發(fā)布周期熄赡。
(3)系統(tǒng)依賴治理,縮短部署時長齿税;并提前打包
(4)針對排查問題耗時彼硫,提供相應(yīng)的問題排查工具。
2.研發(fā)的生產(chǎn)效能
針對研發(fā)的過程生產(chǎn)凌箕,我們從如下幾個方面去提升研發(fā)效能:
(1)全鏈路技術(shù)規(guī)范:
每一個過程拧篮,通過規(guī)范文檔統(tǒng)一標(biāo)準(zhǔn),并通過宣傳和考試的方式牵舱,讓大家都熟知內(nèi)容串绩。并通過典型案例通曬,強(qiáng)化規(guī)范內(nèi)容的價值芜壁。
(2)全鏈路業(yè)務(wù)可配置
-
u頁面可配:表單頁礁凡,列表頁,詳情頁沿盅,單據(jù)頁等中后臺頁面可配置把篓。
典型案例:宜搭的頁面搭建
-
u邏輯可配:業(yè)務(wù)參數(shù)可配置纫溃;業(yè)務(wù)規(guī)則可配置腰涧;
典型案例:類目特征;
-
u模型可配:用元數(shù)據(jù)方式定義數(shù)據(jù)表或業(yè)務(wù)模型+擴(kuò)展字段兩種方式
典型案例:類目屬性 紊浩;NBF建模平臺
-
u服務(wù)&流程編排:基于原子服務(wù)能力進(jìn)行二次組合窖铡。
典型案例:AECP的服務(wù)編排疗锐;NBF的服務(wù)編排等
基于上訴的原子工具能力,再結(jié)合產(chǎn)品工廠和解決方案能力费彼,把橫向和縱向的業(yè)務(wù)配置化能力鏈接在一起滑臊,形成一個分層的全鏈路業(yè)務(wù)可配置視圖。
(3)統(tǒng)一橫向支撐工具
拉通團(tuán)隊(duì)內(nèi)部共性的支撐工具箍铲,共建一份雇卷。比如excel批量導(dǎo)入導(dǎo)出,審批流颠猴,通知工具等关划。
(4)非功能性代碼
應(yīng)用腳手架:一鍵生成應(yīng)用工程,包括依賴的jar包等翘瓮。
代碼規(guī)范的模板:錯誤碼模板贮折;日志模板;工程結(jié)構(gòu)等
中間件隔離層:包括使用的案例
通用工具類:外部開源的工具類资盅;業(yè)務(wù)抽象的通用類调榄;自研抽象的通用工具類;
業(yè)務(wù)標(biāo)準(zhǔn)攔截:用戶登錄呵扛;服務(wù)異常處理每庆;dao的執(zhí)行時間等
穩(wěn)定性:限流;應(yīng)用自檢今穿;
把所有應(yīng)用的共性代碼抽象扣孟,沉淀為jar,在工程中默認(rèn)引入荣赶。
(5)部署交付:部署手冊指導(dǎo)凤价;統(tǒng)一的問題排查工具;
(6)接口文檔化:web層統(tǒng)一遵循swagger規(guī)范拔创;能力中心/工具遵循接口規(guī)范的文檔和client的使用案例說明等利诺。
(7)系統(tǒng)協(xié)作的清晰邊界
我們在落地過程中,往往會存在系統(tǒng)調(diào)用剩燥,系統(tǒng)依賴等問題慢逾,建議在啟動初期,把這些關(guān)鍵問題定義出來灭红,然后尋找TL或pm協(xié)調(diào)解決侣滩。
3.研發(fā)的協(xié)作效能
通過流程規(guī)范和模板,約定大家的協(xié)作模式
1)日常答疑的協(xié)作流程
2)項(xiàng)目過程管理
通過如下戰(zhàn)役模板变擒,同步項(xiàng)目進(jìn)展:
3)日常需求排期
約定需求排期周期,固定時間娇斑,并溝通需求通過協(xié)作管理工具材部。
后續(xù)可通過協(xié)作管理工具唯竹,分析統(tǒng)計數(shù)據(jù)乐导。
4.研發(fā)的人員效能
(1)學(xué)習(xí)與培訓(xùn):
通過持續(xù)的學(xué)習(xí),或借力其他團(tuán)隊(duì)的方式浸颓,提升技術(shù)水平物臂。
通過沉淀團(tuán)隊(duì)規(guī)范产上,文檔,案例等方案蒂秘,讓大家補(bǔ)齊知識泽本。
通過復(fù)盤總結(jié),沉淀典型案例姻僧,內(nèi)部分享规丽,避免重復(fù)采坑撇贺。
(2)考試
光學(xué)習(xí)肯定是不行的,還需要通過考試的方式強(qiáng)化艘狭〈涠可以使用這個工具:阿里在線考試系統(tǒng)巢音。
效能指標(biāo)
制定過程的指標(biāo)數(shù)據(jù)尽超,每月通曬與對比,分析數(shù)據(jù)似谁,定位效能問題。關(guān)鍵指標(biāo)可參考:
(1)需求交付周期秃诵,需求交付數(shù)塞琼,項(xiàng)目數(shù)
(2)代碼提交量
(3)Bug數(shù)
(4)線上問題與故障
總結(jié)
通過優(yōu)化研發(fā)過程,并有明確的數(shù)據(jù)量化,證明研發(fā)對業(yè)務(wù)的價值。