借助生成式人工智能,加速傳統(tǒng)系統(tǒng)現(xiàn)代化
作者 | Shodhan Sheth、Tom Coggrave、Alessio Ferri
老舊系統(tǒng)是阻礙許多企業(yè)發(fā)展的瓶頸問題。盡管現(xiàn)代化的需求十分迫切,但高昂的成本、繁瑣的流程和龐大的時間投入,往往讓許多企業(yè)止步不前。
在這方面,生成式人工智能可以發(fā)揮重要作用。雖然它通常用于客戶支持和內(nèi)容創(chuàng)作,但實際上,生成式人工智能可以加速完成老舊系統(tǒng)現(xiàn)代化過程中的一些復(fù)雜環(huán)節(jié),尤其是在幫助理解現(xiàn)有系統(tǒng)和填補相關(guān)能力缺口方面。通過解決這些問題,人工智能能夠幫助團隊更高效地推進工作。
這并非空想,我們已經(jīng)通過實際項目獲得了驗證。例如,在某個項目中,我們成功幫助客戶將老舊代碼的反向工程時間縮短了三分之二。這意味著,企業(yè)可以迅速夯實基礎(chǔ),進而加快后續(xù)發(fā)展步伐,實現(xiàn)更大的業(yè)務(wù)價值。
為什么老舊系統(tǒng)現(xiàn)代化如此困難?
老舊系統(tǒng)現(xiàn)代化究竟存在哪些困難?簡單來說,這項工作之所以具有挑戰(zhàn)性,是因為它需要團隊應(yīng)對“意外的復(fù)雜性”,而這往往會消耗大量的時間和精力。
造成復(fù)雜性的原因有很多,主要包括:
- 文檔缺失或不完善
- 人員流動導(dǎo)致內(nèi)部知識喪失
- 多年來不斷堆積新流程和需求(但卻沒有進行重構(gòu)或清理不必要的部分)
- 缺乏技能應(yīng)對老舊系統(tǒng)中所用的過時語言和工具
然而,最嚴重的原因其實是“拖延”。如果忽視了技術(shù)債務(wù),老舊系統(tǒng)在沒有明確規(guī)劃和管理的情況下不斷演變,最終就會形成所謂的“泥球效應(yīng)”(big ball of mud)。這意味著,未來將面臨更加棘手和痛苦的局面。
因此,生成式人工智能在系統(tǒng)現(xiàn)代化中發(fā)揮著至關(guān)重要的作用。它能助力解決在現(xiàn)代化項目初期必須應(yīng)對的復(fù)雜問題(比如老舊代碼反向工程),從而加速現(xiàn)代化進程。生成式人工智能夠?qū)⒋罅康臄?shù)據(jù)轉(zhuǎn)化為更易于處理和理解的信息,這對于處理龐大且復(fù)雜的項目尤其重要。
生成式人工智能如何推動老舊系統(tǒng)現(xiàn)代化
生成式人工智能正在推動老舊系統(tǒng)現(xiàn)代化,幫助實現(xiàn)價值,并提升團隊的工作效率。通過有效應(yīng)用生成式人工智能,團隊能夠節(jié)省時間,專注于更具創(chuàng)造性和戰(zhàn)略性的任務(wù),從而實現(xiàn)更高的生產(chǎn)力和更大的價值。
更好地理解現(xiàn)有系統(tǒng),彌補能力缺口
老舊系統(tǒng)現(xiàn)代化的第一步通常是對現(xiàn)有系統(tǒng)進行全面分析,這個過程通常被稱為“AS-IS”(現(xiàn)狀分析)。
然而,這一步往往充滿挑戰(zhàn),因為許多老舊系統(tǒng)通常包括不同年代的各種組成部分或?qū)蛹墶@纾恍├吓f的數(shù)據(jù)庫可能已經(jīng)運行了幾十年,但與現(xiàn)代應(yīng)用程序連接時,所用的編程語言和工具可能在團隊內(nèi)已經(jīng)沒人能理解了。除非系統(tǒng)架構(gòu)設(shè)計得非常規(guī)范,否則它往往以一種近乎“隨機”的方式不斷演化,最終形成十分復(fù)雜的結(jié)構(gòu),導(dǎo)致團隊難以理解老舊系統(tǒng)的復(fù)雜性及其背后的原因。
以上問題是老舊系統(tǒng)現(xiàn)代化進程中的一個重大瓶頸。例如,Thoughtworks曾與某歐洲汽車制造商合作,在推進現(xiàn)代化項目時,對現(xiàn)有代碼庫(大約1500萬行代碼)進行逆向工程遇到瓶頸,導(dǎo)致項目進度落后了9個月。這類逆向工程需要大量領(lǐng)域?qū)<业膮⑴c,他們不僅要理解老舊代碼,還要將其與實際業(yè)務(wù)需求對接,而領(lǐng)域?qū)<揖幹频奈臋n往往讓推進項目的業(yè)務(wù)分析師感覺難以準確理解,增加了溝通的難度。
在這種情況下,借助生成式人工智能對老舊代碼庫進行深度分析,不僅可以更快速生成文檔,而且可以確保文檔符合業(yè)務(wù)分析師的具體需求。
使用生成式人工智能的優(yōu)勢顯而易見:它將逆向工程的時間縮短了三分之二。更重要的是,減少了對領(lǐng)域?qū)<业男枨螅屗麄兛梢则v出更多時間專注于開發(fā)未來架構(gòu)。生成式人工智能不僅展現(xiàn)了在大規(guī)模理解復(fù)雜系統(tǒng)方面的巨大潛力,還有效彌補了經(jīng)常在老舊系統(tǒng)現(xiàn)代化過程中暴露的技能和知識缺口。
正因如此,我們需要認識到生成式人工智能在軟件工程中的真正價值——它不僅僅是加速代碼編寫的工具,更是提升溝通、分析和理解效率的得力助手,能夠幫助團隊成員專注于更具價值的工作。
聚焦未來架構(gòu)設(shè)計
生成式人工智能不僅能夠解放軟件工程師和架構(gòu)師的時間,讓他們更加專注于設(shè)計現(xiàn)代化系統(tǒng),還能提高設(shè)計過程的效率和深度。通過幫助工程師更快理解復(fù)雜系統(tǒng)并減少繁瑣的工作,生成式人工智能可以直接提升架構(gòu)決策的質(zhì)量。
換言之,當你面對一個沒有完整文檔(甚至根本沒有文檔)的復(fù)雜系統(tǒng)時,生成式人工智能可以幫助你更好地理解該系統(tǒng),從而做出更加明智的設(shè)計決策。
展望未來,我們可能會見證一種工具的誕生,它類似于人工智能編程助手,專門幫助優(yōu)化架構(gòu)思維。這類工具不僅能幫助架構(gòu)師和工程師更輕松地驗證設(shè)計決策,還能幫助他們更全面地思考問題,降低盲點的風險,確保設(shè)計決策符合最佳實踐和成熟的架構(gòu)原則。
需要注意的是,生成式人工智能并不能完全替代設(shè)計討論,但可以讓這些討論更高效。這意味著,團隊能夠更迅速地完成工作,同時最終產(chǎn)出的架構(gòu)方案也會更具影響力。
管理風險與提升彈性
啟動老舊系統(tǒng)現(xiàn)代化項目往往讓人感到不安,因為這感覺是在將自己置于不必要的風險之中。如果現(xiàn)有系統(tǒng)運行良好,為什么要進行重建?但實際上,如前文所述,不進行現(xiàn)代化會讓企業(yè)面臨更大的風險,這既包括安全風險也包括商業(yè)風險。
生成式人工智能能夠針對系統(tǒng)提供更清晰的洞見,助力降低風險并提升系統(tǒng)彈性。例如,生成式人工智能可以幫助擴展測試用例,大幅縮短人工操作的時間,同時也能幫助評估架構(gòu)決策是否合理優(yōu)化。
簡而言之,將生成式人工智能作為老舊系統(tǒng)現(xiàn)代化項目的基礎(chǔ),可以讓你增強信心,確保系統(tǒng)按照預(yù)期運行。從長期來看,隨著現(xiàn)代化進程的推進,系統(tǒng)問題將逐步減少,團隊的工作效率和生產(chǎn)力也會得到提升。
為老舊系統(tǒng)現(xiàn)代化奠定堅實基礎(chǔ)
老舊系統(tǒng)現(xiàn)代化項目總是讓人感到壓力重重。不過,生成式人工智能可以幫助團隊減輕工作負擔,讓任務(wù)變得更加可控,同時滿懷信心地加快交付進程。
雖然生成式人工智能已經(jīng)備受關(guān)注,但現(xiàn)在是時候超越一時的熱度,深入挖掘其真正的價值了。將生成式人工智能融入軟件開發(fā)的各個環(huán)節(jié),能夠釋放出巨大的戰(zhàn)略潛力,發(fā)揮深遠且持久的作用。現(xiàn)在就是最佳時機,抓住機會挖掘生成式人工智能的潛力,為企業(yè)創(chuàng)造長期價值。