- 軟件項目管理案例教程(第5版)
- 韓萬江 姜立新等編著
- 3308字
- 2025-01-22 14:10:42
1.5 AI時代的軟件項目管理
1.5.1 AI時代的軟件工程
AI正在顛覆一切,軟件工程也不例外。生成式人工智能(AIGC)在編碼、設計、測試和DevOps方面的最新成果令人印象深刻。在智能化時代,項目管理也隨著發生了變化,借助AI技術,軟件項目實施流程得以精簡,甚至實現了端到端的一站式軟件項目流程,因此軟件項目管理過程也需要精簡。
AIGC是人工智能的一個分支,專注于創建和生成新的內容,如圖像、文本、音頻甚至視頻,這些內容很難與人類生成的內容區分開來。最近,由于大型語言模型(LLM)的進步,以及OpenAI、Stable Diffusion和其他大廠的產品的發布,AIGC備受關注。雖然很難量化AIGC的準確傳播范圍,但可以肯定的是,研究人員、開發人員和軟件從業人員正在積極探索和利用AIGC的各種功能,如圖像和文本生成、音樂和聲音合成、視頻生成、虛擬人物和數字人創建以及數據增強。軟件工程是AI革命的一部分,而AIGC可以使軟件開發生命周期(SDLC)的各個階段得到顯著改善。
由于軟件具有天然的數字化特性,軟件工程尤其適合借助AIGC的力量。具體的工程任務,如數值分析和數據工程、文檔編制、編碼和質量控制,在某種程度上可能是重復性的,因此,非常適合由訓練有素的AI模型提供幫助。其次,復雜的算法代碼結構適合由AI助手生成。此外,軟件開發人員面臨的許多挑戰可能已經解決。因此,對于訓練有素的AI模型來說,代碼模塊已經可用,生成整個函數或類也就變得可行了。AIGC是加速軟件開發的有力工具。對于依賴于創建、維護或銷售軟件的公司來說,使用正確的AIGC工具可以提高開發人員的效率、創造超越競爭對手的機會。企業可以通過多種方式利用AIGC工具,包括開發人員的優化和培訓、為關鍵工程任務啟用AIGC工具等。
眾所周知,AI具有為技術組織增值的巨大潛力,例如AI能直接為以下軟件工程活動提供幫助。
? 需求開發方面:可以幫助我們更準確地理解和記錄需求,協助起草和完善用戶故事或用例。
? 設計方面:可用于生成設計建議或對問題進行創意性的解決方案頭腦風暴,協助起草設計文檔或架構圖。
? 編碼方面:提供代碼片段、建議或幫助開發人員了解復雜的編程概念,生成偽代碼或解釋代碼邏輯。
? 代碼生成:GitHub Copilot、CodeWhisperer、CodeArts Snap等AI工具可以根據簡單的文本提示生成整個代碼。但使用代碼生成的功能還是需要謹慎,因為該工具只是提供了模板代碼,沒有達到預期效果。不能盲目相信生成的代碼,開發人員仍處于主導地位。檢查代碼的準確性、完整性和錯誤對于AI驅動的開發人員工作流程至關重要。
? 代碼解釋:作為開發人員,我們有時會加入一個項目或繼承復雜的應用程序代碼。我們可能需要花好幾天的時間才能理解項目的結構和代碼的工作原理,尤其是在文檔很少的情況下。在這種情況下,ChatGPT可以幫助開發人員解釋代碼,幫助開發人員減少閱讀、理解和解釋現有應用程序代碼所需的時間,并進一步幫助開發人員加快入職或在新代碼庫中提高工作效率。
? 集成方面:解決合并代碼或在整合軟件各部分時出現的問題。
? 測試方面:根據需求和設計生成測試場景、邊緣案例或測試腳本。協助分析測試結果,識別缺陷并提出可能的解決方案。
總之,AIGC的出現為技術團隊提供了提高效率的工具和技術。團隊可以創建更好的軟件產品,縮短開發生命周期,并對新原型進行市場測試,從而接觸到更多客戶,提高團隊效率。
1.5.2 智能化時代的軟件項目管理
隨著人工智能技術的不斷發展,軟件項目管理領域也在逐漸借助AI技術來提升效率、質量和創新力。在傳統的軟件項目管理中,項目計劃、資源分配、進度跟蹤等環節通常由項目經理和團隊成員手動完成,存在一定的主觀性和復雜性。AI驅動的軟件項目模型引入了機器學習、自然語言處理、數據分析等技術,通過對歷史項目數據的學習和對實時數據的分析,提供更智能的、預測性的項目管理決策支持。
2023年年底,PMI通過對“AI正在對項目管理產生的影響”進行調查,發現21%的受訪者提到他們正在使用AI,82%的高層領導認為AI會對項目產生一定的影響,91%的受訪者認為AI會對行業產生一定的影響。
智能化時代對軟件項目開發和軟件項目管理都帶來了深刻的影響,我們要透過現象看本質,面向未來,洞察趨勢,看到軟件研發的范式(開發軟件的本質)正在朝著一個新的方向邁進。
簡單來說,AI對于軟件項目管理的影響如下。
? 降本增效:通過精簡流程、節省人力資源,AI可以有效降低組織運營的成本。AI和GAI可以自動化和優化許多煩瑣和重復的任務,從而減少人工干預和人為錯誤,提高工作效率和生產力。項目人員還可以用其書寫基礎代碼、基礎文檔等。
? 理解用戶需求:AI和GAI還可以提供更準確、更及時和更個性化的數據和見解,從而幫助員工更好地理解和滿足客戶需求,提高客戶滿意度和忠誠度。
? 項目決策能力提升:AI和GAI的數據處理能力無疑大大降低了數字化轉型的難度和門檻。通過大數據分析、模型建模、情景模擬等方式,AI和GAI能夠更有效地發現項目隱藏的問題和規律,提供新視角,輔助人類進行更科學、更高效的決策。
? 重塑組織結構:由于AI和GAI工具的使用,某些分工和角色將不再存在,或者不再重要。同樣,新的角色分工會涌現出來,由此會帶來工作流程的調整和組織的重組,除了重組之外,組織的結構也會變得更加扁平。
? 新的工作方式和文化:AI和GAI可以改變項目的工作方式和文化,例如更加注重數據驅動決策、更加注重創新。由于開發人員的知識技能水平顯著提升,迭代速度將顯著加快、組織結構將更加扁平化等,可以預見的是,組織的敏捷程度會大大提升,敏捷文化會得到加強。
軟件項目管理者需要重新構建軟件項目管理戰略。
? 重新定位AI。AI在項目中的輔助角色可以變為重要角色,在需求、設計、評審和重構代碼過程中承擔工作。
? 構建或者使用軟件項目管理大模型的能力。優先引入/開發LLM編程/測試助手,其次,引入/開發LLM BA/Ops助手,再引入/開發LLM調度/任務管理工具,最終形成基于LLM的工程平臺。從頭開始訓練一個自定義模型的難度比較高,微調一個基礎模型的難度適中,通過進一步的專有或特定領域數據的額外訓練來更新預訓練模型的權重。使用預先訓練好的模型并檢索相關背景,通過收集數據將其轉化為嵌入并存儲在一個矢量數據庫中,當查詢發生時,搜索這些嵌入數據以獲得相關的背景,并將其提供給模型。這種做法難度最低,當然,直接使用第三方的LLM API沒有難度,但有安全風險。
? 團隊組織與流程優化。人始終是決定性因素,需要高度重視組織重構和人才培養。
〇 組織需要優化,團隊規模應縮小。
〇 組織可分解為更多、更小的特戰隊。
〇 多數角色都在,但低層次的工作崗位基本可以取消。
〇 招聘一些高端的AI專業人才。
1.5.3 智能化軟件項目管理
智能化軟件項目管理,即AI驅動下的軟件項目管理,旨在通過智能化、自動化的手段提升項目管理的水平,使團隊更好地適應快速變化的市場和技術環境。這一發展方向將為軟件項目的成功交付和持續優化帶來新的可能。新型的項目管理模型中,AI系統可以自動分析項目需求,優化資源分配,識別潛在的風險和瓶頸,并提供實時的數據洞察。通過深度學習算法,系統能夠根據項目歷史數據和實際執行情況不斷優化自身的預測和決策能力,使項目管理更加精準和高效。
人工智能在項目管理方面具有以下優勢。
? 效率和速度是第一位的:人工智能通過自動化日常工作來提高生產力,在生成報告、安排會議和發送后續電子郵件方面更快、更準確。
? 風險管理:生成式人工智能可以快速列出人員正在工作的環境中的潛在風險,可以分析歷史項目數據并預測由于某些因素而導致工期延誤或成本超支,項目經理可以提前干預。
? 輔助決策:可以通過分析超大量數據來提供建議,例如項目的優先級排序。
PMI的報告中顯示,AI在成本進度估算、成本效益分析、大規模數據集分析、風險分析等方面有一定的智能輔助作用,在項目決策、項目業務案例創建等方面有一定的智能增強作用,在會議記錄與總結、經驗學習與總結、報告撰寫等方面有一定的自動化輔助作用。報告中提到:2023年,46%的公司已經采用AI進行內部溝通,53%的公司用AI改善生產流程,51%的公司用AI進行流程自動化改進。
總之,在AI時代下的項目管理可以實現以下功能:
? 項目數據收集與分析的自動化和智能化。
? 基于數據和客觀事實的范圍、時間進度、成本、質量的評估和預測。
? 學習與利用項目流程、知識智能化、團隊協同智能化、實現人機對話。
? 項目風險的智能化預測與管理。
? 項目智能化決策支持。