超大型研發團隊平臺工程探索與實踐
原創作者 | 中國工商銀行軟件開發中心
一、開發人員的困境與平臺工程理念
隨著DevOps的不斷推進和云原生技術的推廣,工具鏈體系的自動化程度不斷提高,導致越來越多的研發職責不斷落到開發人員身上,開發人員面臨認知負擔不斷增加的困境。
平臺工程通過建設內部開發平臺,為開發團隊提供通用共享服務,實現開發人員服務能力自助,將完成日常任務遇到的阻力降到最低。
Gartner預測,到2026年,80%的軟件工程組織將建立平臺團隊,其中75%將包含開發者自助服務門戶。此外,在Gartner發布的2023年十大戰略技術趨勢中,平臺工程也位列其中,足以見得平臺工程的重要性。
二、我們對平臺工程的理解與探索思路
中國工商銀行軟件開發中心作為金融領域軟件研發的超大型團隊,結合自身研發實踐經驗,我們認為平臺工程作為整合各種工具鏈的粘合劑,以開發人員為中心,不僅為開發人員提供各種自助式服務,此外還避免開發人員需要不斷掌握各種工具鏈才能完成研發工作。
在平臺工程探索中,基于“讓開發更簡單”的思想,我們主要有以下思路。
1.統一語言體系屏蔽底層實現
通過對軟件產品交付生命周期分析,聚焦常見問題,明確能力邊界,避免平臺功能無限擴散。同時,對每個能力域的工具鏈支撐體系進行合理抽象,根據研發團隊軟件研發場景,對工具鏈體系進行服務化改造,提供一站式場景化支撐能力。
2.提升用戶體驗降低平臺阻力
踐行“以客戶為中心”的理念,從用戶使用角度考慮平臺功能的建設,為研發團隊提供有效的工作流程和推薦路徑,將使用平臺工程的阻力降到最低。使研發團隊能夠基于內部平臺快速開展工作。
3.聚焦核心目標建設平臺能力
一個平臺的建設要有清晰明確的度量指標,但是在平臺工程的建設中,建議度量指標體系不必過于復雜,例如可以聚焦對開發人員編碼時長提升、編碼過程中的中斷次數減少、系統使用時長減少等指標。
過于復雜的指標體系可能導致平臺工程師無所適從,無法聚焦于關鍵問題提供有效解決方案。
4.建設平臺文化加速平臺推廣
及時感知一線用戶需求,定時收集和反饋研發團隊意見,不斷對平臺功能進行迭代完善。同時通過培訓、布道、運營等手段營造協同工作和分享的文化,及時將最新的平臺功能和最佳實踐推薦給研發團隊。
四、聚焦開發人員的平臺工程實踐
基于上述探索思路,我們成立專門的研發團隊開展平臺工程實踐,在實踐初期,也對業界開源系統進行過調研分析。
但是作為大型軟件研發團隊,我們存在大量特色化的研發流程與質量內建要求,業界開源系統難以完全適配眾多的工具鏈體系,所以我們最終采用根據自身研發流程實際,建設內部開發平臺的方案。
1.根據開發旅程地圖,提供一站式場景化服務能力
根據開發人員研發流程活動,形成開發旅程地圖,對每個研發流程涉及到的工具鏈能力進行抽象封裝,聚焦提供設計、編碼、單元測試、自測、提交部署一站式研發輔助能力,無需頻繁切換不同支撐系統。
例如針對資產分散,通過數據爬蟲、多平臺資產聚合等措施,建設統一資產庫,提供統一檢索入口,實現一鍵觸達效果。
此外,針對開發人員在接口設計、開發、測試、發布中存在流程割裂,難以保證接口設計到實現的一致性問題,我們建設接口一站式服務平臺,將接口自動化編寫效率提升1倍以上、接口編碼效率提升30%。
同時,針對自測和環境運維中的類似問題,我們還提供自測一站式服務平臺和環境運維一站式服務平臺等場景化支撐能力。
2.以IDE為觸點統一平臺入口,提升用戶體驗
為避免用戶陷入割裂的產品界面,我們以研發人員日常編碼工具IDE為觸點,將平臺能力與IDE融合,通過將資產檢索、編碼輔助、自測輔助等能力與IDE集成,以IDE作為開發人員的統一入口。
同時,在平臺建設中,每項平臺功能都由用戶體驗工程師、一線開發人員參與功能的設計,為開發人員提供最佳使用路徑,保證平臺功能用戶體驗最優,降低開發人員平臺功能使用阻力。
借助建設的統一平臺,通過提供一系列場景化的支撐能力,平臺功能使用覆蓋率100%。
3.確立沉浸度北極星指標,不斷完善平臺能力
平臺工程的實施旨在盡可能屏蔽基礎設置對開發人員的影響,降低開發人員的認知負擔,從而讓開發人員投入更多的精力在開發工作中。
通過平臺工程系列能力的提供,我們以編碼時長、編碼中斷次數、代碼產出為基礎指標,進行形成沉浸度的北極星指標,驅動平臺能力不斷完善。
圍繞北極星指標,在研發團隊實踐中,通過一期功能的建設,每日平均編碼時長提升13.4%,打斷頻率降低14.8%。
4.以數據輔助用戶運營,形成良好互動文化
在用戶運營方面,主要通過數字化和智能化方式形成良好的互動文化機制。
一方面,我們通過用戶行為數據分析、用戶問卷調研提升工具感知一線用戶能力。比如,分析開發人員搜索資產關鍵詞,挖掘熱點數據,識別用戶的迫切需求。在功能使用完畢后,推送問卷調研,獲取開發人員使用體驗。
另一方面,我們將最新平臺能力和最佳實踐推送給用戶,利用智能化手段,及時識別開發人員編碼行為,向開發人員推送關聯度較高資產等。
得益于良好的平臺文化,研發團隊共建共享標準資產1000+,單個資產引用高達100多次。
四、未來的展望
未來,為更好的推進平臺工程建設,聚焦北極星目標,一方面進一步抽象聚合研發流程,實現輔助工具鏈與工作流的深度融合,有效降低研發流程復雜度,減輕開發人員認知負擔。
另一方面借助數字化手段,通過對研發過程數據分析,有效挖掘流程及工具的痛點、堵點,推進組織級的過程改進,循環演進實現高效能研發團隊建設。