3.4 開發(fā)組人員構(gòu)成
根據(jù)軟件開發(fā)項目組織的角色劃分,對于中等以下規(guī)模的軟件開發(fā)項目組基本包括如下幾類人員:
、 產(chǎn)品管理人員:(產(chǎn)品管理與用戶培訓(xùn)角色)
② 軟件開發(fā)人員:(程序管理與開發(fā)角色 )
、 軟件測試人員:(測試角色 )
一般而言,產(chǎn)品管理人員同時擔負用戶培訓(xùn)的角色。程序管理角色一般由項目經(jīng)理承擔,而隊后勤支持角色一般由研發(fā)部和公司統(tǒng)一承擔,或由公司的信息系統(tǒng)管理人員協(xié)助完成。圖6表示項目組的人員結(jié)構(gòu)及承擔的相關(guān)工作。
3.5 開發(fā)人員技術(shù)結(jié)構(gòu)
宏觀上講,軟件開發(fā)機構(gòu)基本可分為二種角色,管理角色和技術(shù)角色。不同角色各有其不同的發(fā)展方向,如圖7所示。
不論是走技術(shù)路線還是管理路線,不存在那種角色地位更高的問題。高級架構(gòu)設(shè)計師與部門經(jīng)理具有同等的地位與待遇。
4. 軟件開發(fā)的階段劃分及目標
軟件開發(fā)進行階段劃分主要有以下三方面優(yōu)點:
1) 有利于軟件質(zhì)量控制;
2) 便于項目進度控制與管理;
3) 有利于項目成本費用控制;
4.1 軟件開發(fā)的階段劃分
雖然軟件開發(fā)與工程設(shè)計有其相似之處,但由于其所處的領(lǐng)域不同,發(fā)展歷史與人文環(huán)境也有一定的差別,完全照搬工程設(shè)計的管理模式也存在一些弊端。下面國外流行的軟件開發(fā)模式與工程設(shè)計理論及原始的軟件開發(fā)做以簡單比較,見圖8。
原始的軟件開發(fā)模式很是簡單,有些項目連需求分析都不完整,軟件測試只是相當于模塊集成一級的測試,沒有規(guī)范的軟件測試。軟件質(zhì)量取決于編程者個人的技術(shù)水平,質(zhì)量無法保證,也很難控制。在滿足用戶需求方面取決于編程者個人的理解,軟件交付后經(jīng)常發(fā)生大面積的修改。項目似乎完成得很快,交付后大面積的修改經(jīng)常導(dǎo)致延誤工期,修改后的軟件缺乏必要的測試手段,往往導(dǎo)致極大的售后服務(wù)支持成本。造成項目表面贏利、實際虧損的局面。
軟件工程理論指導(dǎo)下的軟件開發(fā)管理模式也存在一定的問題,那是有些環(huán)節(jié)的可操作性較差,主要表現(xiàn)在需求分析到總體設(shè)計這個環(huán)節(jié)。需求分析是文檔性的描述,一般是軟件開發(fā)人員對用戶需求的一種理解,這種文字描述一般很難精確可視地展現(xiàn)未來軟件的情況,而用戶也很難說清楚自己的需求,這使得用戶很難鑒別需求分析的精確性。往往導(dǎo)致軟件交付后的大量修改。有一篇“Client / Server軟件開發(fā)常犯錯誤”的文章說得好,“用戶不知自己需要什么樣的系統(tǒng),但知道不要什么樣的系統(tǒng)”。