人工智能在改善和加快軟件開發(fā)并提高項(xiàng)目質(zhì)量方面具有巨大潛力,尤其在提高軟件開發(fā)效率方面。
幾十年來,人工智能已在各種行業(yè)中證明了其卓越的才能。從機(jī)器人到制造業(yè),再到貿(mào)易商的庫存變動(dòng)和貨幣預(yù)測(cè),人工智能已成為我們生活的一部分。在當(dāng)今時(shí)代,企業(yè)正在使用AI來使日常工作自動(dòng)化,這使我們過去認(rèn)為不可能的事情成為可能。下面我們?cè)敿?xì)介紹人工智能給敏捷項(xiàng)目管理的帶來各種好處。
事實(shí)上,傳統(tǒng)的軟件開發(fā)將繼續(xù)存在,諸如軟件接口和數(shù)據(jù)管理之類的主要應(yīng)用程序組件仍將使用常規(guī)軟件。我們關(guān)注的問題是:如何使用機(jī)器學(xué)習(xí)來擴(kuò)展軟件開發(fā)過程?我認(rèn)為,以下方式可以將ML技術(shù)引入SLDC:
一快速原型制作:
在AI出現(xiàn)之前,開發(fā)團(tuán)隊(duì)需要花費(fèi)大量時(shí)間將客戶業(yè)務(wù)需求轉(zhuǎn)換為技術(shù)。如今,ML通過幫助專業(yè)知識(shí)不足的開發(fā)人員提高效率來減少開發(fā)時(shí)間和進(jìn)程。
二風(fēng)險(xiǎn)評(píng)估:
在軟件開發(fā)中,對(duì)風(fēng)險(xiǎn)評(píng)估做出重要決策非常復(fù)雜,并且還要考慮周期和預(yù)算。啟動(dòng)項(xiàng)目后,內(nèi)部相互依存關(guān)系和外部環(huán)境又會(huì)產(chǎn)生各種可能性和概率數(shù)據(jù)。作為人類,我們存儲(chǔ)和復(fù)制這些數(shù)據(jù)的能力有限。
AI能幫助你按需收集參數(shù)和數(shù)據(jù)。使用AI模型,我們可以從開始到結(jié)束日期收集項(xiàng)目數(shù)據(jù)。通過這種方式,你可以獲得當(dāng)前正在開發(fā)的項(xiàng)目的實(shí)際時(shí)間表。
三分析和錯(cuò)誤處理:
基于AI的編程可幫助開發(fā)者輕松識(shí)別歷史數(shù)據(jù)模式和常見的人為錯(cuò)誤。在開發(fā)過程中,如果我們犯了這樣的錯(cuò)誤,那么編碼助手將對(duì)此進(jìn)行標(biāo)記。部署應(yīng)用程序后,ML可用于分析日志和標(biāo)記錯(cuò)誤,甚至可以修復(fù)錯(cuò)誤。這使應(yīng)用程序開發(fā)人員可以主動(dòng)糾正錯(cuò)誤。也許將來AI可以在沒有人類參與的情況下獨(dú)立糾正應(yīng)用程序錯(cuò)誤。
四編程助手:
在沒有AI的軟件開發(fā)中,開發(fā)人員的大部分工作時(shí)間花在了代碼調(diào)試和文檔編制上。通過使用ML實(shí)現(xiàn)的智能編碼助手,開發(fā)人員可以基于代碼庫獲得快速反饋和建議,從而節(jié)省了大量時(shí)間。代碼助手的最佳示例是Pythons的Kite和Java的Codota。
五戰(zhàn)略決策:
開發(fā)人員花費(fèi)了大量時(shí)間來討論功能和產(chǎn)品的優(yōu)先級(jí)。通過使用來自過去開發(fā)項(xiàng)目的數(shù)據(jù)進(jìn)行訓(xùn)練的AI模型,可以評(píng)估應(yīng)用程序的性能,從而幫助業(yè)務(wù)領(lǐng)導(dǎo)者和工程團(tuán)隊(duì)制定將風(fēng)險(xiǎn)最小化和影響最大化的方法。
六精確估算:
軟件開發(fā)項(xiàng)目是超出時(shí)間表和預(yù)算的“慣犯”。因此,要做出合理的預(yù)算,必須對(duì)團(tuán)隊(duì)和項(xiàng)目背景有深刻的了解,你可以使用過去項(xiàng)目中的數(shù)據(jù)來訓(xùn)練ML模型。事實(shí)證明,這對(duì)預(yù)測(cè)工作量和預(yù)算非常有幫助。
七自動(dòng)代碼重構(gòu):
同樣重要的是制作清晰的代碼,然后實(shí)現(xiàn)安全協(xié)作。重構(gòu)對(duì)于維護(hù)代碼整潔規(guī)范是必要的。為了解決這個(gè)問題,ML被用以通過識(shí)別潛在的重構(gòu)區(qū)域來輕松分析代碼并優(yōu)化性能。
八用于項(xiàng)目計(jì)劃的AI:
人的大腦是一個(gè)非常出色的知識(shí)引擎,但每個(gè)人的認(rèn)知能力各不相同。沒有兩個(gè)項(xiàng)目經(jīng)理會(huì)對(duì)同一項(xiàng)目有完全相同的想法。通過ML復(fù)制人類的智力,AI可以創(chuàng)建類似于人類大腦的各種情況的排列組合。
九項(xiàng)目資源管理:
交付軟件產(chǎn)品取決于有合適的人員從事項(xiàng)目。通過將AI集成到項(xiàng)目中,我們可以獲取正在從事其他項(xiàng)目的開發(fā)人員的實(shí)時(shí)信息,AI提供了可用于部署的開發(fā)人員的精確信息?;贏I集成,我們可以減少或增加項(xiàng)目開發(fā)人員的數(shù)量。
為什么人工智能很重要
AI能根據(jù)項(xiàng)目結(jié)構(gòu),通過提供開發(fā)人員所需的技能和知識(shí),使開發(fā)人員大幅提升入職和項(xiàng)目交付的效率。
如果項(xiàng)目管理者使用AI實(shí)現(xiàn)最優(yōu)的工作負(fù)載分配,那么相信我,你的開發(fā)人員沒有人能夠偷懶,實(shí)現(xiàn)100%的全力輸出。此外,通過對(duì)人工重復(fù)性任務(wù)的自動(dòng)化,項(xiàng)目管理者可以有更多時(shí)間進(jìn)行以項(xiàng)目為中心的決策。
AI將如何更改軟件開發(fā)?
在AI系統(tǒng)中,軟件開發(fā)人員不提供任何指導(dǎo)步驟或操作。機(jī)器學(xué)習(xí)系統(tǒng)本身僅管理特定領(lǐng)域的數(shù)據(jù),并將其輸入學(xué)習(xí)算法中。
AI會(huì)識(shí)別數(shù)據(jù)中的模式,這對(duì)于決策非常重要。機(jī)器算法將數(shù)據(jù)與其數(shù)據(jù)庫進(jìn)行比較,并做出正確的決策。關(guān)于AI的最好的事情是沒有既定的知識(shí)窠臼。實(shí)際上,AI的輸出結(jié)果通常揭示了人類難以憑直覺識(shí)別的奇特而有趣的模式。
人工智能通過顛覆人類對(duì)編程的定義、感知和程序執(zhí)行來改變軟件開發(fā)過程。谷歌的皮特·沃登認(rèn)為,十年后,大多數(shù)IT工作將不再涉及編程。
根據(jù)OpenAI的前科學(xué)家,現(xiàn)任Tesla的AI總監(jiān)Andrej Karpathy的說法,未來的程序員將不會(huì)維護(hù)復(fù)雜的存儲(chǔ)庫、分析運(yùn)行時(shí)間或創(chuàng)建復(fù)雜的程序,他們將收集、清理、標(biāo)記、分析和可視化輸入神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)。
通常,在傳統(tǒng)方法中,工程師使用Java或C等編程語言為計(jì)算機(jī)提供明確的步驟:需求定義—設(shè)計(jì)—開發(fā)—測(cè)試—部署—維護(hù)代碼。而在ML開發(fā)模型中,開發(fā)人員只需定義問題并列出他們想要實(shí)現(xiàn)的目標(biāo),收集數(shù)據(jù)、準(zhǔn)備數(shù)據(jù)、將數(shù)據(jù)輸入學(xué)習(xí)算法,部署、集成和管理模型。
自1956年問世以來,人工智能已逐漸成為商業(yè)繁榮的關(guān)鍵,許多公司都在利用人工智能實(shí)現(xiàn)日常業(yè)務(wù)的自動(dòng)化。在敏捷開發(fā)中使用AI會(huì)帶來更多的業(yè)務(wù)收益。這些收益不限于但包括:做出可靠的預(yù)算評(píng)估,擁有100%的開發(fā)人員利用率,及時(shí)獲得生產(chǎn)中的錯(cuò)誤檢測(cè)以及開發(fā)環(huán)境和代碼重構(gòu)建議。
Chandresh Patel是Bacancy Technology的首席執(zhí)行官,敏捷教練和創(chuàng)始人。
-
人工智能
+關(guān)注
關(guān)注
1787文章
46061瀏覽量
235022 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8306瀏覽量
131845
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論