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