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