軟件開發(fā)9大角色分析
2015-06-18 15:35:30 訪問:
隨著軟件公司規(guī)模的不斷膨脹和軟件開發(fā)技術(shù)的發(fā)展,軟件開發(fā)的分工和組織也變得越來越復(fù)雜,如何合理的組織和分工越來越成為能否成功軟件開發(fā)的一個決定性因素。
對一個軟件或者一項軟件工程來說,參與角色通常包括如下幾種: 高級經(jīng)理,軟件產(chǎn)品經(jīng)理或軟件項目經(jīng)理,軟件開發(fā)經(jīng)理,設(shè)計師,測試經(jīng)理,軟件開發(fā)人員,測試人員,軟件項目實施人員
高級經(jīng)理 具體參與軟件項目或軟件產(chǎn)品的時間并不多,但對軟件項目的成敗卻起到了至關(guān)重要的作用。通常高級經(jīng)理參與軟件項目過程中各個關(guān)鍵環(huán)節(jié)的活動,關(guān)注軟件產(chǎn)品軟件開發(fā)的進度,對風(fēng)險控制、資源提供做出決策。
軟件產(chǎn)品經(jīng)理 (軟件項目經(jīng)理)作為客戶方和公司內(nèi)部交流的紐帶,對軟件項目過程進行監(jiān)控,對軟件項目的進度、質(zhì)量負(fù)責(zé)。軟件產(chǎn)品經(jīng)理應(yīng)該是軟件工程領(lǐng)域內(nèi)的專家,但不一定是業(yè)務(wù)領(lǐng)域內(nèi)的專家。軟件產(chǎn)品經(jīng)理的基本活動包括:制定計劃、協(xié)調(diào)資源、關(guān)注和控制計劃進度、控制客戶期望值。其中控制客戶期望值這一項在工程性質(zhì)的軟件項目中尤其重要。
軟件開發(fā)經(jīng)理 是具體軟件開發(fā)過程的領(lǐng)導(dǎo)者,必需由熟悉業(yè)務(wù)和軟件開發(fā)技術(shù)的專家擔(dān)任。軟件開發(fā)經(jīng)理的職責(zé)是界定需求,確定適當(dāng)?shù)募夹g(shù)構(gòu)架和體系,保證軟件按照設(shè)計的標(biāo)準(zhǔn)軟件開發(fā)。
設(shè)計師 是軟件藍圖的設(shè)計者。通常設(shè)計師可以分需求分析師、構(gòu)架設(shè)計師、業(yè)務(wù)設(shè)計師三種,在小規(guī)模的軟件開發(fā)團隊中,這三個角色通常由一個人承擔(dān)。設(shè)計師一定是業(yè)務(wù)領(lǐng)域和技術(shù)領(lǐng)域內(nèi)公認(rèn)的專家,具有豐富的軟件項目經(jīng)驗,能夠準(zhǔn)確把握客戶需求并提供可行的實現(xiàn)思路。設(shè)計師的基本活動包括:進行需求分析、進行構(gòu)架設(shè)計和功能設(shè)計,按照規(guī)范編寫相應(yīng)的文檔,將設(shè)計思路傳播給軟件開發(fā)人員、測試人員。
測試經(jīng)理 是測試活動的領(lǐng)導(dǎo)者,是公司內(nèi)部認(rèn)定的軟件產(chǎn)品質(zhì)量責(zé)任人(軟件項目經(jīng)理是對外的軟件質(zhì)量責(zé)任人)。測試經(jīng)理的責(zé)任是計劃和組織測試人員對目標(biāo)軟件產(chǎn)品進行測試,發(fā)現(xiàn) bug 、跟蹤 bug 直到解決 bug ;計劃和組織用戶培訓(xùn)工作。
軟件產(chǎn)品經(jīng)理、軟件開發(fā)經(jīng)理、設(shè)計師、測試經(jīng)理作為一個軟件項目的高層,對軟件項目的成敗起關(guān)鍵作用。
軟件開發(fā)人員 根據(jù)設(shè)計師的設(shè)計成果進行具體編碼工作,對自己的代碼進行基本的單元測試。通常 3 ~ 4 個軟件開發(fā)人員組成一個軟件開發(fā)小組,由一個 team leader 帶領(lǐng)進行軟件開發(fā)活動。軟件開發(fā)小組 team leader 由小組內(nèi)技術(shù)和業(yè)務(wù)比較好的成員擔(dān)任。 team leader 通常還負(fù)有進行詳細(xì)設(shè)計和走查小組成員代碼的職責(zé)??紤]到 team leader 需要進行詳細(xì)設(shè)計、編寫文檔,和小組成員進行溝通,因此一個 team leader 的軟件開發(fā)任務(wù)不能超過軟件開發(fā)人員的平均任務(wù)量。對軟件開發(fā)人員而言,必需具備軟件產(chǎn)品軟件開發(fā)所需要基本技術(shù)、技能,比如編程語音、數(shù)據(jù)庫應(yīng)用軟件開發(fā)經(jīng)驗等。如果發(fā)現(xiàn)軟件開發(fā)人員不完全具備這些技能,軟件開發(fā)經(jīng)理和軟件項目經(jīng)理應(yīng)該提供必要的內(nèi)部或外部、培訓(xùn),以使軟件開發(fā)人員具備這些必要的技能。
測試人員 根據(jù)測試經(jīng)理的計劃和測試總體方案對目標(biāo)軟件產(chǎn)品進行測試,編寫測試 case 和測試代碼,發(fā)現(xiàn)和跟蹤 bug ;編寫用戶手冊;進行用戶培訓(xùn)和教育。測試人員介入軟件項目的時機從理論上講越早越好,但考慮到測試人力資源,通常在需求分析確定后介入比較合適。對測試人員而言,除了要求和軟件開發(fā)人員相同的技術(shù)技能外,還應(yīng)該熟悉測試?yán)碚摵蜏y試方法,盡可能做到總是站在使用者的角度觀察和思考問題。
軟件項目實施人員 是針對工程性質(zhì)的軟件項目必需的人員配置。軟件項目實施人員負(fù)責(zé)軟件系統(tǒng)安裝配置、系統(tǒng)割接、運行期間的維護工作。
軟件項目開始前,軟件項目成員必需明確自己所在的崗位和需要承擔(dān)的責(zé)任。軟件項目組織的過程中,必需遵循的一個原則是軟件項目組盡量小型化、靈敏化,保證溝通順暢和高效,通常一個小型軟件項目組的成員不超過 20 人。對大型軟件項目,應(yīng)該進行更詳細(xì)、精確的拆分,保證一個軟件項目經(jīng)理管轄的成員不超過 20 人。