3月6日消息,隨著人工智能技術的興起,軟件界流傳著這樣一則笑話:過去,軟件開發人員需要兩天時間編寫代碼,而軟件質量工程師則需一天時間進行測試。但在人工智能的輔助下,編寫代碼的時間縮短為一天,測試時間卻延長至兩天。
這一轉變可能讓開發人員不以為然,但對軟件行業的工程師和企業而言,卻是一項嚴峻的挑戰。人工智能正在推動生產效率的提升,並正在改變勞動力配置。原本占據開發工作主體的代碼編寫任務,現在逐漸向軟件發佈前的各項準備工作轉移。
長期以來,所謂的內循環一直是軟件開發的核心,而如今,外循環的重要性日益凸顯。這種變化聽起來宛如科幻電影劇情,仿佛人類被賦予功能強大的機器人助手。
人工智能在軟件開發領域的應用尚處於初期階段,因此這種戲劇性的變化尚未波及整個行業。但這樣的日子終將到來,為不被時代潮流所淘汰,企業和團隊應當從現在開始做好規劃。
內循環與外循環
盡管並非一成不變,但許多軟件團隊在產品開發過程中都采取類似的勞動分配方式。
所謂的內循環涵蓋開發軟件過程中涉及的各種高價值、創造性任務,如設計、編寫、構建和調試代碼等。這些任務通常由單一開發人員在代碼共享給團隊其他成員之前獨立完成。
相較之下,外循環則關註更多重復性工作,這些工作往往會分散人們對內循環中高價值任務的註意力。其中,主要任務包括測試代碼的安全性、可靠性、質量和可用性等。
那麼,人工智能是如何改變內外循環之間的平衡的呢?人工智能助手能夠幫助開發人員輕松創建代碼,將一個概念轉化為代碼可能原本需要幾天甚至幾周時間;而有人工智能的幫助,幾秒鐘即可完成。但生成的結果更類似於意識流作品,而非精心打磨的小說。在作品能夠發佈之前,所有這些生成的原材料還需一位“編輯”進行打磨。
舉個例子,GitHub的Copilot人工智能助手讓開發人員的生產力提高55%,但Copilot生成的代碼存在安全漏洞和設計缺陷的概率有40%。隨著代碼量的增加,這些問題將外循環轉變為生產的瓶頸。
這種情況將如何影響開發團隊?通常,開發人員與測試人員的比例為3:1。在一傢擁有四萬名軟件工程師的大型銀行中,可能有一萬名員工負責安全、可靠性和質量控制。但人工智能的效果如同擠壓氣球,它會使另一側膨脹。測試工作量的激增抵消編碼效率的提升。
開發團隊如何取得進展
對軟件開發團隊而言,挑戰在於如何適應這一變革。想要在競爭中保持領先,公司首先需要解決長期的敵手:瑣事(toil)。
瑣事指那些耗費開發者大量時間和精力的重復性乏味任務。手動測試代碼、漫長的等待開發完成以及工作進度的申請等,都讓軟件工程師感到沮喪,減緩工作節奏,推動創新的創造性工作也越來越遠。
隨著人工智能自動化加速內循環,外循環面臨的挑戰可能比以往任何時候都要多。解決方案在於引入可擴展的自動化系統,以確保代碼的安全性、可靠性和質量。許多人認為這一切都是事後諸葛亮。事實上,很多工程團隊都樂意自己動手DIY修補程序。
專業工具對於消除困擾軟件開發生命周期中的繁瑣任務至關重要,持續集成/持續部署(CI/CD)便是關鍵之一。高效的軟件團隊利用CI/CD方法完成推向產品過程中所需的大部分工作。CI/CD能處理構建、測試、部署過程中的瑣碎任務。
安全測試,作為最耗時的任務之一,CI/CD可以提供關於漏洞的詳細信息,優先處理緊急漏洞,並提供快速的修復建議。
雲成本管理也是最適合自動化的任務之一。恰當的工具可以幫助開發人員詳細追蹤雲使用情況,通過關閉不活躍資源以降低成本。據經驗,這甚至可以節省高達70%的成本。
即便是內部開發者平臺這樣簡單的工具,也能改變遊戲規則。這些自助式服務門戶通過整合工具、服務和信息,加速生產進程。
得益於生成式人工智能,這些工具降低瑣事工作量、加快部署速度的能力正不斷增強。
現在就開始培養人才
自動化雖然是成功的關鍵,但隨著外循環的任務不斷擴大,人才短缺的問題也日益嚴峻。很快,我們將進入一個軟件質量工程師比程序員更受歡迎的時代,專註於測試的人才可能獲得更高的薪酬。
公司應當制定計劃,招募和培養所需的人才。吸引軟件開發人才的關鍵在於提供有吸引力的工作體驗。薪酬是基礎,但開發人員還需要解公司的使命,在工作中面對挑戰,並使用恰當的工具。
當人工智能重新定義軟件開發生命周期時,最受需求的崗位將是什麼?預計軟件質量管理者、工程師以及可靠性工程師將成為搶手人選。
人工智能引發的這種變革不會一夜之間發生,但提前做好準備的軟件團隊將處於更有利的位置,更快地將產品推向市場。最終,如何支撐外循環可能成為成功與否的關鍵。