開發軟體再也不是難事!看AI技術如何讓企業事半功倍
2020.08.20 by 鄭興 作者簡介
在資訊人才匱乏之際,AI工具開始深入軟體開發的各個階段,有效協助開發人員節省測試、尋找BUG的時間,讓開發軟體不再是件難事。
隨著科技日新月異,資訊軟體在各行各業中的使用率大幅提高,企業中軟體相關專案大量增加。然而在資訊科技跟軟體應用蓬勃發展的背後,愈來愈多企業發現自己面臨一個問題:軟體人才匱乏,無法有效進行軟體生命週期管理,投入大量成本卻仍無法保證產出的品質。
據Standish Group 2018年發布的CHAOS報告調查指出,近半數軟體專案會發生延宕、超出預算、無法達到預期目標的狀況,另外近20%的專案直接宣告失敗。因此,如何改善資訊系統導入和軟體開發的效率,將是企業在競爭中設法脫穎而出的重要議題,而與此同時,AI科技也在改善軟體開發流程上逐漸發揮其巨大的影響力。
新一代的AI軟體開發工具可以協助開發者產出更好的文件、更可靠的程式碼,以及更到位的專案管理。
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工具協助人們進行軟體開發,從而實現企業的未來願景,值得企業仔細考量。
資料來源:https://www.bnext.com.tw/article/58925/ai-software-development?fbclid=IwAR0Faev8Zwcu-1agI0WmiEfxN-lxJf6TB0sw0qbAwtZhE5rw0x8-t59dsO4
「文件管理系統open source」的推薦目錄:
- 關於文件管理系統open source 在 台灣物聯網實驗室 IOT Labs Facebook 的最佳解答
- 關於文件管理系統open source 在 台灣物聯網實驗室 IOT Labs Facebook 的最佳貼文
- 關於文件管理系統open source 在 DavidKo Learning Journey Facebook 的最佳貼文
- 關於文件管理系統open source 在 請問文件管理軟體名稱可以提供一下嗎? - Mobile01 的評價
- 關於文件管理系統open source 在 景佳科技FansySoft - 文件管理常見功能 - Facebook 的評價
- 關於文件管理系統open source 在 免費檔案管理系統的蘋果、安卓和微軟相關APP,MOBILE01 的評價
- 關於文件管理系統open source 在 Free-Fs 开源文件管理系统 - GitHub 的評價
- 關於文件管理系統open source 在 不寫程式學程式|非程式腦也看得懂的Github 文件管理概念 的評價
- 關於文件管理系統open source 在 文件的持續交付 的評價
文件管理系統open source 在 台灣物聯網實驗室 IOT Labs Facebook 的最佳貼文
開發軟體再也不是難事!看AI技術如何讓企業事半功倍
2020.08.20 by 鄭興 作者簡介
在資訊人才匱乏之際,AI工具開始深入軟體開發的各個階段,有效協助開發人員節省測試、尋找BUG的時間,讓開發軟體不再是件難事。
隨著科技日新月異,資訊軟體在各行各業中的使用率大幅提高,企業中軟體相關專案大量增加。然而在資訊科技跟軟體應用蓬勃發展的背後,愈來愈多企業發現自己面臨一個問題:軟體人才匱乏,無法有效進行軟體生命週期管理,投入大量成本卻仍無法保證產出的品質。
據Standish Group 2018年發布的CHAOS報告調查指出,近半數軟體專案會發生延宕、超出預算、無法達到預期目標的狀況,另外近20%的專案直接宣告失敗。因此,如何改善資訊系統導入和軟體開發的效率,將是企業在競爭中設法脫穎而出的重要議題,而與此同時,AI科技也在改善軟體開發流程上逐漸發揮其巨大的影響力。
新一代的AI軟體開發工具可以協助開發者產出更好的文件、更可靠的程式碼,以及更到位的專案管理。
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工具協助人們進行軟體開發,從而實現企業的未來願景,值得企業仔細考量。
資料來源:https://www.bnext.com.tw/art…/58925/ai-software-development…
文件管理系統open source 在 DavidKo Learning Journey Facebook 的最佳貼文
Etsy 在 DevOps 的改革之旅
視頻
https://vimeo.com/51310058
投影片
https://www.slideshare.net/mcdonnps/continuously-deploying-culture-scaling-culture-at-etsy-14588485
2008 工程脆弱和生活痛苦之年
Etsy 有 35 位員工, 有一半是工程師
在 2 個 datacenter 中有 250 台 servers
部署要花費數個小時, 代碼幾乎不行
開發和運維幾乎沒有溝通
Push 通常會失敗, 重新啟動和回滾是個挑戰
認為組織在進行變革之旅程時, 必須要先做的事是:
(1) 為重要的改進項目留出時間
(2) 保持小批量, 且不做長期計劃(例如,幾周而不是幾個月)
(3) 繼續優先考慮較高的”system of work”, 而不是“doing work”
在2008年離開時抱有以下承諾:
a. 獲得高層和底層, 大家都支持要去改變文化
b. 提高組織內部和公眾的透明度
c. 盡快償還技術債務
2009 DevOps 文化開始的一年
(1) 改變辦公環境
您工作的地方必須適合您的文化
(2) 成立一個DevTools 團隊
利用 open source 自動化持續部署的過程
以最少人, 最少步驟和儀式來部署新修改
(3) 管理階層和前線人員協作
管理人員不再只是下命令而已, 他們會一起合作去解決問題
在 2009 結束後, 他們達成了
a. 找到自己組織中造成最大痛苦的部分,並設法穩定它們
b. 僱用會有所作為的員工
c. 選擇去做會產生影響的項目
d. 完成它, 然後就出貨
2010 標準化的一年
(1) 建立持續集成和交付的團隊
(2) 標準化
減少要支援的基礎建設和配置
將所有事情都切換到 PHP 和 MySQL
讓每個人都可以閱讀,修改, 重寫其他人的代碼
(3) 狀態圖形化
顯示發生什麼
顯示哪裡有問題
顯示哪些事情要先處理
(4) 開發人員 on call 計畫
每三年至少有一週要 on call
確保開發人員有責任感和同理心
讓運維在部署期間有足夠資源
(5) 開始實踐 A/B testing, feature flags
(6) 管理層的態度有以下改變:
可以接受失敗, 但不該降低標準
失敗總是會發生, 但是要讓他被看得到, 被了解, 被當作是通往成功的跳板
相信但是會確認
無責罰的驗屍會議
2010 達成以下項目
a. 以圖形化方式顯示系統和基礎建設狀況
b. 讓開發人員當責
c. 文件和流程的標準化是需要的, 但非一成不變
d. 管理經層持續確認員工是否開心和滿意他們目前的工作
2011 豐收年
(1) 把非標準的技術從公司中移走
更多細節可以參考
Ross Snyder’s Surge 2011 talk, “Scaling Etsy: What Went Wrong and What Went Right”).
https://www.youtube.com/watch?v=eenrfm50mXw
https://www.slideshare.net/beamrider9/scaling-etsy-what-went-wrong-what-went-right
(2) 要求公司員工每年要做以下三件事情的其中一件
* Writing blog posts for fix.etsy.com
* Speaking at conferences.
* Open-source something.
(3) 發動一些改革
從 svn 換到 git
專注於資訊安全
利用 game days 來測試和尋找系統未知的問題
他們明年的計畫如下
a. 任何技術公司的高級管理人員應該要專注於技術
b. 即使只有 2 個 server, 也要做配置管理
c. 不要讓支付卡產業資料安全標準, 影響了公司的文化
文件管理系統open source 在 景佳科技FansySoft - 文件管理常見功能 - Facebook 的推薦與評價
產生內容預覽:PDF與Office文件(Word, Powerpoint, ... Liferay文件管理| 景佳科技FansySoft. Liferay Open Source 線上文件管理系統、文件分享同步、知識管理軟體. ... <看更多>
文件管理系統open source 在 Free-Fs 开源文件管理系统 - GitHub 的推薦與評價
Free-Fs 开源文件管理系统:基于SpringBoot2.x + MyBatisPlus + MySQL + Shiro+ Layui 等搭配七牛云,阿里云OSS实现的云存储管理系统。包含文件上传、删除、预览、云 ... ... <看更多>
文件管理系統open source 在 請問文件管理軟體名稱可以提供一下嗎? - Mobile01 的推薦與評價
要不要試試SubVersion? Open source 一毛錢都不花還跨平台說. M$ Sharepoint Server建議還是算了當你發現所有的東西都 ... ... <看更多>