項目組織結(jié)構(gòu)設計完成后,相當于人的一個基本骨架基本形成。緊接著還必須為項目組織中各種角色的崗位職責進行清晰描述,這樣才能構(gòu)成一個完整的機體。在軟件項目中,主要角色和職責描述如下:
高層經(jīng)理:
審核批準項目實施計劃;
負責項目實施過程中的重大事件的決策;
根據(jù)項目過程中的進度、質(zhì)量、技術(shù)、資源、風險等實行宏觀監(jiān)控;
協(xié)調(diào)項目組織中各相關(guān)方的工作關(guān)系。
項目經(jīng)理:
根據(jù)項目進展及工作要求整合工作計劃,并監(jiān)督實施,控制進度;
協(xié)調(diào)項目組內(nèi)人員的分工合作,資源分配;
向公司匯報項目狀況,提出建議及改進措施;
與用戶進行有效的溝通協(xié)調(diào),并爭取關(guān)健用戶的支持。
軟件架構(gòu)師:
負責用戶需求匯總和分析;
負責系統(tǒng)總體設計;
指導設計師的詳細設計;
配合系統(tǒng)的集成測試。
測試小組:
負責計劃和實施對軟件的單獨系統(tǒng)測試,以確定其軟件產(chǎn)品是否滿足其需求;
質(zhì)量小組:
負責計劃和實施項目的質(zhì)量保證活動,以確保軟件開發(fā)活動遵循軟件過程規(guī)程和標準。
配置經(jīng)理:
負責計劃、協(xié)調(diào)和實施項目的正規(guī)配置管理活動。
系統(tǒng)工程師:
負責說明系統(tǒng)需求,分配系統(tǒng)需求到硬件、軟件和其他部件,規(guī)格說明硬件、軟件和其他部件之間的接口,并監(jiān)督這些部件的設計和開發(fā),以確保符合規(guī)格。
客戶代表:
負責項目原始需求的收集;
參與需求評審和需求變更控制;
負責系統(tǒng)確認測試的實施。
注:在中型、小型的軟件項目組織中,部分角色可以兼任,但是SQA和系統(tǒng)測試小組應保持其獨立運行。SQA組(質(zhì)量小組)可越過項目經(jīng)理向高層經(jīng)理直接進行報告;測試小組也可不依賴軟件開發(fā)人員,來計劃和準備系統(tǒng)驗收測試用例以及測試規(guī)程。另外,角色種類還要依據(jù)具體項目而定,例如在有的軟件開發(fā)項目中,還有設置有產(chǎn)品經(jīng)理角色。
四、軟件項目生命周期及參與角色
軟件開發(fā)項目中,有幾種常見的生命周期模型,如瀑布模型、增量模型,螺旋模型、原型開發(fā)、倒V模型等。不同生命周期的應用要根據(jù)項目所處的環(huán)境而定。在本文中,將以倒V模型為例進行說明。
倒V模型按軟件生命周期共分為10個階段,分別為:需求搜集;需求分析;系統(tǒng)分析;概要設計;詳細設計;編碼和單元測試;組件測試;集成測試;系統(tǒng)測試;驗收。示例圖如下:
圖十:軟件生命周期-倒V型圖
從上圖中可以出倒V型圖中的左邊活務與右邊活務是有著一種對應關(guān)系,也即左邊的輸出為右邊的輸入條件。從投入產(chǎn)出角度來分析,左邊為投入,右邊為產(chǎn)出。整個過程構(gòu)成了一個完整的生命周期模型圖。