全面提升軟件工程能力與實(shí)踐,打造可信的高質(zhì)量產(chǎn)品
——致全體員工的一封信
我今天寫信,是要和大家溝通公司如何全面提升軟件工程能力和實(shí)踐。二十年前的IPD變革,重構(gòu)了我們的研發(fā)模式,實(shí)現(xiàn)了從依賴個(gè)人、偶然性推出成功產(chǎn)品,到制度化、持續(xù)地推出高質(zhì)量產(chǎn)品的轉(zhuǎn)變。至今為止,我們的產(chǎn)品和解決方案已經(jīng)在170多個(gè)國(guó)家安全穩(wěn)定運(yùn)行,并因此積累和贏得了全球數(shù)萬(wàn)客戶的信任。今天,我們又處在一個(gè)新的起點(diǎn),全面云化、智能化、軟件定義一切等發(fā)展趨勢(shì),對(duì)ICT基礎(chǔ)設(shè)施產(chǎn)品的可信提出了前所未有的要求??尚艑⒊蔀榭蛻粼纲I、敢買和政府接受、信任華為的基本條件??尚挪粌H僅是產(chǎn)品外在表現(xiàn)的高質(zhì)量結(jié)果,更是產(chǎn)品內(nèi)在實(shí)現(xiàn)的高質(zhì)量過(guò)程,是結(jié)果和過(guò)程的雙重可驗(yàn)證的高質(zhì)量。而只有全面提升軟件工程能力和實(shí)踐,才有可能打造出可信的高質(zhì)量產(chǎn)品。
公司已經(jīng)明確,把網(wǎng)絡(luò)安全和隱私保護(hù)作為公司的最高綱領(lǐng)。我們要在每一個(gè)ICT基礎(chǔ)設(shè)施產(chǎn)品和解決方案中,都融入信任、構(gòu)建高質(zhì)量,關(guān)鍵內(nèi)容包括:
安全性(Security)。產(chǎn)品有良好的抗攻擊能力,保護(hù)業(yè)務(wù)和數(shù)據(jù)的機(jī)密性、完整性和可用性。
韌性(Resilience)。系統(tǒng)受攻擊時(shí)保持有定義的運(yùn)行狀態(tài),包括降級(jí),以及遭遇攻擊時(shí)快速恢復(fù)的能力。
隱私性(Privacy)。遵從隱私保護(hù)既是法律法規(guī)的要求,也是價(jià)值觀的體現(xiàn)。用戶應(yīng)該能夠適當(dāng)?shù)乜刂扑麄兊臄?shù)據(jù)的使用方式。信息的使用政策應(yīng)該是對(duì)用戶透明的。用戶應(yīng)該根據(jù)自己的需要來(lái)控制何時(shí)接收以及是否接收信息。用戶的隱私數(shù)據(jù)要有完善的保護(hù)能力和機(jī)制。
可靠性和可用性(Reliability& Availability)。產(chǎn)品能在生命周期內(nèi)長(zhǎng)期保障業(yè)務(wù)無(wú)故障運(yùn)行,具備快速恢復(fù)和自我管理的能力,提供可預(yù)期的、一致的服務(wù)。
全面提升軟件工程能力和實(shí)踐,關(guān)乎公司未來(lái)的生存和發(fā)展,與我們每一個(gè)人都息息相關(guān)。在此,我希望全體員工、特別是軟件工程師們主動(dòng)參與進(jìn)來(lái),從自己做起,踏踏實(shí)實(shí),共同打造可信的高質(zhì)量產(chǎn)品。
我們要轉(zhuǎn)變觀念,追求打造可信的高質(zhì)量產(chǎn)品,不僅僅是功能、特性的高質(zhì)量,也包括產(chǎn)品開發(fā)到交付過(guò)程的高質(zhì)量。我們知道,功能、特性對(duì)產(chǎn)品至關(guān)重要,我們更知道,進(jìn)度對(duì)滿足客戶需求也至關(guān)重要。今天,我們要把可信作為第一優(yōu)先級(jí),放在功能、特性和進(jìn)度之上。除非客戶信任我們的產(chǎn)品,否則這些優(yōu)秀的特性都沒有機(jī)會(huì)發(fā)揮價(jià)值。我們各級(jí)管理者和全體員工都不得以進(jìn)度、功能、特性等為理由來(lái)降低可信的要求,確??尚诺囊笤趫?zhí)行過(guò)程中不變形。
我們要從最基礎(chǔ)的編碼質(zhì)量做起,視高質(zhì)量代碼為尊嚴(yán)和個(gè)人聲譽(yù)。代碼就像是高樓大廈的一磚一瓦,沒有高質(zhì)量的代碼,可信的產(chǎn)品就是空中樓閣。我們要優(yōu)化并遵循公司各種編程規(guī)范,遵從架構(gòu)與設(shè)計(jì)原則,熟練使用各種編程庫(kù)和API,編寫出簡(jiǎn)潔、規(guī)范、可讀性強(qiáng)、健壯安全的代碼。
我們要深刻理解架構(gòu)的核心要素,基于可信導(dǎo)向來(lái)進(jìn)行架構(gòu)與設(shè)計(jì)。在確??尚诺那疤嵯?,要在性能、功能、擴(kuò)展性等方面做好權(quán)衡;慎重地定義我們的模塊與接口,真正做到高內(nèi)聚與低耦合;我們要遵循權(quán)限和攻擊面最小化等安全設(shè)計(jì)原則,科學(xué)設(shè)計(jì)模塊之間的隔離與接口,提升安全性;低階架構(gòu)與設(shè)計(jì)要遵循高階的架構(gòu)與設(shè)計(jì)原則,在充分理解原有架構(gòu)與設(shè)計(jì)的情況下,持續(xù)優(yōu)化;我們要熟悉各種設(shè)計(jì)模式,重用公共成熟組件和服務(wù),避免重復(fù)勞動(dòng)。
我們要重構(gòu)腐化的架構(gòu)及不符合軟件工程規(guī)范和質(zhì)量要求的歷史代碼。我們知道,再好的架構(gòu),其生命力也是有限的。隨著時(shí)間的推移、環(huán)境的變化以及新技術(shù)、新功能特性的引入,架構(gòu)也會(huì)腐化。面對(duì)腐化了的架構(gòu),要毫不猶豫地去重構(gòu)它。同時(shí)主動(dòng)以可信設(shè)計(jì)原則為導(dǎo)向,去重構(gòu)不符合軟件工程規(guī)范和質(zhì)量要求的歷史代碼,提升軟件架構(gòu)的生命力。
我們要深入鉆研軟件技術(shù),尤其是安全技術(shù)。軟件技術(shù)是我們打造產(chǎn)品的基本工具,技術(shù)是否先進(jìn),技術(shù)選擇是否合理,將決定我們軟件的高度;我們要深入學(xué)習(xí)架構(gòu)與設(shè)計(jì)、編碼、測(cè)試、安全、可用性、性能、維護(hù)性、體驗(yàn)等技術(shù),并科學(xué)運(yùn)用這些技術(shù)。
我們要遵守過(guò)程的一致性。遵守適用的法律法規(guī)、遵循業(yè)界共識(shí)的標(biāo)準(zhǔn)、規(guī)范,確保規(guī)范到實(shí)現(xiàn)的一致性、代碼到二進(jìn)制的一致性。架構(gòu)要符合架構(gòu)原則,設(shè)計(jì)要遵循設(shè)計(jì)模式,代碼要符合編程規(guī)范,最終做到需求與實(shí)現(xiàn)一致,達(dá)成各項(xiàng)對(duì)客戶的承諾。我們只有腳踏實(shí)地做好每一步,才能真正打造出可信的高質(zhì)量產(chǎn)品。
為此,我們要改變行為習(xí)慣,追求精品。我們要開放透明、積極和勇于揭示問題并主動(dòng)推動(dòng)改進(jìn)。軟件開發(fā)是一種創(chuàng)造性和藝術(shù)性的工作,需要充分發(fā)揮我們的聰明才智和潛力。我們要改變只重視功能結(jié)果、不重視代碼質(zhì)量的行為習(xí)慣,要嚴(yán)格遵守軟件工程規(guī)范;改變被動(dòng)的修修補(bǔ)補(bǔ);改變碎片化知識(shí)獲取,主動(dòng)去學(xué)習(xí)提升并貢獻(xiàn)經(jīng)驗(yàn)、代碼,形成共享知識(shí)庫(kù)。我們需要改變的行為和習(xí)慣還有很多,對(duì)絕大多數(shù)人來(lái)講都將是一個(gè)痛苦的轉(zhuǎn)變過(guò)程,會(huì)脫一層皮,但我相信大家能夠迎接這種挑戰(zhàn)。
更為重要的是,我們將通過(guò)變革形成一套適應(yīng)上述變化的流程、組織與考核機(jī)制。我們要完善并增強(qiáng)透明、可回溯和可審計(jì)的全流程管理機(jī)制,以可信的視角,從初始設(shè)計(jì)、完整構(gòu)建到產(chǎn)品生命周期管理,全面提升軟件工程能力和實(shí)踐。我們將全面強(qiáng)化以Committer角色為核心的代碼審核和提交機(jī)制,代碼經(jīng)過(guò)更加嚴(yán)格和系統(tǒng)的審核才能合入版本。為此我們將建立一支更高水平的Committer角色群體,負(fù)責(zé)軟件架構(gòu)的看護(hù)、代碼的審核和提交,整體保障合入代碼的高質(zhì)量。我們要變革考核機(jī)制,要讓架構(gòu)設(shè)計(jì)好、代碼寫得好的人脫穎而出,對(duì)編程能力不滿足要求的人給予幫助和培訓(xùn)。但任何人如果編寫的代碼長(zhǎng)時(shí)間不能合入版本,將會(huì)被團(tuán)隊(duì)拋棄。
過(guò)去一百年來(lái),世界上許多成功的公司都因不能適應(yīng)變化而倒下。要適應(yīng)外部變化,唯有自我進(jìn)化,我們必須保持開放和持續(xù)變革。董事會(huì)已決定,全面提升軟件工程能力與實(shí)踐將以變革的方式來(lái)開展,由輪值董事長(zhǎng)徐直軍總負(fù)責(zé),公司初始投入20億美元,計(jì)劃用5年時(shí)間,在ICT基礎(chǔ)設(shè)施領(lǐng)域?qū)崿F(xiàn)為客戶打造可信的高質(zhì)量產(chǎn)品的目標(biāo)。希望您支持并積極投入到這一偉大的變革。唯有如此,我們才能實(shí)現(xiàn)未來(lái)的愿景和使命:把數(shù)字世界帶入每個(gè)人、每個(gè)家庭、每個(gè)組織,構(gòu)建萬(wàn)物互聯(lián)的智能世界。
2018年12月27日