NEWS & ARTICLE

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

decree 2020-08-21

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

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

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

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

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

1. 需求管理

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

2. 程式開發

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

3. 軟體測試

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

4. 上線部署

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

5. 專案管理

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

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

責任編輯:陳建鈞

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

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


出處:https://www.bnext.com.tw/article/58925/ai-software-development

關注我們

NOTICE US