軟件開發,鮮有人討論,長期以來也是國內軟件產業比較薄弱的環節。
如今,終于有了些起色。
從去年12月開始,華為云上線了一系列軟件開發工具和服務,包括前不久剛剛推出的應用性能管理服務CodeArts APM、性能測試服務CodeArts PerfTest,多達10余款。這在很大程度上補充了國內軟件工具生態的短板。
國內軟件工具生態得到了前所未有的關注。更進一步來說,在華為云的這些軟件開發工具和服務的刺激下,國內的軟件開發領域或許真要“變天”了。
01橫向“完善鏈路”:10余款軟件工具和服務,
顯而易見的是,華為云上線的一系列軟件開發工具和服務,對國內軟件開發工具鏈確實是一次很好的完善。
拆解軟件開發工具鏈,常規的軟件開發包含項目管理、代碼托管、代碼檢查、編譯構建、部署、測試、發布等環節,綜合為一套系統、完整的流程。
去年12月,華為云上線第一款軟件開發工具CodeArts Req,對應要解決的就是軟件研發初始的需求管理問題。根據相關分析師報告指出,需求管理不善導致項目失敗的比率高達71%。在軟件開發過程中,客戶的真實需求往往就像比“冰山”,露出水面的一角屬于顯性需求,但是大部分隱形需求是藏在水面之下的。
CodeArts Req的價值就是讓這種復雜的需求管理變得簡單起來,通過系統的工程方法和技術如IPD需求管理模板等去抓住需求的源頭,甚至是把需求管理貫穿整個開發過程,從而保證軟件開發團隊(單一或多個)能充分理解客戶需求,做出客戶真正想要的產品。
在CodeArts Req之后,華為云上線的其他軟件開發工具和服務也都一一對應軟件開發的各個環節,比如CodeArts APM對應應用性能管理、CodeArts TestPlan對應測試、CodeArts Build對應編譯構建、CodeArts Check對應代碼檢查等等。
截至目前,華為云的10余款軟件開發工具和服務基本已經全面對齊軟件開發工具鏈。放眼國內軟件開發領域,很多模塊都相對薄弱,開發者所能選擇的工具和服務并不多,“沒得選”是最關鍵的問題。
具體來說,正因為軟件開發是一個系統且完整的流程體系,大多時候受制于“木桶定律”,即一套軟件開發工具好不好用,關鍵在于其最薄弱的一個環節。因此,對于軟件開發者而言,軟件開發工具的完整性很重要,是他們能下決心遷移到另一套工具上做開發的必然考量。
由此來說,華為云上線的一系列軟件開發工具和服務,從根本上扭轉了國內軟件開發者所面臨的窘境,讓“沒得選”變為“有得選”,恰恰也是率先實現軟件開發全鏈路自主可控的一個關鍵起始。
02
使用一款軟件開發工具的本質是學習其背后先進的工程方法和實踐,就好比用鋤頭耕地和用牛來耕地之間,工具變化的背后是人力與牛力的轉換,同時也意味著一整套工程方法和實踐的調整,比如從用鋤頭到駕馭牛就是兩套截然不同的工程方法。
從這個角度來說,華為云發布的這一系列軟件開發工具和服務,實則是華為過去30年在軟件開發工程方法與實踐的對外輸出。
軟件開發工具和服務,只不過是載體罷了。
以CodeArts TestPlan為例,這是一款自主研發的一站式測試管理平臺,由華為30多年的高質量測試工程方法和實踐升級而來。
比如,在2005年前后,華為就嘗試在自家的測試管理平臺上融入大規模測試用例管理,從而將整個測試活動可視化地呈現出來,讓相關各方都能通過平臺來了解別人在干什么、質量把控進程等,提升測試的效率。
最終,這一能力繼續升級并與其他工程方法一同融入了CodeArts TestPlan中,使其能夠實現測試全流程標準化以及測試端到端過程動態實時監控等特性。
而基于CodeArts TestPlan的這些能力和特性,華為更是創新提出了“性能工程”的概念,有意將性能測試變成一個工程化的場景,深度融入到產業開發流程,來幫助開發者改進產品設計,而不是像以往那樣只承擔產品開發最后的“兜底”作用。
在這里,CodeArts TestPlan不僅是華為輸出工程方法和實踐一個窗口,也具備了支撐華為重新定義產品開發流程的一個關鍵能力。而除了測試管理服務之外,像CodeArts Req對應的需求管理、CodeArts APM對應的應用性能管理等,都存在這一趨勢,即從軟件開發工具的角度對軟件開發流程進行創新。
那么,對于其他軟件企業或開發者而言,使用華為云的一系列軟件開發工具和服務,就不僅僅只是學習其先進的工程方法和實踐,還將有可能在華為的影響下一同走上創新軟件開發流程的道路。
這不難理解,就好比當人學會了使用牛力,獲得更強大的開發能力,就不會滿足于以前用鋤頭耕地一般的成果,而是開始創新如何用牛力去把地耕得更好或是耕更多的地,以獲得更好的收成。
華為云的做法,或許能帶動國內軟件市場基于底層創新去實現突破性的發展。當越來越多的軟件企業通過這些軟件開發工具和服務去了解并學到華為本身30多年的工程方法和實踐,那么更進一步的群體性創新也就具備實現的可能了。
03
當華為云的一系列軟件開發工具和服務推動了軟件開發層面的底層創新,除了在該層面有助于實現群體性創新之外,還將向上發力驅動上層的軟件應用創新。
現階段,隨著云計算技術對軟件行業的深度革新,云原生的趨勢正不斷將軟件行業推向云端,讓軟件開發、軟件應用、軟件運維等工作都走向協同。簡單來說,軟件產品研發就不僅僅只是把產品做出來這么簡單了,需求在變化,相應的軟件開發工具也要隨之升級。
以前不久華為云上線的CodeArts APM為例,這一款全鏈路應用性能管理服務。相比于傳統監控只覆蓋基礎設施、中間件、業務指標相關的觀測能力,CodeArts APM的監測能力在上層和底層都做了延伸,帶來了深入代碼級的性能監測和對用戶的真實體驗感知。
由此能帶來什么樣的效果?因為把前后端鏈路打通了,用戶的產品體驗好不好,或是哪里出現了故障,哪行代碼有問題等都一目了然,基于CodeArts APM,開發者就能快速地找到故障點或是根據用戶體驗的反饋,不斷去優化產品、定位故障。
如此一來,上層的軟件應用便能以正確的方向保持進化,而用戶對產品的體驗也將不斷得到提升、優化,更好適應當前的市場環境。
如今,技術的演進無時無刻不在發生,對傳統軟件行業的變革是顯而易見的。在云原生時代,軟件行業正在經歷新一輪的顛覆與升級,軟件開發到軟件應用都在向云端遷移,并持續走向協同。
在這個節點上,軟件開發工具和服務處在基礎軟件領域,勢必也要率先升級,從而成為新的底層驅動力,而非拖累。從華為云上線的這些軟件開發工具和服務來看,新一代的軟件開發工具和服務已經具備了與上層協同、從底層驅動軟件產業升級的能力。
這將是一個非常積極的信號,華為云既然瞄準了底層的基礎軟件領域做升級,那么國內軟件產業在新時代的基礎想必不會太差,隨著越來越多的企業加入或許還會持續壯大生態,發展得更好。
當然,這都是后話了。
04
前不久,華為云剛剛上線了一款性能測試服務CodeArts PerfTest。緊接著,4月27日,華為云又上線了一款缺陷管理服務CodeArts Defect。從目前的情勢來看,華為云面向軟件工具生態的動作還在持續,沒有停下的意思。
總的來說,華為云確實是給國產軟件工具生態開了個好頭。
不管是對軟件工具鏈的完善還是基于軟件工具輸出自己的工程方法和實踐,或是基于云原生技術對傳統軟件開發流程的革新,都有望進一步推動國產軟件行業聚焦底層創新,拉動底層工具生態的繁榮,進而穩固數字經濟大廈。
對于沉寂良久的國內軟件開發領域而言,這些起色,很令人激動、振奮。