軟體專案管理(CMM)經驗談(2)(轉)

ger8發表於2007-08-15
2  開發規範概述
2.1 應用專案管理管理開發過程
產品部接受的各種開發任務均以專案形式出現,包括:新產品開發,產品維護(錯誤修改、功能增強、缺陷完善等),產品客戶化開發及維護等,全程使用專案管理方法進行控制和管理。
根據專案規模和難易有大、小,繁簡之分。每個專案的完成周期要控制在6個月以內,專案規模控制在60個人月內。過大的專案需要拆分成多個小的專案來完成。30個人月以上的專案稱為大專案,10個人月以內的專案稱為小專案。
每個專案要根據具體情況拆分成工作階段,即里程碑,以便對專案進度的有效控制與檢測。
2.2 標準的階段性開發工作
2.2.1 總體規劃
全面規劃專案工作的內容,確定目標市場、技術指標和應用要求,劃定專案工作範圍和交付成果,明確專案實現的總體設想和實施方案;確定專案中的新技術的可行性;明確專案需要用到的各種資源,估算專案的工作量和成本。
2.2.2 專案立項
產品部對要進行的開發專案進行立項申請,提交專案資料。由公司的有關人員對專案進行一系列的風險評估。
透過風險評估的專案,由產品部進行詳細進度計劃安排,落實時間進度、資源(人員/裝置、內部/外部)、技術、資金和費用等,相關資源和資金使用計劃要詳細列出。
最後所有的專案申請資料、風險評估報告及產品進度計劃都要報給公司上級領導審批,進行立項評審。
立項透過的專案才能進入正式的開發工作。
2.2.3 需求分析
根據專案需求報告界定的工作範圍和應用方案的設計思路,進一步深入細化應用方案,描述將要開發出計算機系統中包含的各項業務是如何做的,及業務流程、相關理論、運算公式、原理、業務資料、單據報表格式等。
2.2.4 系統分析
根據專案需求分析,對將要建立的滿足使用者需求的計算機系統進行分析。在系統分析過程中採用物件導向分析技術(OOA)劃分需求的問題域,對每一個問題域進行分析和抽象,對其中的事物和它們之間的關係產生正確的認識,找出描述問題域及其系統責任所需的類及物件,定義這些類和物件的屬性與服務,以及它們之間所形成的結構、靜態聯絡和動態聯絡。最終產生一個符合使用者需求,並能夠直接反映問題域和系統責任的物件導向的分析模型。
2.2.5 系統設計
根據專案需求分析和系統分析,針對具體實現中的人機介面、資料儲存、任務管理等內容,運用物件導向設計技術(OOD)進行系統設計。主要包括UI設計、物件設計和資料庫表設計。
2.2.6 編碼實現
根據系統設計的結果,運用物件導向的方法進行程式編碼(OOP)以實現系統設計的內容。
編碼過程就是用具體的資料結構來定義物件的屬性,用具體的語言來實現服務流程圖所表示的演算法。在物件設計階段形成的物件類和關係最後被轉換成特殊的程式設計語言、資料庫或者硬體的實現。
2.2.7 專案測試
對系統分析、系統設計、程式編碼等運用物件導向的方法進行測試(OOT)。專案的測試工作貫穿專案的整個開發過程。主要包括:分析(OOA)測試、設計(OOD)測試和編碼(OOP)測試,以及整合測試和系統測試。
2.2.8 文件製作
跟隨專案開發過程應產生的文件主要包括三類:
(1)開發文件:分析、設計、編碼、測試以及各種開發管理文件等資料;
(2)使用者文件:線上幫助,安裝指南,使用手冊,技術手冊,培訓教材等;
(3)宣傳資料:產品介紹資料,產品白皮書,產品宣傳PPT,演示光碟等。
2.2.9 專案驗收
對完工的專案按照驗收步驟進行驗收。驗收過程中對專案的情況給予評價。
2.2.10 專案版本化釋出
對驗收透過的專案進行版本控制,整理專案版本包含的內容並版本化,釋出產品釋出通告。
2.3 專案組織
每個專案指定一個專案經理進行管理,同時指定一個分析、設計人員(來自分析設計組)負責對技術問題的管理。當任務涉及到多個職能組的工作時(有些專案可能只涉及單一的職能組),由專案經理根據專案工作安排與職能組的組長進行協調,由職能組的組長來協助安排本組承擔的專案工作,指定組內人員來完成相關工作。專案經理根據各職能組長的安排彙總編制整個專案的進度計劃,並根據最終形成的專案計劃對專案進行控制和管理。
專案進行過程中需按照專案管理的要求對專案進行跟蹤、總結,各職能組的人員要對這些工作給予積極的支援和配合。產品委員會(或產品部內部)不定期組織人員對專案進行審查,確保專案的進度和質量。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7839396/viewspace-958447/,如需轉載,請註明出處,否則將追究法律責任。

相關文章