項目管理的保證
項目管理的主要目標是保證項目在規定時間內高質量的完成項目。項目管理包括了項目組開發各階段的人員結構的配置,質量控制的實施方略,內部文檔和產品文檔的組織編寫等各項工作。
開發項目按照規范化軟件的生產方式進行生產,在生產流程上采用ISO9000的標準進行。項目開發參與的角色有項目經理,項目負責人,領域專家,系統分析員,程序員,測試組,技術支持部,質量監督組,文檔組。下面各個角色一一說明其主要職責。
項目經理
主要負責該項目開發商在開發和維護的過程中同客戶的商務接洽和開發配合方面的事物,包括:項目合同的簽定;提交開發計劃給客戶; 組織客戶與分析人員進行需求確定; 組織客戶階段性驗收; 協調客戶提供測試環境; 監督項目進度與質量; 提供開發人員所需的各種人力物力資源; 負責項目開發過程中客戶、開發項目組、質量監督部,文檔組等相關部門的聯絡與溝通。
項目的開發采用項目負責人責任制。項目的開發由項目負責人全權負責,負責的范圍包括: 項目開發計劃的制定; 開發方法的確定; 技術規范的編制; 項目各階段的人員配給與人員之間的配合; 各階段文檔的生成和版本編號。
領域專家
主要責任是協同系統分析員認清領域邊界,確定領域內容。領域專家可以由客戶抽調技術骨干擔任,也可以由開發商聘請擔任。領域專家在開發過程中主要參與的階段是系統需求分析,在明確了系統將來要完成的主要任務之后,領域專家的職責轉向系統用戶界面的確定上。開發出的系統能被客戶接受的兩個重要指標一個是系統正確性,即系統是否正確的完成了用戶希望它完成的任務;第二是系統操作的便捷性。便捷主要受到使用系統的客戶的操作習慣的制約。領域專家往往是多年從事該項工作的人員,他們的使用習慣會對系統的易用性非常有幫助。領域專家參與的開發階段受到開發方式的影響。
系統分析員
系統分析員是系統開發方法的貫徹者和系統實現的指導者。分析人員主要參與開發階段的需求分析和系統設計兩個階段(這兩個階段并不是截然分開的,由開發方式的不同,可能會貫穿整個開發工期)。
首先系統分析員和領域專家一起對領域進行分析,確定領域邊界和領域內容。在完成這項任務后,系統分析員應當提交《系統需求報告》。《系統需求報告》由領域專家確認之后交給質量監督組進行復審,復審完畢由文檔組進行文檔規范化,進行存檔和版本編號,與此同時,規范化的《系統需求報告》由項目經理轉交給客戶進行復審(項目經理對《系統需求報告》的內容格式等有審查的義務)。
客戶復審完畢之后通過項目負責人轉交給系統分析員進行更新修正,并對版本進行升級。之后再經質量監督組和文檔組等環節進行流轉,直到該報告無須進行再流轉為止。 接下來系統分析員的一項主要任務是對領域進行分析和映射,構造系統構架,即進行體系結構的設計。
參與的系統分析員在不止一個時,首先由分析員委員會進行體系結構設計,當體系結構基本確定之后,定義分組和分組之間的接口,特別對將來需要密切接口的部分要進行詳細定義,包括彼此間的"通訊協議",時間及方式等等。完成該項工作后必須產生《體系結構設計說明》。《體系結構設計說明》生成后由項目負責人提交給質量監督組進行復審,復審通過之后,由文檔組進行格式化和版本編號并存檔。《體系結構設計說明》的完整流轉過程在開發商內部,客戶并不介入。
程序員
為了有效的利用領域專家的資源,在體系結構設計的同時,可以由系統分析員的指導之下,由程序員進行界面原形的開發。界面原形由領域專家進行評審。評審通過后由客戶進行復審。界面原形跳過質量監督由文檔組進行格式化和存檔。質量監督有了解和監督界面原形變化的責任。 程序員參與系統詳細設計,主要負責系統的實現工作,并對測試組提供相應的測試資源。由于詳細設計的詳細程度不易把握,有程序員參與的情況下,系統分析人員與程序員的交流會有助于系統開發進度。在項目代碼生產的后期,程序員要進行相應的白盒測試。之后,可執行體提交到測試組進行測試。《系統詳細設計說明》由分析員和程序員共同完成。通過項目負責人轉交質量監督組進行復審,復審通過后,由文檔組進行格式化和版本編號,并存檔。
測試組
主要進行軟件的測試工作。上面提到程序員在交給測試人員之前是進行過一定的白盒測試的。測試人員根據詳細設計的文檔對軟件要實現的功能進行一一測試,保證軟件的執行體正確的實現設計要求,在此也只證明了軟件正確的反映了設計思想,但是否真正反映了用戶的需求仍需要進一步的測試。在正確性測試完成之后,需要測試的是軟件的性能,軟件的性能在本項目中占有重要的地位,性能要求有可能改變軟件的設計,為避免造成軟件的后期返工,測試在性能上需要較大的側重。
同樣,測試在不同的階段需要不同的"輸入"與"輸出"。在正確性測試階段,不需要太詳細的測試計劃和測試策略的設計。而在性能測試時,需要分析人員提出測試策略和測試用例,質量監督組同樣會提出他們認為必要的測試策略和測試用例,后者提出的測試策略和測試用例被認為是對前者的抽樣調查。無論是前者還是后者提出的測試策略和測試用例,都由測試組組織實施。
質量監督組
保證軟件透明開發的主要環節。在項目開發的過程中幾乎所有的部門都與質量監督組有關。質量監督組對項目經理提供項目進度與項目真正開發時的差異報告,提出差異原因和改進方法。在項目進度被延滯或質量監督組認為某階段開發質量有問題時,提請項目經理、項目負責人等必要的相關人員舉行質量會議。解決當前存在的和潛在的問題。質量監督是建立在文檔的復審基礎之上,因而文檔版本的控制,特別是軟件配置管理,直接影響軟件質量監督的影響力和力度。文檔組則是保證軟件質量監督的得以實施的重要保證。
質量監督組的監督范圍包括: 系統分析人員是否正確的反映了用戶的需求; 軟件執行體是否正確的實現了分析人員的設計思想; 測試人員是否進行了較為徹底的和全面的測試; 文檔組是否對文檔的規范化進行的比較徹底,版本控制是否有效;