;
對軟件開發(fā)實施管理
那么如何避免失敗,提高成功率呢?欒躍表示,培養(yǎng)和提高軟件開發(fā)管理能力,學習軟件開發(fā)項目的基本知識,在團隊中培養(yǎng)和使用從事項目管理的專業(yè)人員進行開發(fā)管理,在企業(yè)內推廣良性的開發(fā)管理運作流程,免除運作的隨機性和任意性,建立可重復性的操作,建立開發(fā)歷史的數據檔案,逐漸為團隊建立一套嚴格的開發(fā)流程的規(guī)章制度等是提高軟件開發(fā)成功率的要素。
此外,軟件開發(fā)需要能夠盡早地發(fā)現(xiàn)錯誤,改正錯誤。錯誤發(fā)現(xiàn)得越晚,對于軟件開發(fā)造成的損失越大。例如,如果在需求分析階段發(fā)生錯誤,那么最多就是把需求分析寫一遍。損失的是一個人的勞動,而如果到了測試階段發(fā)現(xiàn)了需求錯誤,再回去重新做需求分析,那么損失可能是致命的。
軟件開發(fā)工作需要三大支柱,首先需要最基本的技術和技巧,這是具體的開發(fā)工作,包括軟件架構和編碼工作。其次是團隊的協(xié)作,現(xiàn)代軟件開發(fā)需要大量技術人員,如何很好地協(xié)作是一個巨大的挑戰(zhàn)。最后是現(xiàn)代化節(jié)省型生產模式的運用。通常人們容易忽略第二、第三項,這也是項目經理需要引起重視的要點。
軟件開發(fā)項目的成功需要整個開發(fā)部門使用統(tǒng)一的管理工具,各個開發(fā)團隊能夠進行高效的溝通和協(xié)作,各個開發(fā)團隊按照統(tǒng)一的運作流程進行操作。這三點是絕對不可缺少的。
總之,在軟件開發(fā)過程中,軟件管理包括以下方面的工作:決定項目啟動時間,確定項目范圍,制定項目任務的重要性和優(yōu)先順序,確定具體的項目工作任務和工作單元,分配項目資源,估算完成工作任務單元的時間,制定項目時間表,計算并管理項目費用,項目執(zhí)行管理,項目收尾。
高效的項目管理需要借助優(yōu)秀的工具,現(xiàn)代化的管理工具可以為你提供關鍵的幫助,幫助你推行管理的流程模式。現(xiàn)代化的管理工具提供項目進度追蹤的各種手段,如時間表、糾錯狀態(tài)、工作任務完成狀態(tài)等,提供幫助整個團隊進行溝通和信息分享的手段并推動開發(fā)流程不斷的自我優(yōu)化。微軟的Visual Studio Team System(VSTS)就是這樣的工具,它幫助用戶達到事半功倍的開發(fā)效果。
使用工具控制開發(fā)周期
軟件開發(fā)包括五個基本流程:啟動、計劃、執(zhí)行、控制和結束。其中最重要的是軟件開發(fā)生命周期具有重復性的特點,比如開發(fā)過程經常從控制測試階段返回到計劃階段,然后再重新進行設計執(zhí)行工作。這種循環(huán)就是軟件生命周期的不斷循環(huán)。軟件開發(fā)管理的目標就是讓這個循環(huán)變得更快,盡早盡快地發(fā)現(xiàn)問題,并返回糾正問題。在一個開發(fā)過程中,可能需要多次進行循環(huán)。作為項目經理,就需要使用VSTS這樣的好工具,控制循環(huán)過程。
欒躍表示,微軟就是按照這樣的方法進行開發(fā)的。定義每個階段、每個里程碑,同時定義到達某個里程碑之前需要做的工作。在微軟,更改管理是非常嚴格的,找到錯誤之后,程序員不可以隨便更改,必須經過嚴格的審查,通過進一步的調查來判斷是否有足夠的證據表明這個錯誤可以修改。修改完成后,測試工程師必須對修改進行驗證。
開發(fā)過程中,需要團隊進行良好的協(xié)作。微軟根據軟件開發(fā)團隊的成熟級別進行分類,總結出五種類型(參見本文附表)。欒躍表示,目前大部門軟件公司只能達到第一級,微軟很多剛成立的小型團隊只能達到第二級?,F(xiàn)在大部分團隊正在向第三級前進。使用VSTS就可以讓團隊達到第三級別。如果開發(fā)團隊還停留在第一級或第二級,那么就還有很多工作要做。
其實,成功的軟件開發(fā)需要貫徹執(zhí)行項目管理的實踐來降低你開發(fā)項目的風險,努力提高你的開發(fā)團隊的協(xié)作和溝通能力。