| 一、背景:A產(chǎn)品是平安集團為金融機構客戶提供集中信息服務、跨平臺登陸、統(tǒng)一賬戶管理等多種服務的互聯(lián)網(wǎng)金融平臺,其致力于匯集集團內(nèi)外部的金融產(chǎn)品和服務,依托互聯(lián)網(wǎng)技術提供豐富的增值項目,幫助金融機構解決資產(chǎn)負債余缺,改善資產(chǎn)流動性,提升交易效率,降低操作風險。 二、現(xiàn)狀:產(chǎn)品線剛成立時200多人,并快速從直銷銀行切入,打造出產(chǎn)品交付給中小銀行客戶。從2016年開始,隨著簽約銀行項目增多,交付壓力陡增,挑戰(zhàn)也越來越大,開始進入混沌狀態(tài)… 1、 產(chǎn)品標準化嚴重不足,與銀行定制矛盾,近70%的人力投入定制開發(fā),甚至一般先做交付。 2、 需求脫節(jié)不一致,不透明,跨地域、跨部門。 3、 基于組件化開發(fā),首次新上線一家銀行,100+配置文件,300+SQL文件,近百個jar包,一堆的war包,隨著版本演進,版本配套混亂,不敢輕易升級。 4、 手動移交,部署過程經(jīng)常出錯,追溯困難,上線周期漫長,首次上線達8天。 5、 代碼分支蔓延,分支再拉分支,缺陷修復及收編導致維護成本持續(xù)增長。 6、 滿負荷運作,為了交付,加班再加班應對,通宵也是常見的,專業(yè)公司經(jīng)常被要求周末遠程支持。 7、 質(zhì)量問題聚集,長時期積壓600多個。 8、 銀行監(jiān)管難滿足,不同職責人員權限未做有效分離,研發(fā)效率低。 9、 士氣低下,一年時間人員流失變動近半。 …… 三、措施:基于目前這種狀況,敏捷教練應邀入場,開始進行系統(tǒng)化思考、分析,以業(yè)界Devops方法為基礎,開始著手從需求及構架解耦、持續(xù)部署、組織協(xié)作等方面進行漸進改進。 1、 架構解耦、定制與標準產(chǎn)品需求分離,并引導價值客戶回歸產(chǎn)品規(guī)劃主航道,做強標準,統(tǒng)一需求,分層、分級管理;進一步進行可擴展設計,架構解耦,進行組件化、插件化。 2、 流程現(xiàn)狀梳理,分別討論制定標版流程及Site實施流程 a、 標版流程:規(guī)劃需求及銀行標準需求承載,迭代開發(fā)后經(jīng)驗證,進入制品庫。 b、 Site應邀實施流程:需求匹配組件,大部分從制品庫中選擇,少量進入標準需求開發(fā)團隊,少量定制實施開發(fā)承載 3、 基礎設施及代碼,結構化配置規(guī)范梳理 一切設施都進行版本控制 分別討論制定標準組件代碼規(guī)范、PAPP業(yè)務配置規(guī)范、基礎設施配置規(guī)范、數(shù)據(jù)庫腳本配置規(guī)范,所有設施都通過SVN進行配置管理,其中敏感信息如密碼等,采用通配符方式在CMDB中配置。并開始基于一個Site進行規(guī)范整改試點,逐步調(diào)整推動新site完成代碼、結構規(guī)范化整改 4、 代碼分支收編回主干整改 我們梳理其中一個新site試點實施時,發(fā)現(xiàn)約60%的組件基于分支進行演進開發(fā),如下圖標黃部分,主干收編困難,維護成本持續(xù)增長 痛定思痛,決定做一次整改,首先從試點項目涉及的組件開始,推動架構組與產(chǎn)品一起進行,經(jīng)過一周多的時間,基本完成試點Site的整改,并開始推動其他組件分支收編回主干,如下其中已做整改的site。 5、 持續(xù)交付部署流程整理 a、 標準產(chǎn)品需求,進入模塊標準產(chǎn)品團隊,組件開發(fā)測試后,發(fā)布進入制品庫 b、 銀行實施產(chǎn)品,從制品庫選擇對應組件和版本,以及從SVN上取出對應的配置文件和war包、DB腳本,一鍵部署到測試、生產(chǎn)環(huán)境 6、 神兵Wizard工具方案設計應用 建立兩層工作空間,產(chǎn)品層、子項目組件層。各子項目組件層進行需求、版本、部署管理,發(fā)布歸檔制品庫。產(chǎn)品銀行層,建立需求、版本,選擇制品庫組件版本,進行部署發(fā)布 7、 質(zhì)量內(nèi)建,自動化測試inner接入 通過持續(xù)集成平臺部署完成后,調(diào)起自動化接口測試,保障高效質(zhì)量 
 8、 組織協(xié)作 a、全功能團隊:一旦交付項目立項,則組建跨領域PM、前端、后臺、測試、運維一體化團隊。 b、交付項目總體規(guī)劃、清晰里程碑 
 c、相互承諾:Team對PO的承諾納入迭代能按時完成,PO對Team的承諾迭代中不輕易增加變更需求,PM對團隊的承諾,排除項目外干擾,保障項目高效運作。每個迭代開始前,發(fā)出明確的迭代計劃。 
 d、保持穩(wěn)定的版本節(jié)奏,測試前置,及時參與測試驗收反饋,及時修改。 
 e、透明化,進度、質(zhì)量、風險等,通過早會、自動化、持續(xù)集成、周報,每日下班前問題風險同步等,及時可視化出來。 四、應用狀況:通過以上措施,經(jīng)歷了近半年時間的不斷迭代試點應用,根據(jù)反饋不斷調(diào)整漸進改變,在產(chǎn)品中開始應用起來。 1、 模塊接收主動規(guī)劃需求,以及由銀行site分配過來的需求,實現(xiàn)需求協(xié)作管理backlog管理、看板進度可視化管理。需求分層分級管理,實現(xiàn)全量需求池。銀行需求與模塊開發(fā)組件協(xié)作管理。 
 2、 銀行Site與組件版本配套協(xié)作高效管理,實現(xiàn)各版本演進可追溯 
 3、 特性需求看板,以精益看板的方法為特性的端到端交付建立可視化價值流,驅(qū)動交付過程的持續(xù)優(yōu)化,現(xiàn)實小批量快速流程為目標 
 4、 銀行Site自動化構建,部署流水線,為從代碼提交到發(fā)布至生產(chǎn)整個過程建立可視化、可追溯的受控流水線,整合持續(xù)集成、環(huán)境配置、數(shù)據(jù)庫變更、應用部署等所有自動化過程。一鍵高效發(fā)布部署測試及生產(chǎn),并可進行回滾。 
 5、 復雜產(chǎn)品多流水構建情況全景瀏覽 
 6、 研發(fā)與生產(chǎn)分離,部署計劃提前知道 
 運維部署確認后,一鍵部署到生產(chǎn)環(huán)境。以具有版本控制的腳步來自動化管理所有應用構建,環(huán)境配置、數(shù)據(jù)庫等,保證所有基礎設施的建立和變更都以抑制的方式進行。 
 五、效果:目前整體方案已經(jīng)在新Site中推廣應用,并取得一定的效果: · 規(guī)模化應用:銀行site上線10家,60+條部署流水線持續(xù)運轉(zhuǎn)中,新Site逐步實施中。 · 標準化產(chǎn)品增強,成本降低:通過需求引導、定制與標準分離、以及架構解耦,需求定制降至10%左右,100+組件按版本規(guī)范化制品庫管理,研發(fā)成本大幅降低。 · 研發(fā)效率大幅提升:一天多發(fā),增量版本按需交付;標版組件部署從約半小時提升到秒級;新site部署上線從近一周縮減到小時級。 · 基礎設施及流程規(guī)范化管理:所有設施進入版本控制管理,代碼分支蔓延遏制,版本配套混亂、版本升級風險有效解決,實現(xiàn)部署記錄可追溯,質(zhì)量大幅提升,有效滿足銀行監(jiān)管。 · 影響:為首家基于Pafa5研發(fā)模式管理試點落地,為其他專業(yè)公司提供借鑒參考,多個專業(yè)公司產(chǎn)品已開始參照該研發(fā)管理模式改進。 · 開放平臺建設進一步探索中,后臺平臺化,前臺通過接口接入,甚至開放前臺給客戶自己開發(fā)。 | 
|  |