開發軟體再也不是難事!看AI技術如何讓企業事半功倍

2020.08.20 by
鄭興
鄭興 查看更多文章

現任勤業眾信管理顧問服務營運長。具備超過20年的管理顧問經驗,專精於企業績效管理、成本與獲利管理、企業轉型、營運流程改善等顧問諮詢。服務的客戶涵蓋各產業的領導企業,包括高科技及製造業、金融服務業、消費產業等,提供客戶全面且具附加價值的服務以提升企業績效與永續經營的能力。

開發軟體再也不是難事!看AI技術如何讓企業事半功倍
NicoElNino via shutterstock
在資訊人才匱乏之際,AI工具開始深入軟體開發的各個階段,有效協助開發人員節省測試、尋找BUG的時間,讓開發軟體不再是件難事。

隨著科技日新月異,資訊軟體在各行各業中的使用率大幅提高,企業中軟體相關專案大量增加。然而在資訊科技跟軟體應用蓬勃發展的背後,愈來愈多企業發現自己面臨一個問題:軟體人才匱乏,無法有效進行軟體生命週期管理,投入大量成本卻仍無法保證產出的品質。

據Standish Group 2018年發布的CHAOS報告調查指出,近半數軟體專案會發生延宕、超出預算、無法達到預期目標的狀況,另外近20%的專案直接宣告失敗。因此,如何改善資訊系統導入和軟體開發的效率,將是企業在競爭中設法脫穎而出的重要議題,而與此同時,AI科技也在改善軟體開發流程上逐漸發揮其巨大的影響力。

新一代的AI軟體開發工具可以協助開發者產出更好的文件、更可靠的程式碼,以及更到位的專案管理。
Wright Studio via shutterstock

AI技術之所以能夠改善軟體開發工作,源自現在軟體開發的重要潮流:開源(Open Source)程式碼。「開源」使得大量程式碼片段被分享和重複使用,同時集結眾人的智慧與經驗使之不斷優化。這些紀錄成為AI科技的重要資料基礎,在機器學習和自然語言分析(Natural Language Processing)等技術的支持下,新一代的AI軟體開發工具可以協助開發者產出更好的文件、更可靠的程式碼,以及更到位的專案管理。

推薦閱讀:AI將成廣告界創意總監?自動生成的文案,點擊率卻提升68%,怎麼做到的?

筆者從以下5個軟體開發階段出發,觀察AI技術如何協助開發者達成需求。

1. 需求管理

需求蒐集與管理往往是決定專案時程、成本甚至成敗的關鍵。因此,能夠分析需求文件的工具應運而生。有些軟體廠商提供了強化的管理工具,能透過自然語言分析找出描述不完整、未明確定義或是前後矛盾處,並提供調整建議,進而改善文件品質。據已在使用此類工具的公司回報,其可有效降低超過一半以上檢閱需求文件的時間。

2. 程式開發

隨著機器學習的深化,除了基本的語法提示,AI還可以自動產生相關的程式片段供開發人員參考,有效減少開發人員敲打鍵盤的次數,並大幅減少發生錯誤的機會。同時,錯誤偵測工具大幅降低開發人員查找錯誤所需的時間。知名遊戲廠商Ubisoft就曾表示,使用機器學習相關技術使他們能夠在進入測試階段之前就發現70%的錯誤。

3. 軟體測試

在軟體開發過程中,開發人員時常會使用自動測試工具執行QA(品質保證工程師)撰寫的測試情境,以確保軟體的品質。通過AI的輔助,這些測試工具不再限於自動執行,而是可以自動產生測試案例,擴大測試情境的同時節省測試人員的時間,進而縮短軟體測試整體時程。

4. 上線部署

部份軟體錯誤只有在指定環境中完成部屬後才會發生,但AI可以藉由分析過往的程式碼及軟體日誌提前預估錯誤,並且加速查找根本原因並減少復原所需時間。除此之外,AI也可以分析、優化系統運行參數及環境參數,從而提高程式執行效率,減少營運成本。

5. 專案管理

數家新創公司對大量過往軟體開發專案進行分析後,推出了可以預估新專案的技術難度、所需開發資源以及時間軸的工具,以期增加專案規劃的精確性並提高執行效率。像是法國電信公司Orange便已使用AI工具取代人力,自動更新專案時程及範圍。

雖然有些專家預測,在未來世界AI會自動撰寫所有程式,不過在我們可期的時間內,人類仍將是大部分程式的創造者。如何使用AI工具協助人們進行軟體開發,從而實現企業的未來願景,值得企業仔細考量。

責任編輯:陳建鈞

《數位時代》長期徵稿,針對時事科技議題,需要您的獨特觀點,歡迎各類專業人士來稿一起交流。投稿請寄edit@bnext.com.tw,文長至少800字,請附上個人100字內簡介,文章若採用將經編輯潤飾,如需改標會與您討論。

(觀點文章呈現多元意見,不代表《數位時代》的立場)

每日精選科技圈重要消息