2 項目概述
2.1 項目目標
設定項目目標就是把項目要完成的工作用清晰的語言描述出來,讓項目團隊每一個成員都有明確的概念。注意,不要簡單地說成在什么什么時間完成開發(fā)什么什么軟件系統(tǒng)或完成什么什么軟件安裝集成任務。
注意“要完成一個系統(tǒng)”只是一個模糊的目標,它還不夠具體和明確。明確的項目目標應該指出了服務對象,所開發(fā)軟件系統(tǒng)最主要的功能和系統(tǒng)本身的比較深層次的社會目的或系統(tǒng)使用后所起到的社會
效果。
項目目標應當符合SMART原則:
l S Specific 明確的陳述
l M Measurable 可以衡量的結果
l A Attainable 可以達成的目標
l R Realistic 合理的,現實的或者說是能和實際
工作相結合
l T Trackable 可以跟蹤的
項目目標可以進行橫向的分解也可以進行縱向的分解。橫向分解一般按照系統(tǒng)的功能或按照建設單位的不同業(yè)務要求,如分解為第一目標、第二目標等等;縱向的分解一般是指按照階段,如分解為第一階段目標、第二階段目標等等,或近期目標、中期目標、遠期目標等等。階段目標一般應當說明目標實現的較為明確的時間。一般要在說明了總目標的基礎上再說明分解目標,可加上“為實現項目的總目標,必須實現以下三個階段目標······”
2.2 產品目標與范圍
根據項目輸入(如合同、立項建議書、項目技術方案、標書等)說明此項目要實現的軟件系統(tǒng)產品的目的與目標及簡要的軟件功能需求。對項目成果(軟件系統(tǒng))范圍進行準確清晰的界定與說明是
軟件開發(fā)項目活動開展的基礎和依據。軟件系統(tǒng)產品目標應當從用戶的角度說明開發(fā)這一軟件系統(tǒng)是為了解決用戶的那些問題。產品目標如“提高工作信息報送反饋工作效率,更好地進行工作信息報送的檢查監(jiān)督,提高信息的及時性、匯總統(tǒng)計信息的準確性,減輕各級相關工作人員的勞動強度。”
2.3 假設與約束
對于項目必須遵守的各種約束(時間、人員、預算、設備等)進行說明。這些內容將限制你實現什么、怎樣實現、什么時候實現、成本范圍等種種制約條件。
假設是通過努力可以直接解決的問題,而這些問題是一定要解決才能保證項目按計劃完成。如:“系統(tǒng)分析員必須在3天內到位”或“用戶必須在8月8日前確定對需求文檔進行確認”
約束一般是難以解決的問題,但可以通過其他途徑回避或彌補、取舍,如人力資源的約束限制,就必須犧牲進度或質量等等。
假設與約束是針對比較明確會出現的情況,如果問題的出現具有不確定性,則應該在風險分析中列出,分析其出現的可能性(概率)、造成的影響、應當采取的相應措施。
2.4 項目工作范圍
說明為實現項目的目標需要進行那些工作。在必要時,可描述與合作單位和用戶的工作分工。
注意產品范圍與項目工作范圍的不同含義。
產品范圍界定:軟件系統(tǒng)產品本身范圍的特征和功能范圍。
工作范圍界定:為了能夠按時保質交付一個有特殊的特征和功能的軟件系統(tǒng)產品所要完成的那些工作任務。
產品范圍的完成情況是參照客戶的需求來衡量的,而項目范圍的完成情況則是參照計劃來檢驗的。這兩個范圍管理模型間必須要有較好的統(tǒng)一性,以確保項目的具體工作成果,能按特定的產品要求準時交付。
2.5 應交付成果
2.5.1 需完成的軟件
列出需要完成的程序的名稱、所用的
編程語言及存儲程序的媒體形式。其中軟件對象可能包括:源程序、
數據庫對象創(chuàng)建語句、可執(zhí)行程序、支撐系統(tǒng)的數據庫數據、配置文件、第三方模塊、界面文件、界面原稿文件、聲音文件、安裝軟件、安裝軟件源程序文件等等。
2.5.2 需提交用戶的文檔
列出需要移交給用戶的每種文檔的名稱、內容要點及存儲形式,如需求規(guī)格說明書、幫助手冊等。此處需要移交用戶的文檔可參考合同中的規(guī)定。
2.5.3 須提交內部的文檔
可根據《GB8567-88計算機軟件產品開發(fā)文件編制指南》附錄O:“文件編制實施規(guī)定的實例(參考件)”結合各企業(yè)實際情況調整制定《軟件開發(fā)文檔編制裁減衡量因素表》。根據《因素表》確定項目對應的項目衡量因素取值,以確定本項目應完成的階段成果。將不適用于本項目的內容裁減,以減少不必要的項目任務和資源。
根據因素取值列出本項目應完成的階段成果,說明本項目取值所在的區(qū)間,將其他因素值區(qū)間刪除。
2.5.4 應當提供的服務
根據合同或某重點建設工作需要,列出將向用戶或委托單位提供的各種服務,例如
培訓、安裝、維護和運行支持等。具體的工作計劃如需要編制現場安裝作業(yè)指導書、培訓計劃等,應當在本計劃“4.3總體進度計劃”中條列出。
2.6 項目開發(fā)環(huán)境
說明開發(fā)本軟件項目所需要的軟硬件環(huán)境和版本、如
操作系統(tǒng)、開發(fā)工具、數據庫系統(tǒng)、配置管理工具、網絡環(huán)境。環(huán)境可能不止一種,如開發(fā)工具可能需要針對
Java的,也需要針對C++的。有些環(huán)境可能無法確定,需要在需求分析完成或設計完成后才能確定所需要的環(huán)境。
2.7 項目驗收方式與依據
說明項目內部驗收和用戶驗收的方式,如驗收包括交付前驗收、交付后驗收、試運行(初步)驗收、最終驗收、第三方驗收、
專家參與驗收等等。項目驗收依據主要有標書、合同、相關標準、項目文檔(最主要是需求規(guī)格說明書)。
3 項目團隊組織
3.1 組織結構
說明項目團隊的組織結構。項目的組織結構可以從所需角色和項目成員兩個方面描述。所需角色主要說明為了完成本項目任務,項目團隊需要哪些角色構成,如項目經理、計劃經理、系統(tǒng)分析員(或小組)、構架
設計師、設計組、程序組、測試組等等。組織結構可以用圖形來表示,可以采用樹形圖,也可以采用矩陣式圖形,同時說明團隊成員來自于哪個部門。除了圖形外,可以用文字簡要說明各個角色應有的
技術水平。
注意雖然有一些通用的結構可以套用,但各種不同規(guī)模、不同形式的項目組織結構是不一樣的。如產品研發(fā)項目可能就不需要實施人員(小組),但需要知識轉移方面的人員(小組)。而軟件編碼外包的項目則不需要程序員,測試人員也可以適當地減少。
3.2 人員分工
確定項目團隊的的每個成員屬于組織結構中的什么角色,他們的技術水平、項目中的分工與配置,可以用列表方式說明,具體編制時按照項目實際組織結構編寫。以下是一個示例。

3.3 協(xié)作與溝通
項目的溝通與協(xié)作首先應當確定協(xié)作與溝通的對象,就是與誰協(xié)作、溝通。溝通對象應該包括所有項目干系人,而項目干系人包括了所有項目團隊成員、項目接口人員、項目團隊外部相關人員等等。
其次應當確定協(xié)作模式與溝通方式。溝通方式如會議、使用電話、
QQ、內部郵件、外部郵件、QuickPlace、聊天室等等。其中郵件溝通應當說明主送人、抄送人,聊天室溝通方式應當約定時間周期。而協(xié)作模式主要說明在出現什么狀況的時候各個角色應當(主動)采取什么措施,包括溝通,如何互相配合來共同完成某項任務。定期的溝通一般要包括項目階段報告、項目階段計劃、階段會議等
3.3.1 項目團隊內部協(xié)作
本節(jié)說明在項目開發(fā)過程中項目團隊內部的協(xié)作模式和溝通方式、頻次、溝通成果記錄辦法等內容。
3.3.2 項目接口人員
應當說明接口工作的人員即他們的職責、聯系方式、溝通方式、協(xié)作模式,包括:
a、負責本項目同用戶的接口人員;
b、負責本項目同本企業(yè)各管理機構,如計劃管理部門、合同管理部門、采購部門、質量管理部門、財務部門等的接口人員;
c、負責本項目同分包方的接口人員。
3.3.3 項目團隊外部溝通與協(xié)作模式
項目團隊外部包括企業(yè)內部管理協(xié)助部門、項目委托單位、客戶等等。本節(jié)說明在項目開發(fā)過程中項目團隊內部與接口人員、客戶溝通的方式、頻次、溝通成果記錄辦法等內容。明確最終用戶、直接用戶及其所在本企業(yè)/部門名稱和聯系電話。明確協(xié)作開發(fā)的有關部門的名稱、經理姓名、承擔的工作內容以及工作實施責任人的姓名、聯系電話。確定有關的合作單位的名稱、負責人姓名、承擔的工作內容以及實施人的姓名、聯系電話。
4 實施計劃
4.1 風險評估及對策
識別或預估項目進行過程中可能出現的風險。應該分析風險出現的可能性(概率)、造成的影響、根據影響應該采取的對策,采取的措施。風險識別包括識別內在風險及外在風險。內在風險是指項目工作組能加以控制和影響的風險,如人事任免和成本估計等。外在風險指超出項目工作組等控制力和影響力之外的風險,如市場轉向或政府行為等
風險的對策包括:避免:排除特定危脅往往靠排除危險起源;減緩:減少風險事件的預期資金投入來減低風險發(fā)生的概率,以及減少風險事件的風險系數;吸納:接受一切后果,可以是積極的(如制定預防性計劃來防備風險事件的發(fā)生),也可以是消極的(如某些費用超支則接受低于預期的利潤)。
對于軟件開發(fā)項目而言,在分析、識別和管理風險上投入足夠的時間和人力可以使項目進展過程更加平穩(wěn),提高項目跟蹤和控制的能力,由于在問題發(fā)生之前已經做了周密計劃,因而對項目的成功產生更加充分的信心。
軟件開發(fā)項目常見預估的風險:
1) 工程/規(guī)模/進度上的風險
規(guī)模大,規(guī)模估算不精確甚至誤差很大;就規(guī)模而言,用戶要求交付期、費用很緊;預料外的工作(測試未完時的現場對應等);
2) 技術上的風險
使用新的開發(fā)技術、新設備等,或是新的應用組合,沒有經驗;是新的行業(yè)或業(yè)務,沒有經驗;性能上的要求很嚴;
3) 用戶體制上的問題
用戶管理不嚴,恐怕功能決定、驗收不能順利地完成(或者出現了延遲);或者恐怕功能會多次變更;與用戶分擔開發(fā),恐怕工程會拖延(或者出現了延遲);用戶或其他相關單位承擔的工作有可能延誤;
4) 其它:應該包含此處沒有、但據推測有風險的項目。
4.2 工作流程
說明項目采用什么樣的工作流程進行。如瀑布法工作流程,原型法工作流程、螺旋型工作流程、迭代法工作流程,也可以是自己創(chuàng)建的工作流程。不同的流程將影響后面的工作計劃的制定。必要時畫出本項目采用的工作流程圖及適當的文字說明。
4.3 總體進度計劃
這里所說的總體進度計劃為高層計劃。作為補充,應當分階段制定項目的階段計劃,這些階段計劃不在這份文檔中,當要以這份總體計劃為依據。
總體進度計劃要依據確定的項目規(guī)模,列表項目階段劃分、階段進度安排及每階段應提交的階段成果,在階段時間安排中要考慮項目階段成果完成、提交評審、修改的時間。
對于項目計劃、項目準備、需求調研、需求分析、構架設計或概要設計、編碼實現、測試、移交、內部培訓、用戶培訓、安裝部署、試運行、驗收等工作,給出每項工作任務的預定開始日期、完成日期及所需的資源,規(guī)定各項工作任務完成的先后順序以及表征每項工作任務完成的標志性事件(里程碑)。
例如

`
需求評審
設計評審
表格中檢查點/里程碑等階段劃分為舉例,實際作業(yè)階段劃分、階段成果等請根據項目需要確定。
制定軟件項目進度計劃可以使用一些專門的工具,最常用的是Microsoft的Project作為輔助工具,功能比較強大,比較適合于規(guī)模較大的項目,但無法完全代替項目計劃書,特別是一些主要由文字來說明的部分。小規(guī)模的項目可簡便地使用EXCEL作為輔助工具。關于如何使用這些工具不在此作詳細說明。
制定軟件項目進度計劃應當考慮以下一些因素:
1)對于系統(tǒng)需求和項目目標的掌握程度。如開始時對于系統(tǒng)需求和項目目標只有比較數的了解,就只能制定出比較粗的進度計劃,等到需求階段或設計階段結束,就應該進一步細化進度計劃。
2)軟件系統(tǒng)規(guī)模和項目規(guī)模,這兩個不是一個概念。軟件系統(tǒng)規(guī)模往往是從功能點的估算或其他估算方式得來的,而項目規(guī)模還要考慮對文檔數量與質量的要求,使用的開發(fā)工具、新技術、多少復用、溝通的方便程度、客戶方的情況、需要遵守的標準規(guī)范等等等等。例如,完成一個大型的系統(tǒng),在一定的時間內一個人或幾個人的智力和體力是承受不了的。由于軟件是邏輯、智力產品,盲目增加軟件開發(fā)人員并不能成比例地提高軟件開發(fā)能力。相反,隨著人員數量的增加,人員的組織、協(xié)調、通信、培訓和管理方面的問題將更為嚴重。
3)軟件系統(tǒng)復雜程度和項目復雜程度:和軟件系統(tǒng)規(guī)模和項目規(guī)模一樣,軟件系統(tǒng)的復雜程度主要是考慮軟件系統(tǒng)本身的功能、架構的復雜程度,而項目的復雜程度主要是指項目團隊成員的構成、項目任務的復雜程度、項目干系人的復雜程度、需求調研的難易程度,多項目情況下資源保障的情況,等等等等。軟件系統(tǒng)的規(guī)模與軟件系統(tǒng)的復雜程度未必是成比例的關系;同樣項目的規(guī)模與項目的復雜程度未必是成比例的關系。
4)項目的工期要求,就是項目的緊急程度。有些項目規(guī)模大,卻因為與顧客簽訂了合同,或者為了搶先占領市場,工期壓縮得很緊,這時就要考慮如何更好地合理安排進度,多增加人選多采用加班的方式是一種萬不得已的選擇。增加人選除了增加人的成本外必定會增加溝通的成本(熟悉項目任務所需要的時間);加班如果處理不好會造成情緒上的問題,也可能會因為過于忙碌而無法顧及質量,造成質量的下滑。
5)項目成員的能力。這些能力包括項目經理的管理能力,系統(tǒng)分析員的分析能力、系統(tǒng)設計人員的設計能力、程序員的編碼能力、測試人員的測試能力,以及企業(yè)或項目團隊激發(fā)出這些能力的能力。從另外一個角度看還有總體上對客戶行業(yè)業(yè)務的熟悉程度;對于建模工具、開發(fā)工具、測試工具等技術的掌握程度;企業(yè)內部對行業(yè)業(yè)務知識和主要技術的知識積累。
4.4 項目控制計劃
4.4.1 質量保證計劃
執(zhí)行質量評審活動,對過程質量進行控制。規(guī)模較大的項目應當單獨編寫《軟件開發(fā)項目質量計劃》。根據GB/T 12504 計算機軟件質量保證計劃規(guī)范,內容包括:
l 引言(本章節(jié)包括質量計劃的目的、定義、參考資料)
l 管理(描述負責軟件質量管理的機構、任務及其相關的職責)
l 文檔(列出在該軟件的開發(fā)、驗證與確認以及使用與維護等階段中需要編制的文檔,并描述對文檔進行評審與檢查的準則)
l 標準、條例和約定(列出軟件開發(fā)過程中要用到的標準、條例和約定,并列出監(jiān)督和保證執(zhí)行的措施)
l 評審和檢查(規(guī)定所要進行的技術和管理兩個方面的評審和檢查工作,并編制或引用有關的評審和檢查規(guī)程,以及通過與否的技術準則。至少要進行軟件需求評審、概要設計評審、軟件驗證與確認評審、軟件系統(tǒng)功能檢查、程序和文檔物理檢查)
l 軟件配置管理(編制有關配置管理條款,或在“4.4.4 配置管理計劃”中說明,或引用按照《GB/T 12505 計算機軟件配置管理計劃規(guī)范》單獨制定的文檔)
l 工具、技術和方法(指明用于支持特定軟件項目質量管理工作的工具、技術和方法,指出它們的目的和用途)
l 媒體控制(說明保護計算機程序物理媒體的方法和設施,以免非法存取、意外損壞或自然老化)
l 對供貨單位的控制(供貨單位包括項目承辦單位、軟件銷售單位、軟件開發(fā)單位。規(guī)定對這些供貨單位進行控制的規(guī)程,從而保證項目承辦單位從軟件銷售單位購買的、其他開發(fā)單位開發(fā)的或從開發(fā)單位現存軟件庫中選用的軟件能滿足規(guī)定的需求。)
l 記錄的收集、維護和保存(指明需要保存的軟件質量保證活動的記錄,并指出用于匯總、保護和維護這些記錄的方法和設施,并指明要保存的期限)
4.4.2 進度控制計劃
(可直接引用以下描述或根據項目情況制定本節(jié)內容)
本項目的進度監(jiān)控執(zhí)行本企業(yè)《項目管理規(guī)范》,由本企業(yè)過程控制部門如質量管理部統(tǒng)一進行監(jiān)控,并保留在監(jiān)控過程中產生的日常檢查記錄。
4.4.3 預算監(jiān)控計劃
說明如何檢查項目預算的使用情況。根據項目情況需要制定。
4.4.4 配置管理計劃
編制有關軟件配置管理的條款,或引用按照GB/T 12505單獨制訂《配置管理計劃》文檔。在這些條款或文檔中,必須規(guī)定用于標識軟件產品、控制和實現軟件的修改、記錄和報告修改實現的狀態(tài)以及評審和檢查配置管理工作等四方面的活動。還必須規(guī)定用以維護和存儲軟件受控版本的方法和設施;必須規(guī)定對所發(fā)現的軟件問題進行報告、追蹤和解決的步驟,并指出實現報告、追蹤和解決軟件問題的機構及其職責。
根據《GB/T 12505 計算機軟件配置管理計劃規(guī)范》,軟件配置管理計劃內容如下:
l 引言(本章節(jié)包括質量計劃的目的、定義、參考資料)
l 管理(描述負責軟件配置管理的機構、任務、職責及其有關的接口控制。)
l 軟件配置管理活動(描述配置標識、配置控制、配置狀態(tài)記錄與報告以及配置檢查與評審等到四方面的軟件配置管理活動的需求。)
l 工具、技術和方法(指明為支持特定項目的軟件配置管理所使用的軟件工具、技術和方法,指明它們的目的,并在開發(fā)者所有權的范圍內描述其用法)
l 對供貨單位的控制(供貨單位是指軟件銷售單位、軟件開發(fā)單位或軟件子開發(fā)單位。必須規(guī)定對這些供貨單位進行控制的管理規(guī)程,從而使從軟件銷售單位購買的、其他開發(fā)單位開發(fā)的或從開發(fā)單位現存軟件庫中選用的軟件能滿足規(guī)定的軟件配置管理需求)
l 記錄的收集、維護和保存(指明要保存的軟件配置管理文檔,指明用于匯總、保護和維護這些文檔的方法和設施,并指明要保存的期限)
本博客為學習交流用,凡未注明引用的均為本人作品,轉載請注明出處,如有版權問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。