譯自forbes / 原標題《How Will AI Impact Software Development?》

作者:Alex Robbio Belatrix Software的總裁兼聯合創始人 。他今年獲得阿根廷EY年度企業家獎。


Shutterstock

回到我是一個青少年的時候,在網際網路之前,我教自己如何編程,對神經網絡和深度學習特別感興趣。

從這個角度來看,AI在長期未能達到預期之後重新出現是非常有趣的。由於雲計算和大數據的力量,AI正在創造一個比我們想像中更快的革命。我們今天看它-從Google Photos到Amazon's Alexa,再到無人駕駛的特斯拉汽車。但是,AI如何影響許這些新服務的軟體開發?開發人員和測試人員的工作會如何改變?

我們會看到一個過渡,以Google CEO 桑達爾·皮查伊的話來說,軟體會成為"自己寫自己"的系統。

AI已經開始影響軟體開發聲明周期的各個方面。從軟體的早期概念化,到開發、測試、部署和持續維護。目前,我們看到AI對軟體開發的兩大影響:

  1. 1.AI幫助開發人員和測試人員創建更好的軟體

  2. 2.開發人員使用AI創建更好的功能,更能影響用戶

AI幫助開發人員和測試人員創建更好的軟體

AI對開發人員工作的第一個影響是改進的工具,可幫助開發人員更好地編寫代碼,並使質量保證(QA)專家更有效地進行測試。這已經有助於提高整體軟體質量,因為使用機器學習測試軟體是自動化測試後的下一步。我們已經可以看到測試人員使用機器來自動查找軟體錯誤。同時,一個新興領域的測試工具,可以使用AI來幫助測試人員發現軟體的缺陷,然後在發現錯誤後自動修復代碼。例如:去年,國防部高級研究計劃署(DARPA)舉辦了一件重大事件,旨在開發可以自動和自助的「檢查、評估和修復軟體漏洞」的系統,以改善網絡安全。

AI還可以幫助年輕的開發人員更快地成為更好的程式設計師,同時幫助他們學習不同的語言,如果他們想改變他們的焦點。正如我們看到AI通過我們每天使用的工具滲透到企業中(考慮到Salesforce將AI嵌入其CRM平台或AI現在出現在Microsoft Word的編輯器中),類似的工具將會影響開發人員社區。

AI最有趣的領域之一是看到它如何幫助開發人員更好的合作。例如:在敏捷開發中,我們看到如何使用AI來改進預估。雖然敏捷團隊在合作一段時間後可以非常有效地進行準確估計,但鑒於影響因素較多,仍然會面臨挑戰。AI對於在不同變量之間存在複雜互相作用的估計以及以前項目的大量數據提供了指導。

同時,我相信我們可以期待看到機器學習在諸如預測敏捷衝刺的可能故障率等場景中使用。 我們也可以期待AI的出現幫助開發者決定應該建立什麼。 例如,開發團隊應該關注哪些應用程式?

開發人員使用AI來構建更好的應用程式

今天,企業希望AI能夠為其軟體提供功能,為客戶提供高度自定義和個性化的服務。無論在智慧型手機上的預測性文字,還是華盛頓郵報用來編寫新聞的機器人,目前改善應用和創造新功能的AI已經不勝枚舉。

將這樣的AI功能集成到應用程式中,開發人員變得容易很多。例如:在2017年,微軟宣布部署了29個Miscrosoft認知服務,以便只是用幾行代碼便可以接入AI。Microsoft API幫助開發人員輕鬆的將AI集成到他們正在開發的應用程式的,同時,現在可以通過 Octane AI 或者 Chatfuel為您的業務創建一個自定義聊天室,無需編程經驗,您可以使用它來創建自己的Facebook Messenger機器人。

挑戰在於培養正確的心態

機器學習,特別是神經網絡,將要求開發人員不僅要學習新的技能,而且要樹立新的思維。 發展這種觀念將是真正的挑戰。 傳統的開發人員通常以線性算法的方式來思考,而在開發機器學習算法時,這並不總是需要的。

這也將要求開發人員更深入地了解業務以及總體目標。 這是因為當AI被實現為軟體時,從相對簡單的輸入 - 輸出方程轉變為可以自動響應不同情況並提供一系列響應的構建軟體。

自編碼軟體還有很長的路要走

我們仍然無法簡單地告訴計算機我們的要求是什麼,然後電腦單獨寫代碼並創建最終的應用程式。 我不認為開發人員應該擔心隨著AI的出現而失去工作; 相反,他們需要尋找能夠發展AI技能的方法,並使用AI來成為更好的開發人員。 我們將看到的是開發人員和質量保證工作的性質的廣泛轉變。


聲明:

本人的翻譯水平有限,翻譯中定有錯誤和疏漏,請各位諒解。

譯者不承擔因此文翻譯所可能導致的任何版權糾紛導致的法律後果;

作者所述觀點不代表譯者本人及所在機構或其關聯機構的觀點闡述。

本站部分文字及圖片均來自於網絡,如侵犯到您的權益,請及時通知我們,立即刪除!謝謝