[張國(guó)新]
數(shù)字經(jīng)濟(jì)正在成為重組全球要素資源、重塑全球經(jīng)濟(jì)結(jié)構(gòu)、改變?nèi)蚋?jìng)爭(zhēng)格局的關(guān)鍵力量。中國(guó)高度重視發(fā)展數(shù)字經(jīng)濟(jì),將其上升為國(guó)家戰(zhàn)略,提出加強(qiáng)關(guān)鍵核心技術(shù)攻關(guān),提高數(shù)字技術(shù)基礎(chǔ)研發(fā)能力,打好關(guān)鍵核心技術(shù)攻堅(jiān)戰(zhàn),盡快實(shí)現(xiàn)高水平自立自強(qiáng),把發(fā)展數(shù)字經(jīng)濟(jì)自主權(quán)牢牢掌握在自己手中。2016 年,中國(guó)電信就已經(jīng)發(fā)布《中國(guó)電信CTnet2025 白皮書》,提出網(wǎng)絡(luò)重構(gòu),研發(fā)關(guān)鍵核心技術(shù)和相關(guān)系統(tǒng),建設(shè)一體化運(yùn)營(yíng)機(jī)制。2020 年,中國(guó)電信又率先發(fā)布《云網(wǎng)融合2030 技術(shù)白皮書》,提出云網(wǎng)融合是通信技術(shù)和信息技術(shù)深度融合所帶來(lái)的信息基礎(chǔ)設(shè)施的深刻變革,為數(shù)字經(jīng)濟(jì)發(fā)展提供堅(jiān)實(shí)底座。其內(nèi)涵在于通過云網(wǎng)技術(shù)和生產(chǎn)組織方式的全面深入的融合與創(chuàng)新,運(yùn)營(yíng)商在業(yè)務(wù)形態(tài)、商業(yè)模式、運(yùn)維體系、服務(wù)模式、人員隊(duì)伍等多方面進(jìn)行調(diào)整,從傳統(tǒng)的通信服務(wù)提供商轉(zhuǎn)型為智能化數(shù)字服務(wù)提供商,為社會(huì)數(shù)字化轉(zhuǎn)型奠定堅(jiān)實(shí)、安全的基石。
結(jié)合網(wǎng)絡(luò)演進(jìn),電信網(wǎng)絡(luò)逐步實(shí)現(xiàn)從“硬”變“軟”,網(wǎng)絡(luò)能力向云化和平臺(tái)化轉(zhuǎn)型,靈活的網(wǎng)調(diào)云、云調(diào)網(wǎng)等云網(wǎng)融合能力正在不斷部署,網(wǎng)絡(luò)運(yùn)營(yíng)的生產(chǎn)組織模式同步做出演進(jìn),引入研發(fā)運(yùn)營(yíng)一體化模式,建立適應(yīng)新型網(wǎng)絡(luò)的研發(fā)運(yùn)營(yíng)機(jī)制,特別是在IT 軟件項(xiàng)目領(lǐng)域的研發(fā)運(yùn)營(yíng)一體化有力推進(jìn)公司數(shù)字化轉(zhuǎn)型,提高核心技術(shù)自主掌控能力,實(shí)現(xiàn)對(duì)業(yè)務(wù)和用戶的快速響應(yīng)。
由于行業(yè)特性,通信運(yùn)營(yíng)商內(nèi)部組織架構(gòu)、業(yè)務(wù)流程、服務(wù)模式基本圍繞通信網(wǎng)絡(luò)能力和電信業(yè)務(wù)進(jìn)行適配和演進(jìn),相對(duì)成熟穩(wěn)定。支撐公司運(yùn)營(yíng)的MBO 軟件工程大部分還是基于傳統(tǒng)的瀑布模型進(jìn)行開發(fā)管理,具體步驟如圖1 所示。
圖1 運(yùn)營(yíng)商軟件開發(fā)模型
這種模型下的軟件開發(fā),主要特點(diǎn):
(1)開發(fā)模型是線性的,用戶只有等到整個(gè)過程的末期才能見到開發(fā)成果,從而增加了開發(fā)的風(fēng)險(xiǎn)。
(2)采用交鑰匙方式,用戶在交鑰匙前主動(dòng)參與度不夠,需求未完全澄清或反復(fù)變更,經(jīng)常出現(xiàn)上線功能與真實(shí)需求不匹配。
(3)早期的錯(cuò)誤無(wú)法及時(shí)暴露,要等到開發(fā)后期的測(cè)試階段才能發(fā)現(xiàn)。
(4)開發(fā)、測(cè)試、部署、運(yùn)維自動(dòng)化能力低,后期運(yùn)行難度大。
軟件開發(fā)的各項(xiàng)活動(dòng)按照線性方式進(jìn)行,當(dāng)前活動(dòng)接受上一項(xiàng)活動(dòng)的工作結(jié)果,實(shí)施完成所需的工作內(nèi)容。當(dāng)前活動(dòng)的工作結(jié)果需要進(jìn)行驗(yàn)證,如果驗(yàn)證通過,則該結(jié)果作為下一項(xiàng)活動(dòng)的輸入,繼續(xù)進(jìn)行下一項(xiàng)活動(dòng),否則返回修改。
在互聯(lián)網(wǎng)時(shí)代,“瀑布模型”已經(jīng)不能滿足需求快速變化的軟件項(xiàng)目。2009 年比利時(shí)Patrick Debois 組織了一個(gè)“DevOpsDays”社區(qū)會(huì)議,啟用了“DevOps”術(shù)語(yǔ),提出研發(fā)運(yùn)營(yíng)一體化概念。Flickr 公司在2009 年探索并成功運(yùn)用“主干開發(fā)+持續(xù)集成+持續(xù)發(fā)布”軟件研發(fā)模式,通過研發(fā)模式創(chuàng)新,更快地了解海量用戶需求,快速驗(yàn)證業(yè)務(wù)假設(shè)和解決方案。通過不斷摸索創(chuàng)新,業(yè)界提出了價(jià)值驅(qū)動(dòng)的模型,如喬梁專家將精益創(chuàng)業(yè)和持續(xù)交付1.0 相結(jié)合,提出雙環(huán)模型,實(shí)踐不同,但思想都是圍繞客戶價(jià)值。
2016 年隨著CTNet2025 的發(fā)布,中國(guó)電信開始積極探索研發(fā)運(yùn)營(yíng)一體化機(jī)制,其中,廣東電信在企業(yè)網(wǎng)絡(luò)運(yùn)營(yíng)研發(fā)實(shí)踐中,基于“DevOps”架構(gòu),提出一種適用于運(yùn)營(yíng)商的“V+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型”(如圖2),實(shí)現(xiàn)產(chǎn)品研發(fā)以價(jià)值為驅(qū)動(dòng)、以效益為尺度,有效避免原有瀑布式研發(fā)帶來(lái)的發(fā)布周期長(zhǎng)、失敗率高的短板,提升產(chǎn)品研發(fā)效率何效益。
圖2 V+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型
為了兼顧企業(yè)現(xiàn)有組織流程,V+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型將互聯(lián)網(wǎng)軟件研發(fā)的敏捷開發(fā)、持續(xù)交付和通信運(yùn)營(yíng)商成熟的運(yùn)營(yíng)流程相結(jié)合,在傳統(tǒng)通信運(yùn)營(yíng)商的IT 項(xiàng)目引入互聯(lián)網(wǎng)的DevOps 理念。在V+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型下,用戶不僅是軟件產(chǎn)品的需求提出者和使用者,同時(shí)也是軟件產(chǎn)品開發(fā)的參與者和體驗(yàn)者,代表業(yè)務(wù)走向IT。研發(fā)團(tuán)隊(duì)不僅是軟件產(chǎn)品的開發(fā)者,同時(shí)也是軟件產(chǎn)品的產(chǎn)品經(jīng)理和運(yùn)營(yíng)者,代表IT 走向業(yè)務(wù)。業(yè)務(wù)和IT 緊密銜接,互相嵌入,使得開發(fā)成本最小化,快速創(chuàng)造業(yè)務(wù)價(jià)值。V+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型包含兩個(gè)環(huán),價(jià)值挖掘和業(yè)務(wù)驗(yàn)證。價(jià)值挖掘環(huán)的目的是根據(jù)需求和問題發(fā)現(xiàn)價(jià)值,利用互聯(lián)網(wǎng)敏捷開發(fā)理念快速實(shí)現(xiàn)產(chǎn)品功能。業(yè)務(wù)驗(yàn)證環(huán)的目的是將價(jià)值挖掘環(huán)實(shí)現(xiàn)的產(chǎn)品功能快速迭代發(fā)布上線,通過在線收集業(yè)務(wù)的真實(shí)運(yùn)營(yíng)和使用情況,及時(shí)反饋給價(jià)值挖掘環(huán),進(jìn)行評(píng)估決策。業(yè)務(wù)驗(yàn)證環(huán)利用持續(xù)發(fā)布流程,實(shí)現(xiàn)快速發(fā)布上線。
(1)提出需求。在這個(gè)環(huán)節(jié),研發(fā)團(tuán)隊(duì)的業(yè)務(wù)人員收集內(nèi)、外部客戶新的業(yè)務(wù)需求,或者已有產(chǎn)品(系統(tǒng))存在的不足,并通過業(yè)務(wù)人員按統(tǒng)一標(biāo)準(zhǔn)進(jìn)行澄清和定義,形成需求列表。在一些項(xiàng)目里,例如中小型的創(chuàng)新項(xiàng)目,用戶參與到研發(fā)團(tuán)隊(duì),作為研發(fā)團(tuán)隊(duì)的業(yè)務(wù)人員。
(2)評(píng)估價(jià)值。研發(fā)團(tuán)隊(duì)結(jié)合公司發(fā)展戰(zhàn)略和重點(diǎn)工作,對(duì)需求內(nèi)容和效益進(jìn)行評(píng)估。在這個(gè)環(huán)節(jié),對(duì)于定位清晰的需求,按照價(jià)值大小排序納入開發(fā);對(duì)于重大創(chuàng)新性需求,組織公司內(nèi)業(yè)務(wù)部門專家評(píng)審。
(3)需求實(shí)現(xiàn)。需求實(shí)現(xiàn)是一個(gè)迭代的過程,在此過程中強(qiáng)調(diào)敏捷實(shí)現(xiàn),以及用戶的參與和互動(dòng)。研發(fā)團(tuán)隊(duì)根據(jù)功能需求的復(fù)雜程度,在開發(fā)過程中提供演示環(huán)節(jié),讓用戶及時(shí)看到Demo 和原子級(jí)功能的演示,并反饋意見。用戶的參與和互動(dòng),有助于研發(fā)團(tuán)隊(duì)更好地實(shí)現(xiàn)核心能力,并及時(shí)發(fā)布交付。
(4)評(píng)估反饋。在這環(huán)節(jié),研發(fā)團(tuán)隊(duì)根據(jù)業(yè)務(wù)驗(yàn)證環(huán)收集的用戶真實(shí)反饋,對(duì)需求的價(jià)值進(jìn)行再評(píng)估,對(duì)實(shí)現(xiàn)的功能進(jìn)行評(píng)價(jià),作為下一迭代的重要依據(jù)。研發(fā)團(tuán)隊(duì)通過評(píng)估用戶使用量、調(diào)用次數(shù)以及在線反饋,與需求環(huán)節(jié)的預(yù)估效益進(jìn)行檢驗(yàn),評(píng)估功能的真實(shí)價(jià)值,決定功能繼續(xù)迭代升級(jí)還是下線。
(1)發(fā)布。該環(huán)節(jié)作為由開發(fā)階段進(jìn)入運(yùn)行階段的標(biāo)志。研發(fā)團(tuán)隊(duì)利用持續(xù)發(fā)布流程和自動(dòng)化發(fā)布平臺(tái)能力,對(duì)代碼進(jìn)行集成和安全檢測(cè),并將合格的軟件交付運(yùn)行。
(2)部署。在該環(huán)節(jié),研發(fā)團(tuán)隊(duì)利用電信云平臺(tái)、PaaS 平臺(tái)和相關(guān)組件工具進(jìn)行自動(dòng)化部署上線。內(nèi)部軟件產(chǎn)品主要部署在中國(guó)電信天翼云上。
(3)運(yùn)行維護(hù)。運(yùn)維團(tuán)隊(duì)利用自動(dòng)化運(yùn)維工具開展運(yùn)維保障。運(yùn)維工具與內(nèi)部故障管理流程打通,對(duì)于無(wú)法自動(dòng)修復(fù)的故障,自動(dòng)派發(fā)告警工單,通過故障管理流程進(jìn)行閉環(huán)管理。小型軟件產(chǎn)品,研發(fā)團(tuán)隊(duì)兼做運(yùn)維團(tuán)隊(duì)工作。大中型軟件產(chǎn)品,由專業(yè)的運(yùn)維團(tuán)隊(duì)負(fù)責(zé)運(yùn)營(yíng),研發(fā)團(tuán)隊(duì)作為二線提供運(yùn)營(yíng)支撐。
(4)服務(wù)監(jiān)測(cè)。在本環(huán)節(jié),運(yùn)維團(tuán)隊(duì)負(fù)責(zé)監(jiān)測(cè)系統(tǒng)運(yùn)行情況,服務(wù)響應(yīng)效率等。研發(fā)團(tuán)隊(duì)監(jiān)測(cè)客戶對(duì)產(chǎn)品和服務(wù)的使用情況、使用反饋、評(píng)價(jià)等。相關(guān)數(shù)據(jù)和信息作為第一環(huán)節(jié)評(píng)估依據(jù)。
2017 年廣東電信通過多專業(yè)協(xié)同工作站等方式,推進(jìn)自主研發(fā)團(tuán)隊(duì)的建立及實(shí)踐,組織培訓(xùn),搭建自動(dòng)化流水線集成發(fā)布平臺(tái)。在V+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型指導(dǎo)下,運(yùn)營(yíng)支撐系統(tǒng)領(lǐng)域的工作站團(tuán)隊(duì)自主研發(fā)了多個(gè)系統(tǒng),特別在大數(shù)據(jù)和AI 自主開發(fā)方面取得一些突破,下面介紹翼知網(wǎng)絡(luò)自動(dòng)駕駛自主研發(fā)實(shí)踐情況。翼知網(wǎng)絡(luò)自動(dòng)駕駛是用人工智能和客戶感知大數(shù)據(jù)預(yù)警設(shè)備隱患和客戶抱怨,可以高效、精準(zhǔn)預(yù)警寬帶設(shè)備隱患。翼知網(wǎng)絡(luò)自動(dòng)駕駛經(jīng)過迭代升級(jí),預(yù)測(cè)質(zhì)差設(shè)備準(zhǔn)確率超過80%。
我們?cè)赩+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型的價(jià)值挖掘環(huán)引入敏捷開發(fā)管理方法,利用互聯(lián)網(wǎng)軟件開發(fā)管理方法提升軟件產(chǎn)品開發(fā)效率,壓縮交付周期。業(yè)界有很多方法論開展敏捷管理,應(yīng)用比較廣泛的方法論是Scrum 框架。Scrum 框架由Scrum 團(tuán)隊(duì)以及與之相關(guān)的角色、事件、工件和規(guī)則組成。在Scrum 團(tuán)隊(duì)里,成員不是各管一攤,而是圍繞共同目標(biāo),互相幫助實(shí)現(xiàn)共同目標(biāo)。通過專家培訓(xùn),讓團(tuán)隊(duì)成員理解敏捷原則,主動(dòng)融入開發(fā)運(yùn)營(yíng)一體化模式。
翼知網(wǎng)絡(luò)自動(dòng)駕駛研發(fā)團(tuán)隊(duì)由一名產(chǎn)品負(fù)責(zé)人、一名Scrum Master 組成和六名研發(fā)人員。產(chǎn)品負(fù)責(zé)人兼職產(chǎn)品經(jīng)理和業(yè)務(wù)人員,負(fù)責(zé)收集整理翼知項(xiàng)目的需求,管理需求待辦列表項(xiàng),評(píng)估價(jià)值,進(jìn)行排序,保證團(tuán)隊(duì)按照價(jià)值最大化開展工作。產(chǎn)品負(fù)責(zé)人還負(fù)責(zé)收集上線模塊的用戶反饋,組織評(píng)估。Scrum Master 服務(wù)于整個(gè)團(tuán)隊(duì),屬于教練性角色,盡可能確保Scrum 團(tuán)隊(duì)中的每個(gè)人都能理解目標(biāo)、范圍和產(chǎn)品域,指導(dǎo)和協(xié)助處理Scrum 異常事件。研發(fā)人員參與需求討論和反饋評(píng)估,負(fù)責(zé)軟件的開發(fā)實(shí)現(xiàn)。項(xiàng)目團(tuán)隊(duì)通過每天站會(huì)、兩周的展示和需求評(píng)審會(huì)推進(jìn)產(chǎn)品開發(fā)。
我們?cè)赩+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型的業(yè)務(wù)驗(yàn)證環(huán)引入持續(xù)交付方法和自動(dòng)化運(yùn)維。為了支撐研發(fā)可持續(xù)交付的軟件,利用開源軟件搭建了持續(xù)集成持續(xù)交付的自動(dòng)化發(fā)布平臺(tái),提供配置管理、構(gòu)建和持續(xù)集成、基礎(chǔ)設(shè)施和環(huán)境管理、數(shù)據(jù)管理、組件和依賴管理、版本控制管理、測(cè)試、部署等功能,可自動(dòng)實(shí)現(xiàn)研發(fā)運(yùn)營(yíng)一體化軟件的可持續(xù)交付。
在發(fā)布和部署環(huán)節(jié)主要應(yīng)用持續(xù)交付過程,借鑒業(yè)界主流的可持續(xù)交付軟件方法和持續(xù)交付流程(如圖3),創(chuàng)建一個(gè)可重復(fù)且可靠的軟件發(fā)布過程,可以自動(dòng)集成、測(cè)試、版本管理、部署服務(wù),自動(dòng)管理各種腳本、工件,一鍵發(fā)布軟件,使軟件發(fā)布成為一件非常容易的事情。在團(tuán)隊(duì)內(nèi)建立質(zhì)量意識(shí),所有環(huán)節(jié)關(guān)注質(zhì)量。測(cè)試是團(tuán)隊(duì)全體的質(zhì)量責(zé)任,不純粹是測(cè)試人員的工作,開發(fā)人員利用自動(dòng)化平臺(tái)能力,每天提交代碼,及早進(jìn)行測(cè)試,及早發(fā)現(xiàn)問題進(jìn)行整改。工作中,鼓勵(lì)團(tuán)隊(duì)成員找出痛點(diǎn)并優(yōu)先解決,例如寫測(cè)試用例是項(xiàng)目的痛點(diǎn),如果沒有完整的測(cè)試用例會(huì)導(dǎo)致測(cè)試不完備,質(zhì)量不過關(guān),這時(shí)就應(yīng)該提前準(zhǔn)備測(cè)試案例,養(yǎng)成習(xí)慣。項(xiàng)目所有的工作交付件都會(huì)納入版本控制,包括代碼、測(cè)試用例、部署腳本、數(shù)據(jù)庫(kù)腳本、文檔等。我們盡量實(shí)現(xiàn)工作自動(dòng)化,除了個(gè)性探索類功能測(cè)試、功能演示、割接流程審批外,利用開源工具實(shí)現(xiàn)大部分工作的自動(dòng)化。
圖3 持續(xù)交付流程
在運(yùn)行維護(hù)和服務(wù)監(jiān)測(cè)環(huán)節(jié),引入自動(dòng)化運(yùn)維,充分發(fā)揮自動(dòng)化工具和大數(shù)據(jù)、AI 能力,保障系統(tǒng)穩(wěn)定、安全、高效運(yùn)行。我們推進(jìn)軟件產(chǎn)品運(yùn)行環(huán)境標(biāo)準(zhǔn)化,保持操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件等環(huán)境盡量統(tǒng)一,然后開展自動(dòng)化配置,盡量通過自動(dòng)化工具進(jìn)行變更維護(hù),減少人為因素導(dǎo)致的差異化,引入不必要的漏洞和風(fēng)險(xiǎn)。在運(yùn)維中綜合利用AI、大數(shù)據(jù)和分析工具等手段開展主動(dòng)性智能維護(hù)作業(yè),主動(dòng)優(yōu)化擴(kuò)容,保持系統(tǒng)高效運(yùn)行,通過監(jiān)測(cè)服務(wù)響應(yīng)時(shí)間、用戶使用行為、用戶意見和反饋,以便評(píng)估產(chǎn)品和系統(tǒng)的價(jià)值,推動(dòng)產(chǎn)品迭代開發(fā)。
通過項(xiàng)目實(shí)踐,推進(jìn)互聯(lián)網(wǎng)DevOps 研發(fā)思維落地。首先,研發(fā)團(tuán)隊(duì)轉(zhuǎn)變了思想觀念,引入敏捷開發(fā)管理的方法論,更加關(guān)注交付可運(yùn)行的軟件,需求一周內(nèi)提供Demo 進(jìn)行確認(rèn),用戶高度參與和互動(dòng),降低軟件項(xiàng)目失敗風(fēng)險(xiǎn),提高交付效率。第二,研發(fā)團(tuán)隊(duì)建設(shè)可持續(xù)交付平臺(tái),具備持續(xù)交付能力,改變了原來(lái)模塊開發(fā)完成后再上傳代碼測(cè)試模式,每天上傳代碼進(jìn)行自動(dòng)化集成、測(cè)試,流水線式,安全快速地上線用戶可用的軟件。軟件從一個(gè)月割接升級(jí)一次,縮短到每周一次較大版本升級(jí),可以根據(jù)需要每天若干小功能升級(jí),交付速度大幅提升。第三,研發(fā)團(tuán)隊(duì)利用開源工具開展自動(dòng)化監(jiān)控和AI 預(yù)警驅(qū)動(dòng)的主動(dòng)作業(yè),推動(dòng)IT 能力和成熟的CT 故障流程相結(jié)合,保障系統(tǒng)安全可靠。
研發(fā)運(yùn)營(yíng)一體化發(fā)源于IT 行業(yè),2009 年提出,因?yàn)榭梢愿咝ы憫?yīng)商業(yè)和業(yè)務(wù)快速變化需求,可持續(xù)交付滿足客戶需求的軟件,從而得到大力推廣應(yīng)用,催生并支持了互聯(lián)網(wǎng)行業(yè)的蓬勃發(fā)展。在中國(guó)電信集團(tuán)公司戰(zhàn)略規(guī)劃指導(dǎo)下,廣東電信主動(dòng)推進(jìn)網(wǎng)絡(luò)演變,積極踐行、探索研發(fā)運(yùn)營(yíng)一體化機(jī)制,在產(chǎn)品研發(fā)管理過程中,總結(jié)出符合通信運(yùn)營(yíng)實(shí)際的價(jià)值驅(qū)動(dòng)V+S 雙環(huán)研發(fā)運(yùn)營(yíng)模型。在該模型下,業(yè)務(wù)和IT 研發(fā)之間緊密協(xié)作,成立產(chǎn)品研發(fā)團(tuán)隊(duì),通過研發(fā)運(yùn)營(yíng)一體化機(jī)制,有效提升產(chǎn)品項(xiàng)目管理水平,實(shí)現(xiàn)對(duì)業(yè)務(wù)和用戶的快速響應(yīng)。