第一篇:軟件項目管理知識點總結
中原工學員信息商務學院
P1項目的特征:1.目標性2.相關性3.周期性4.獨特性5.約束性6.不確定性
P2 軟件項目是一種特殊的項目,他創(chuàng)造的唯一產品或者服務是邏輯載體,沒有具體的形狀和尺寸,只有邏輯的規(guī)模和運行的效果。P3 軟件項目要素組成:軟件開發(fā)的過程、軟件開發(fā)的結果、軟件開發(fā)賴以生存的資源以及軟件客戶。項目目標成功實現的制約因素:項目范圍、成本、進度計劃、客戶滿意度。項目管理分為:戰(zhàn)略管理、運作管理、項目管理。
P4 項目管理定義:是指一定的主體,為了實現其目標,利用各種有效的手段,對執(zhí)行中的項目周期的各階段工作進行計劃、組織、協調、指揮、控制,已取得良好經濟效益的各項活動的總和。
P5 軟件項目管理和其他管理相比有相當的特殊性:1.軟件是純知識產品,其開發(fā)進度和質量很難估計和度量,生產效率也難以保證。2.項目周期長,復雜度高,變數多。3.軟件需要滿足一群人的期望。
P6 軟件項目管理的根本目的是為了讓軟件項目尤其是大型軟件項目的整個軟件生命周期都能在管理者的控制之下,已預定成本按期、按質的完成軟件并交付用戶使用。
項目管理的五要素:技術、方法、團隊建設、信息、溝通。P7 軟件項目管理的四大變量:范圍、質量、成本、交期。
P24 投標文件有兩種:1.建議書(乙方根據甲方提出的產品的性質、目標、功能等,提交的完整的技術方案和報價)2.報價單(乙方根據甲方提出的產品的特定型號、標準、數量等要求提交必要的報價材料等)P26 項目經理的職責:1.開發(fā)計劃2.組織實施3.項目控制
項目經理的權利:1.制定項目有關決策2.挑選項目成員的權利3.對項目獲得的資源進行再分配。(其中 職責>權利)P27 生存期模型:V模型、瀑布模型、原型模型、增量模型、螺旋模型,漸進式階段模型等。
瀑布模型優(yōu)點:適用于項目簡單,規(guī)模小,要求項目所有的活動都嚴格按照順序執(zhí)行,一個階段的輸出時下一階段的輸入。V模型:強調測試的重要性,它將開發(fā)活動與測試活動緊密地聯系在一起。(及時發(fā)現錯誤)原型模型:設計符合客戶需求的頁面,達成共識再編程。
增量模型:可以避免一次投資太多帶來的風險,將主要的功能或風險大的功能首先實現,然后逐步完善。(適用于開始時,明確了大部分的需求,但是需求可能會發(fā)生變化的項目)
螺旋式模型:是針對風險比較大的項目設計的模型,應對變化的靈活性上很有優(yōu)勢。
P44 軟件需求:指用戶對軟件的功能和性能的要求,就是用戶希望軟件能做什么事情,完成什么樣的功能,達到什么樣的性能。P45 軟件需求包括三個層次:1.業(yè)務需求2.用戶需求3.功能需求
P47 進行需求獲取的時候應該注意什么問題:1.識別真正的客戶2.正確理解客戶的需求3.具備較強的忍耐力和清晰的思維4.說服和教育客戶5.需求獲取階段建立分析小組,進行交流,相互學習。
P48 需求分析完成的標志是提交一份完整的軟件需求規(guī)格說明書。P53 需求管理主要的工作如下:(自己看)
P53 項目管理的第一法則是:“做正確的事,其次是正確的做事。” P54 解決復雜問題不二法門:化繁為簡,分而治之。
P57 任務分解的方法:類比、自頂向下(采用演繹推理法,從一般到特殊的方向進行)、自底向上(采用發(fā)揮創(chuàng)造力的解決問題的方法,從特殊到一般的方向進行)等。
P59 如果對項目人員來說,這個項目是一個嶄新的項目,采用自底向上的方法。
P67 項目進度計劃的主要過程:首先根據任務分解的結果(WBS)再進一步分解出主要的任務,確立任務之間的關聯關系,然后估算出每個任務需要的資源、歷時,最后編制出項目的進度計劃。
P66 任務關聯關系:開始->結束;開始->開始;結束->結束;結束->開始。
任務關聯關系的依據:1.強制性依賴關系(因為客觀規(guī)律和物質條件的限制造成的)2.軟邏輯關系(是認為主觀的,自己的偏好進行的)3.外部依賴關系(是項目活動與非項目活動之間的依賴關系,例如:環(huán)境測試依賴于外部提供的環(huán)境設備)
P67 進度管理圖示1.甘特圖2.網絡圖(PDM(優(yōu)先圖或節(jié)點法)ADM箭線法 CDM(條件箭線圖,很少用))3.里程碑圖4.資源圖
P80 資源平衡方法是通過調整任務的時間來協調資源的沖突,這個方法的主要目的是形成平穩(wěn)連續(xù)的資源需求,最有效的利用資源,使資源閑置時間最小化,同時,盡量避免超出資源能力。
P97 自下而上估算法是利用任務分解圖,對各個具體工作包進行詳細的成本估算,然后將結果累加起來得出項目總成本。
計科122班
P98 參數模型估算法的進本思想是:找到軟件工作量的各種成本影響因子,并判定它對工作量所產生影響的程度是可加的、乘數的還是指數的,以期望得到最佳的模型算法表達式。當某個因子只影響系統的局部時,我們一般說它是可加的;當某個因子對整個系統具有全局性的影響時,我們則說它是乘數的或指數的。
P112 國際ISO定義:質量是產品或者服務滿足明確和隱含需要能力的性能特性的總體。P112 一個項目的主要內容是成本、進度、質量。
P116 質量控制是確定項目結果與質量標準是否相符,同時確定消除不符的原因和方法,控制產品的質量,及時糾正缺陷的過程。質量控制是對階段性的成果進行檢測、驗證,為質量保證提供參考依據;軟件質量控制主要就是發(fā)現和消除軟件產品的缺陷。
P117 質量成本包括預防成本和缺項成本。(其中,預防成本>缺陷成本)預防成本是為確保項目質量而進行預防工作所耗費的費用。缺陷成本是為確保項目質量而修復缺項工作所耗費的費用。
P127 團隊成員包括:企業(yè)內部的人、供應商、承包商、客戶等。
項目管理中的組織結構可以總結為三種類型:職能型、項目型、矩陣型。矩陣型溝通最復雜,項目型在項目收尾時,團隊成員和項目經理壓力比較大。
P135 溝通管理的基本原則是:及時性、準確性、完整性、可理解性。
P141 風險定義:軟件風險是指軟件開發(fā)過程中及軟件產品自身可能造成的傷害或者損失。
P142 風險的類型:商業(yè)風險、管理風險、人員風險、技術風險、開發(fā)環(huán)境風險、客戶風險、過程風險、產品規(guī)模風險等。P143 風險的基本性質:客觀性、不確定性、不利性、可變性、相對性、風險和利益相對性。
P145 風險識別是試圖系統化地確定對項目計劃的威脅,識別已知和可預測的風險,只有識別出這些風險,項目管理者才有可能避免這些風險,且當必要時控制這些風險。
風險識別的方法:德爾菲方法、頭腦風暴法、情景分析法、風險條目檢查表。
P152 定性風險評估:只要是針對風險概率及后果進行定性的評價。(歷史資料法、概率分布法、風險后果估計法)
P153 定量風險分析:是在定性分析的了邏輯基礎上,給出各個風險源的風險量化指標及其發(fā)生概率,再通一定的方法合成,得到系統風險的量化值。(訪談、盈虧平衡分析法、敏感性分析、決策樹分析、模擬法等)
P156 風險應對計劃:回避風險(是通過分析找出發(fā)生風險事件的原因,對可能發(fā)生的風險盡可能的規(guī)避,采取主動放棄或拒絕使用導致風險的方案)、轉移風險、損失控制(損失預防、損失抑制、)、自留風險、風險規(guī)劃的結果。P161 風險管理過程包括:風險識別、風險評估、風險規(guī)劃、風險控制等。
P166 軟件外包:其實質是軟件開發(fā)過程從企業(yè)內部部分或全部延伸到外部的管理規(guī)范與管理技術。
P173 基線是一個或者多個配置項的集合,他們的內容和狀態(tài)已經通過技術的復審,并在生存期的某一階段被接受了。基線配置項可能包括所有的設計文檔和源程序等;非基線配置項可能包括項目的各類計劃和報告等。
P180 配置審計的只要作用是作為變更控制的補充手段,來確保某一變更需求已被切實實現。P185 配置管理包括三個只要的要素:人、規(guī)范、工具。
P194 項目集成計劃定義是指,通過使用其他專項計劃過程所生成的結果(項目的各種專項計劃),運用整體和綜合平衡的方法制定出的,用于指導項目實施和管理的整體性、綜合性、全局性、協調統一的整體計劃文件。
集成計劃的編寫過程:1.項目信息收集2.確定項目計劃初步方案3.項目計劃的綜合平衡4.項目計劃最終方案編制5.軟件項目計劃評審、批準。P207 變更控制的目的就是為了防止配置項被隨意修改而導致混亂。
P214 掙值分析也稱以獲取價值分析,是對項目實施的進度、成本狀態(tài)進行績效評估的有效方法,是計算實際花在一個項目上的工作量,以及預預 P223 代碼走查是在代碼編寫階段,開發(fā)人員檢查自己代碼的過程,代碼走查是非常有效的方法,它可以檢查到其他測試方法無法檢測的錯誤,好多的邏輯錯誤是無法通過測試手段發(fā)現的,很多的項目證明這是一個很好地質量控制方法。P226 質量度量方法:1.尺度度量(定量度量,直接度量)2.二元度量(定性度量,間接度量)P230 項目成員的激勵:薪酬激勵、機會激勵、環(huán)境激勵、情感激勵 P233 團隊的建設包括:組建階段、磨合階段、規(guī)范階段、執(zhí)行階段。
P235 團隊管理過程中已改主意的方面:1.創(chuàng)建有實際存在感的項目團隊2.建立獎勵機制3.確立良好人際關系4.設置工作授權系統 P236 按照評審的時間屬性,可以將項目評審分為:定期評審、階段評審、事件評審等。
P260 項目管理的經驗和建議1.平衡關系2.高效原則3.分解原則4.實時控制原則5.分類管理原則6.簡單有效原則7.規(guī)模管理原則
第二篇:軟件項目管理知識點總結
第一章概述
1項目是指在一定約束條件下具有特定目標的一項一次性任務。
2.項目的特點
一次性;有確定的起點和終點
目標明確性:成果性目標,約束性目標;
整體性:開展的活動密切相關
獨特性:每個項目都是唯一的不可逆轉性:無論結果如何,項目結束,結果確定。
3.項目的生命周期:項目啟動、項目計劃、項目實施、項目結束。
4.項目管理的要素:客戶滿意度、工作范圍、組織、時間、質量、成本
TQC:時間質量成本成功因素:TQC+范圍
5軟件項目管理的定義
根據PMI項目管理的定義總結:在軟件項目活動中運用一系列的知識、技能、工具和技術,以滿足軟件需求方的整體要求。
6.項目管理特點:綜合性、創(chuàng)造性、時間性第二章軟件項目需求管理
1軟件需求的抽象層次:原始問題空間(原始問題描述、用戶需求);解決方案空間(系統需求、軟件設計描述)
2軟件需求:用戶需求和系統需求:
①用戶需求:從用戶角度描述系統的需求,只描述系統的外部行為,并且只通過自然語言、圖表、圖形等敘述
②系統需求:從開發(fā)人員角度描述系統的需求,是系統實現的依據,通常采用結構化語言、PDL過程設計語言等描述。
系統需求:功能需求、非功能需求、領域需求
3、需求工程的組成:需求開發(fā)和需求管理
需求開發(fā):需求的獲取、需求分析、規(guī)格說明和需求驗證
需求管理:變更管理、版本控制、需求跟蹤和版本狀態(tài)
4需求管理的必要性
①需求供求雙方固有的矛盾
②需求具有易變性和難以表達性
③需求錯誤出現的高頻性和修復的高昂成本
5需求管理的目標:是在客戶與項目組織之間建立對客戶需求的共同理解。
①使軟件需求受控,并建立供軟件工程和管理使用的需求基線;
②使軟件計劃、產品和活動與軟件需求保持一致。
6、需求變更的原因
①在項目的早期所有的問題不可能完全定義;
②隨著軟件項目的進行,開發(fā)人員對問題的理解發(fā)生變化,這些變化反饋到需求中;
③大型系統的需求可能是沖突或是矛盾的,系統需求是它們之間的妥協,這種妥協可能發(fā)生變化;④系統購買者和最終用戶很少是同一人;
7、需求變更管理過程
首先要建立變更控制委員會,分析、討論、評審、執(zhí)行。
第三章軟件項目的成本管理
1軟件項目的成本:為完成軟件項目而支付的貨幣量
2軟件項目的時間估算點:客戶需求產品定義系統設計系統實現系統運行
3對軟件規(guī)模的估計要從軟件的分解開始。軟件的分層結構對應工作分解結構(WBS)4軟件規(guī)模的度量標準:LOC代碼行和FP功能點
5成本估算方法:專家判定、類比、自頂向下、自底向上、算法模型(cocom(自底向上)、cocomoⅡ、putnam(自頂向下))
6、三層次的產品分級結構:模塊、子系統、系統
7、估算的時機和精度是相互矛盾的。第四章軟件配置管理
1軟件項目配置管理:是識別定義系統中的配置項,在軟件生命周期中控制他們的變更,記錄并報告配置項和變更請求的狀態(tài),并驗證他們的完整性和正確性的一個過程。2軟件配置項:SCI出于配置管理的目的而為軟件要素設置的單位。
3基線:開發(fā)過程的里程碑,以一個或多個軟件配置項的交付為標準;基線由通過正式評審的軟件配置項組成,是進一步開發(fā)的基礎;基線只有通過正式的變更控制過程才能改變。4基線的兩個基本功能:①對基線進行適當控制,禁止任何來源的交互②為程序員提供靈活的服務,確保他們能夠比較容易地對自己的代碼進行修改測試
5軟件配置管理主要功能:配置標識、配置控制、配置狀態(tài)報告及配置審核
6配置控制委員會:CCB 負責評審和批準對基線的變更
7軟件的配置項組成:正確性、一致性、完備性、有效性、可追蹤性。
8確定變更是否正確的措施:正式技術審核和軟件配置審核.9配置審核的種類:過程審核、功能審核、物理審核、質量系統審核
第五章人力資源管理
1、軟件項目中的人力資源管理包括:所有的項目干系人:資助者、客戶、項目組成員、支持人員及供應商等。
人力資源管理就是有效地發(fā)揮每個項目干系人作用的過程。
2軟件開發(fā)中人員與時間具有非線性替換關系。第六章質量管理
1軟件質量六大特性:功能性、可靠性、可用性、效率、可維護性、可移植性
2、過程質量控制是主動的、系統的、先期的;
產品質量控制是被動的、個體的、后期的;兩者都要重視。
3.CMM的5個等級:初始級、可重復級、已定義級、已管理級、優(yōu)化級
4.CMMI的兩種表示方式:連續(xù)性表示和分階表示
5軟件過程能力等級(連續(xù)性表示法):不完備級、已執(zhí)行級、收管理級、已定義級、定量管理
級、持續(xù)優(yōu)化級。
第七章風險管理
1.風險的定義:損失的可能性
2.風險的屬性:可能性損失
3軟件風險:就是有關軟件項目風險、軟件開發(fā)過程風險和軟件產品風險。
4.風險管理過程:風險識別、風險分析、風險計劃、風險跟蹤、風險應對(風險最小化,機會最大化)
5.風險應對策略包括:避免、轉移、緩解、接受、研究、儲備以及退避。
6軟件項目管理的主要風險類別:①資源風險②需求風險③項目接口風險④設計風險⑤管理風險⑥開發(fā)過程風險⑦項目集成風險。
第三篇:軟件項目管理總結
《軟件項目管理》
學 號:專 業(yè):軟件姓 名:任課教師:日 期:
實 驗 報 告
1311班
2016.4.6
實驗1:假設你是軟件項目經理,如何有效的管理項目及其團隊成員
我作為軟件工程專業(yè)的一名學生,知道在軟件項目開發(fā)中團隊合作的重要性。對于項目管理來說,項目團隊作為一個任務單元,不僅可以高效地利用有限的人力資源,而且有助于加強員工間的交流與協作。但是一個項目團隊離不開一個有能力的項目經理,而項目經理對項目的成敗起著關鍵性的作用。
1.作為項目經理應該具有的管理能力
假如我是軟件項目經理,我就必須管理好我的軟件項目和我的成員。作為一個項目經理,自己一定要有管理一個團隊的能力。能力有可以分為兩種:基本能力和基礎能力。其中基本能力主要有時間管理、成本管理、人力資源管理、交流管理、質量管理、風險管理等。而基礎能力包括:溝通能力、體察能力、理解能力、分析能力、總結能力、協調能力、組織能力等。我認為項目經理的技術能力可以不是很強,當然前提是他要有一個技術很好的搭檔,但是他的邏輯思維能力,溝通能力和協調能力等都必須很強,總而言之,項目經理是一個綜合能力很強的人,他應該懂得因地制宜,因勢導利,能夠把控全局,掌控整個工程項目。
案例:溝通能力很重要
老張是某個系統集成公司的項目經理。他身邊的員工開始抱怨公司的工作氛圍不好,溝通不足。所以他就想每周開一次開會,但他又不知道例會具體因該如何規(guī)定。很快項目組成員開始抱怨例會目的不明,時間太長,效率太低,效果太差等,有時在例會上成員意見不一致,很多成員相互爭吵,甚至影響到了人際關系的融洽。
通過這個案例我們可以看出團隊的溝通出了問題。這個項目經理缺乏對項目團隊成員的溝通和溝通風格的分析,溝通方式單一,沒有進行沖突管理。我認為他可以這樣解決問題:
對項目團隊的成員進行溝通風格分析,對成員的溝通風格采用不同的溝通方式,可以使用非正式的溝通方式,引入一些標準的溝通模板,注意沖突的管理等。良好的溝通是一個軟件項目成功的前提條件。在軟件項目管理中溝通是整個活動過程中的神經中樞,順暢有效的溝通是項目成功的基礎。要科學地組織、指揮、協調和控制項目的實施過程,就必須進行信息溝通。有效的信息溝通,對于整個項目的進度控制、風險預測、需求確定以及人際關系的改善都起著促進的作用。當然,除了溝通,其他的能力,項目經理也應具備。
案例:
A公司是一家系統集成商,李某是A公司的一名高級項目經理,現正在負責某市開發(fā)區(qū)的辦公網絡項目的管理工作,該項目劃分為綜合布線、網絡工程和軟件開發(fā)三個子項目,需要3個項目經理分別負責。李某很快找到了負責綜合布線、網絡工程的項目經理,而負責軟件開發(fā)的項目經理一直沒有合適的人選。原來由于A公司近年業(yè)務快速發(fā)展,承攬的項目逐年增多,現有的項目經理人手不夠。李某建議從在公司工作2年以上業(yè)務骨干中選拔項目經理。結果王某被李某選中負責該項目的軟件開發(fā)子項目。在項目初期,依照公司的管理規(guī)定,王某帶領幾名項目團隊成員刻苦工作,項目進展順利。隨著項目的進一步展開,項目成員的逐步增加,王某在項目團隊管理方面遇到很多困難。他領導的團隊因經常返工而效率低下、團隊成員對發(fā)生的錯誤互相推諉、開會時人員從來沒有到齊過,甚至王某因忙于自己負責的模塊開會時都遲到過。大家向王某匯報項目的實際進度、成本時往往言過其實,直到王某對自己負責的模塊進行接口調試時才發(fā)現這些問題。
案例分析:
王某是從技術骨干升為項目經理的,從實際工作結果看,顯然王某本身尚未具備管理項目和團隊的基本素質,沒有培訓和鍛煉,倉促上陣。王某的這方面劣勢本應在項目的風險管理中充分考慮并制定相應的預案。現階段,如果項目的時間充足,李某可采用指導型的管理手段,王某的團隊工作安排要全面及時匯報給李某,不論大小。正確的方案不加干涉,加強過程和結果的追蹤,欠妥的地方,找王某單獨溝通,讓他在工作中成長。如果項目時間不夠,則要采取參與式的管理手段,重要的工作安排,李某直接參與,但保持與王某的充分溝通,使之充分理解李某的方案為什么更優(yōu),其目的也是在工作中成長。不管哪種方案,前提是減輕王某的技術工作負荷,使他有時間學習和思考項目管理的方法。
2.項目經理對項目和成員的管理
項目經理不僅要管理好他的團隊,還要管理項目。目前就我的角度講,從項目經理接到一個項目開始,就要先和客戶交流,必須了解到用戶的需求,當然有時用戶知道自己需要什么,但表達不出來,這是我就要提前假設許多種情況,來詢問用戶當遇到這些情況,他覺得應該怎樣解決。然后把這些都要寫入需求分析里。和用戶談完后,我會和團隊成員一起討論,然后根據用戶的需求寫需求分析。寫完需求分析后,要開始分工協作開發(fā)該項目,在開發(fā)過程中,當成員遇到困難我會盡自己所能幫他解決。當然,每一個項目都有規(guī)定的開發(fā)日期,為了項目能夠如期完成,我會提前制定一個開發(fā)階段時間表,說明項目實施階段劃分,規(guī)定不同的階段完成什么任務,按照計劃進行。不能說把項目任務分配后就對成員不聞不問,我會每天在一個時間點了解成員的開發(fā)進度,進而進行項目進度的調整。
3.項目管理者和開發(fā)人員之間要團結互助
項目管理者和開發(fā)人員之間的關系,本來應該是相互團結,相互幫助,共同面對問題的關系,可是許多項目管理者把這種關系扭曲成了管理與被管理的強制性關系,用種種規(guī)章制度,種種管理方法來強迫開發(fā)人員接受,把自己放到了開發(fā)人員的對立面,和開發(fā)人員離心離德,甚至還美其名曰“量化管理,科學管理”.在這種糟糕的管理下,開發(fā)人員沒有任何辦法,要么被動接受糟糕的管理,要么辭職以抗議.一旦一個項目發(fā)生了這種情況,它想成功就非常難了。我反對的是軟件開發(fā)中的強權行為,完全剝奪了開發(fā)人員應當具有的對于項目的發(fā)言權和建議權,完全不考慮軟件開發(fā)作為高強度腦力勞動的特殊性。
項目管理者和開發(fā)人員并沒有本質的區(qū)別,他們只是所處的崗位不同,擔任的責任不同而已,在軟件開發(fā)的問題上,尤其在具體的技術細節(jié)上,往往管理者不甚精通,如果他不能吸納開發(fā)人員的智慧,而是自己一個人拍腦袋來做決策,那么失敗就在眼前了.
總的來說,在軟件開發(fā)中,無論采用那種模型,那種工具,都離不開人的參與,離不開人與人之間的關系,如果不能正確對待人與人之間的關系,把本來正常的,平等的,合作的人與人之間的關系變成了不正常的,不平等的,對抗的人與人之間的關系,那么還希望項目能夠成功,無異于緣木求魚,南轅北轍了.如果人與人之間可以相互信任,相互理解,相互支持,相互合作,那么沒有什么事情是辦不成的,而如果人與人之間相互欺騙,相互猜忌,相互詆毀,相互斗爭,那么沒有什么事情是可以辦成的。
4.項目經理應該具備的品質
我認為在項目管理中,項目經理的行為準則會影響到其他成員,管理流程是不可能靠項目經理一個人維持的,必須得到大家的支持。在團隊管理中,一定要公平公正,要廉潔自律。在項目中一定要有正確的利益觀,在盡量保證其它成員的利益、至少是不損害其它成員利益的基礎上來爭取自己個人合理利益。尤其要公正公平地評估項目團隊成員間的利益,否則很可能因為利益分配問題導致整個團隊的崩潰。在團隊中我一定會堅持一些原則:不損人利己、不可或缺、集思廣益、換位思考等!在團隊交流中多方面的思考問題,多采納團隊中有利的建議。所以品德高尚成為項目經理首先需具備的條件。
5.當代項目經理應該具備的能力與素質
當代軟件項目管理進入新的階段。由于信息產業(yè)的技術含量高,軟件開發(fā)項目經常會遇到需求多變、技術更新和所處的環(huán)境變化快和人員流動頻繁。軟件技術人員的管理特點等情況,影響項目管理的因素日趨增多,信息軟件開發(fā)行業(yè)也就更加需要科學規(guī)范的項目管理。由于這些原因,要求軟件開發(fā)項目經理應該是一個具有很強邏輯思維、推理能力和社會經驗豐富的綜合素質全面的管理者,缺乏職業(yè)素養(yǎng)的項目管理者會因自身的職業(yè)能力的局限性缺乏細節(jié)和深度地計劃一個項目,使得預測潛在問題很困難,難以去管理資源,合理評估時間和成本,以及編制出可操作的時間計劃,不會或不能很好地處理諸多沖突和變更。在這樣的項目管理者帶領下的項目團隊最終只能喪失控制力。當前我國行業(yè)現實是絕大多數項目經理是技術人員出身,因為技術工作的性質和特點造成此類項目經理在任職之前人文能力不強。因此,中國傳統的學而優(yōu)則仕的觀點在項目經理的選拔中需要格外注意,同時要加強職業(yè)培訓及自我的實踐總結和提高。
實驗2:作為軟件項目團隊成員的你,應該如何有效的配合項目組成員完成工作
在軟件開發(fā)項目中,許多組織采用合作開發(fā)的方式,這種方式的優(yōu)點在于合作各方可以各取所長。由于在合作方式下,項目團隊成員來自不同的組織,在項目實施過程中的沖突就往往不可避免,充分的溝通和參與是有效的激勵機制。
1.個人在團隊開發(fā)中溝通的重要性
在合作項目中,對于涉及到項目進度和人力資源調度這樣一些問題而言,充分的溝通是一個關鍵性的管理手段。盡管定期和不定期的項目評估能夠在一定程度上解決一些問題,但需要記住的是,只有那些具體負責某項工作的團隊成員對有關的工作才最有發(fā)言權,也只有他們的行動才最終決定了某些計劃或決策的執(zhí)行效果。如果在計劃制定過程中缺乏溝通,那些持有不同意見的項目團隊成員就可能在執(zhí)行中降低努力水平。所以在項目開發(fā)過程中,我會把自己的疑問提出,多和團隊成員交流,把疑問解決,發(fā)表自己對該項目的認識,和團隊成員交流自己的想法,是否能夠達到項目的需求,自己的理解是否出現了偏差,而導致對團隊產生不利的影響。
2.在團隊開發(fā)中自己一定要參與到項目中并且努力完成任務
而對軟件開發(fā)這樣的項目而言,團隊成員的努力才是保證項目成功的最關鍵的因素之一。“參與”是激勵機制中的重要一環(huán),每個團隊成員都應當在計劃制定過程中發(fā)表意見,不僅是因為經過充分討論后的計劃才能更加切合實際,更重要的是,團隊成員在執(zhí)行其“自己的計劃”過程中會更加努力。在軟件開發(fā)項目中,團隊成員大多是技術人員,對于技術人員而言,通過新工具和新技術的使用能夠提高其專業(yè)水平,因此在軟件項目實施過程中適當引進新工具和新的開發(fā)環(huán)境有時也是一種良好的激勵手段,當然這種手段的采用要有兩個前提:相關的工具確實有效,同時需要提供一定的培訓以保證工作的效率。作為一個項目團隊的成員,會參與團隊的項目,在項目開發(fā)的過程中,大家在項目經理的指導下都會有各自的任務,一個團隊的計劃是一個大計劃,相當于一個概要設計,而每一個成員制定自己的任務計劃就相當于詳細設計。我在做自己的任務之前肯定會制定一個進度計劃,按照計劃進行。在此過程中遇到問題會和成員們溝通解決。
除此之外,我還會提高個人職業(yè)能力:強調持續(xù)不斷的學習能力,并通過實踐提升個人的專業(yè)技能,從而提高項目管理的水平。在團隊合作中,我會努力做到尊重個人在信仰、文化和行為習慣方面的差異,與團隊成員建立好溝通與聯系,努力建設一個協作的,氛圍良好的開發(fā)環(huán)境。3.在開發(fā)團隊中要多發(fā)現別人的優(yōu)點
著名心理學家榮格曾列出一個公式:I+We=Fully I。意思是說,一個人只有把自己融入集體中,才能最大程度地實現個人價值,綻放出完美絢麗的人生。認識自己的不足,善于看到別人——尤其是同事——的長處,是具有良好的團隊精神的基礎。
在一個團隊中,每個成員的優(yōu)缺點都不盡相同,你應該去積極尋找團隊成員中積極的品質,并且學習它,讓自己的缺點和消極品質在團隊合作中被消滅。團隊強調的是協同工作,較少有命令和指示,所以團隊的工作氣氛很重要,它直接影響團隊的工作效率。如果團隊的每位成員都去積極尋找其他成員的積極品質,那么團隊的協作就會變得很順暢,團隊整體的工作效率就會提高。
每個人都有被別人重視的需要,特別是那些具有創(chuàng)造性思維的知識型員工更是如此。有時一句小小的鼓勵和贊許就可以使他釋放出無限的工作熱情,并且,當你對別人寄予希望時,別人也同樣會對你寄予希望。4.在開發(fā)團隊中要多檢查自己的缺點
自己應該時常的檢查一下自己的缺點,比如自己是不是還是那么對人冷漠,或者還是那么言辭鋒利。這些缺點在單兵作戰(zhàn)時可能還能被人忍受,但在團隊合作中會成為你進一步成長的障礙。團隊工作中需要成員在一起不斷地討論,如果你固執(zhí)己見,無法聽取他人的意見,或無法和他人達成一致,就不可能融入團隊,團隊的工作就無法進展下去。如果你意識到了自己的缺點,不妨就在某次討論中將它就坦誠地講出來,承認自己的缺點,讓大家共同幫助你改進,這是最有效的方法。當然,承認自己的缺點可能會讓你感到尷尬,但你不必擔心別人的嘲笑,你只會得到他們的理解和幫助。
4.每一個團隊成員都要明確自己的任務
每一個團隊成員應該確實知道他們每天的工作是什么,以致團隊可以實現他們的目標。沒有仔細的分類,團隊成員容易在工作中互相誤解,以及相互限制。
團隊成員的交叉角色應該在開始行動之前就仔細想清楚,隨著團隊前進,他們可以更加精確。
團隊精神不反對個性張揚,但個性必須與團隊的行動一致,要有整體意識、全局觀念,考慮團隊的需要。它要求團隊成員互相幫助,互相照顧,互相配合,為集體的目標而共同努力。
案例:
曾經有這樣兩個大學生:他們共同承擔一個項目,但其中有分工。其中一位在完成任務的過程中遇到了技術上的難題,此時他只會自己冥思苦想亂翻書,卻不屑于向坐在旁邊的高手請教一下。而這位高手此時不是把他當做是共榮共辱的合作伙伴,而是坐在旁邊等著看笑話。這是我們應該吸取的教訓。所以在工作期間,要有意識地培養(yǎng)全局觀念。比如要建設一個優(yōu)秀班組,就不能只考慮自己的需要而不關注別人的感受。要建設一個優(yōu)秀部門,每個人就不能借口自己有這樣那樣的事情而不參與集體組織的活動,否則將會像一盤散沙,優(yōu)秀集體難以形成,自己也很難從中受益。
6.在開發(fā)過程中要注意團結合作 案例:
每到秋季來臨,天空中就會有成群結隊的大雁向南方遷徙,而這南飛的雁群就是一支完美的團隊,是值得我們學習的團隊楷模。雁群是由許多有著共同遷徙目標的大雁組成的。在組織中,它們有明確的分工合作,當隊伍中途飛累了停下休息時,它們中有負責覓食、照顧年幼或老齡大雁的青壯派,有負責雁群安全的巡視放哨的大雁,有負責安靜休息、調整體力的領頭雁。在雁群進食的時候,巡視放哨的大雁一旦發(fā)現有敵人靠近,便會長鳴一聲給出警示信號,群雁便整齊地沖向藍天,列隊遠去。而那只放哨的大雁,在別人都進食的時候自己不吃不喝,非常警惕,恪盡職守,具有犧牲精神。據科學研究表明,大雁組隊飛行要比單獨飛行提高22%的速度,比單獨飛行多出12%的距離。飛行中的大雁兩翼可形成一個相對的真空狀態(tài),而飛翔的頭雁是沒有誰給它真空的,但漫長的遷徙過程中總得有人帶頭搏擊,這同樣是一種犧牲精神。在飛行過程中,雁群大聲嘶叫以相互激勵,通過共同扇動翅膀來形成氣流,為后面的隊友提供了“向上之風”,而且V字隊形可以增加雁群70%的飛行范圍。如果在雁群中,有任何一只大雁受傷或生病而不能繼續(xù)飛行,雁群中會有兩只大雁自發(fā)地留下來守護照看受傷或生病的大雁,直至其恢復或死亡,然后它們再加入到新的雁陣,繼續(xù)南飛直至目的地,完成它們的遷徙。
大雁成群結隊遷徙,在遷徙過程中任務分工明確,作為一個整體團結合作,最后飛往目的地,一個大雁群體既是這樣團結合作,作為一個更需要團結合作的軟件項目開發(fā)團體,我覺得更需要這種團結合作的精神。
軟件開發(fā)并不是一件簡單的工作,不是一個人可以完成的,一般都是多人或多個團隊合作來完成,有需求分析、產品架構定位、設計與結構、編碼、測試、打包等等,里面每個成員的分工都是明確,整個項目是大家互相配合、互相協作下完成。
學號:
姓名: 日期:
第四篇:軟件項目管理總結
《軟件項目管理》學習總結報告
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發(fā)人員的個人開發(fā)能力轉化成企業(yè)的開發(fā)能力,企業(yè)的軟件開發(fā)能力越高,表明這個企業(yè)的軟件生產越趨向于成熟,企業(yè)越能夠穩(wěn)定發(fā)展。
項目風險管理是指為了最好的達到項目的目標,識別、分配、應對項目生命周期內風險的科學與藝術。項目風險管理的目標是使?jié)撛跈C會或回報最大化,使?jié)撛陲L險最小化。
1.項目管理在軟件開發(fā)中的應用的成因
目前我國大部分軟件公司,無論是產品型公司還是項目型公司,都沒有形成完全適合自己公司特點的軟件開發(fā)管理模式,雖然有些公司根據軟件工程理論建立了一些軟件開發(fā)管理規(guī)范,但并沒有從根本上解決軟件開發(fā)的質量控制問題。這樣導致軟件產品質量不穩(wěn)定,軟件
后期的維護、升級出現麻煩,同時最終也會損害用戶的利益。
隨著軟件開發(fā)的深入、各種技術的不斷創(chuàng)新以及軟件產業(yè)的形成,人們越來越意識到軟件過程管理的重要性,管理學的思想逐漸融入軟件開發(fā)過程中,應用開發(fā)的項目管理日益受到重
視。
2.軟件項目管理常見問題及解決方案
(1)缺乏項目管理系統培訓
在軟件企業(yè)中,以前幾乎沒有專門招收項目管理專業(yè)的人員來擔任項目經理,被任命的項目經理主要是因為他們能夠在技術上獨當一面,而管理方面特別是項目管理方面的知識比
較缺乏。
解決方案:項目經理接受系統的項目管理知識培訓是非常必要的,有了專業(yè)領域的知識與實踐,再加上項目管理知識與實踐和一般管理的知識和經驗的有機結合,必能大大提高項
目經理的項目管理水平。
(2)項目計劃意識問題
項目經理對總體計劃、階段計劃的作用認識不足,因此制定總體計劃時比較隨意,不少事情沒有仔細考慮;階段計劃因工作忙等理由經常拖延,造成計劃與控制管理脫節(jié),無法進行有
效的進度控制管理。
解決方案:計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。提高項目經理的計劃意識,采用項目計劃制定相關知識、技術、工具,加強對開發(fā)計
劃、階段計劃的有效性進行事前事后的評估。
(3)管理意識問題
部分項目經理不能從總體上把握整個項目,而是埋頭于具體的技術工作,造成項目組成員之間忙的忙、閑的閑,計劃不周、任務不均、資源浪費。有些項目經理沒有很好的管理方
法,不好安排的工作只好自己做,使項目任務無法有效、合理地分配給相關成員,以達到“負載
均衡”。
解決方案:加強項目管理方面的培訓,并通過對考核指標的合理設定和宣傳引導項目經理更好地做好項目管理工作。技術骨干在擔任項目經理之前,最好能經過系統的項目管理知識,特別是其中的人力資源管理、溝通管理的學習,并且在實際工作中不斷提高自己的管理素
質,豐富項目管理經驗,提高項目管理意識。
(4)溝通意識問題
在項目中一些重要信息沒有進行充分和有效的溝通。在制定計劃、意見反饋、情況通報、技術問題或成果等方面與相關人員的溝通不足,造成各做各事、重復勞動,甚至造成不必
要的損失;有些人沒有每天定時收郵件的習慣,以至于無法及時接收最新的信息。
3.軟件項目管理的現狀分析
軟件項目管理的提出是在20世紀70年代中期的美國,當時美國國防部專門研究了軟件開發(fā)不能按時提交,預算超支和質量達不到用戶要求的原因,結果發(fā)現70%的項目是因為管理不善引起的,而非技術原因。于是軟件開發(fā)者開始逐漸重視起軟件開發(fā)中的各項管理。到了20世紀90年代中期,軟件研發(fā)項目管理不善的問題仍然存在。據美國軟件工程實施現狀的調查,軟件研發(fā)的情況仍然很難預測,大約只有10%的項目能夠在預定的費用
和進度下交付。
1995年,據統計,美國共取消了810億美元的商業(yè)軟件項目,其中31%的項目未做完就被取消,53%的軟件項目進度通常要延長50%的時間,只有9%的軟件項目能夠及時
交付并且費用也控制在預算之內。
軟件項目管理和其他的項目管理相比有相當的特殊性。首先,軟件是純知識產品,其開發(fā)進度和質量很難估計和度量,生產效率也難以預測和保證。其次,軟件系統的復雜性也導致了開發(fā)過程中各種風險的難以預見和控制。Windows這樣的操作系統有1500萬行以上的代碼,同時有數千個程序員在進行開發(fā),項目經理都有上百個。這樣龐大的系統如果沒有
很好的管理,其軟件質量是難以想象的。
4.我國軟件項目管理的前景
應該很清楚地意識到,項目管理在中國起步較晚,項目管理水平與高速增長的經濟建設不相適應,也不利于參與國際競爭,必須奮起直追,趕超國際先進水平。展望未來,我們
面臨的不僅有廣闊市場的大好機遇,還有必須認真對待的嚴峻挑戰(zhàn):
(1)、隨著中國加入WTO,工程建設市場競爭時代的來臨,加大項目管理力度勢在必行。只有穩(wěn)定提高實力,迅速熟悉并掌握國際規(guī)則,主動溶人貿易體系,不斷加強競爭實
力和項目管理水平,才不會在激烈的市場競爭中失敗。
(2)、隨著中國宏觀控制體制調整和市場經濟改革的深化,工程公司、項目管理公司和工程咨詢公司等企業(yè)必須進一步深化管理體制和運行機制改革,加快重組,與世界接軌,建立現代企業(yè)制度,才能成為自主經營、自擔風險、自負盈虧和自我發(fā)展的良好經濟實體,在項目管理中提供高質量、有針對性、有競爭力的服務。
(3)、目前,中國建設市場在管理體制、法制建設、運行機制、中介服務、價格政策和社會習慣等方面仍有許多有待改進的工作要做。中國必須建立法制的、政府監(jiān)督的、自我約
束的管理體系,建立公開、公平、公正的投資中介市場,加大投資中介服務的法律責任,為
工程咨詢和項目管理創(chuàng)造更好的市場環(huán)境。
(4)、中國公司應該進一步加強與美國、歐洲和澳大利亞的國際項目管理機構和協會之間的合作與交流。充分利用理工大學和學院加強項目管理的理論與實踐研究,建立自己的項目管理體系,引進和開發(fā)先進的項目管理軟件系統,提高項目管理水平,為工程公司、項目
管理公司和工程咨詢公司的發(fā)展提供更好的環(huán)境。
(5)、中國必須培養(yǎng)自己的優(yōu)秀項目管理專業(yè)人員,大力提高項目管理水平。專業(yè)人才匱乏是影響中國項目管理快速發(fā)展的主要因素,中國應當把培訓和建立一支優(yōu)秀項目管理專業(yè)人員隊伍作為戰(zhàn)略任務來抓。中國項目管理人力資源結構必須通過國內國際相關培訓和認
證機構以及項目管理實踐來改進。
只有采取上述的措施,中國企業(yè)才能適應可持續(xù)發(fā)展要求并在激烈的市場競爭中立于不敗之地。剛剛在9月1日,邦永科技于廣東亞洲國際大酒店召開首屆渠道峰會,被業(yè)內同行稱之為“來勢洶洶”。此會議共在全國招募了30多個地區(qū)總代理商,11月份正式啟動市場。據了解,邦永的產品定位為中低端,價位在5萬到40萬元之間。邦永目前加緊平面營銷渠道建設的同時,還在醞釀許多與行業(yè)主管部門的技術合作,似乎對打造國內項目管理行業(yè)標準胸有成竹。無怪乎邦永拿出這么大的舉措:據資料顯示,2002年中國政府撥3000億元專款用于各類政策性項目,省、市地方政府捐助至少1000億元的專款,全國每年至少有2000個新的1億元以上的大中型項目。如果這些項目都采用軟件來進行管理的話,市場非常可觀。邦永對這個市場充滿信心,盡管項目管理軟件市場在中國仍然處于啟動階段,但市場已經很大,高中端市場的容量在一億元以上,3-5年內將達到6億元左右。這還是一個
比較保守的數字。
總而言之,軟件項目管理領域仍然是一個比較新的領域,競爭態(tài)勢還遠未達到白熱化的程度,但前景十分可觀。需要不斷的去開發(fā)與研討,才能讓軟件充分的發(fā)揮在項目管理的領域,但在軟件項目管理中,存在在的各種風險管理應該根據不同的因素而做出不同的解決措施,讓項目管理可以發(fā)揮到一定的程度,使之更加的完善。最后感謝張冰峰老師一學期來的教導。
第五篇:軟件項目管理總結
軟件項目管理項目管理過程
軟件項目管理的對象是軟件工程項目。涉及的范圍覆蓋了整個軟件工程過程。
項目管理是指“在項目活動中運用專門的知識、技能、工具和方法,使項目能夠實現或超過項目干系人的需要和期限。”
項目的核心知識是范圍、時間、成本和質量。輔助知識是人力資源管理、風險管理和采購管理。項目啟動
接受項目的第一步工作就是界定項目。項目啟動應做如下工作:
1)設定目標:收集事實、信息、意見、需求;探討假設情況;確定應包括的內容和應排除的東西。
2)SWOT分析:S(優(yōu)勢)W(劣勢)
O(機會)
T(威脅)
3)確定需要進行的主要工作及需要的技能和資源,即明確項目的資源和范圍。4)考慮可能的解決方案,標明技術上和管理上的限制。
2.1 制定計劃工作:度量
什么是度量? IEEE 定義度量是 “對一個系統、構件或過程具有的某個給定屬性的一個定量測量”。進行度量工作,是為了了解產品開發(fā)的技術過程和產品本身。(1)度量開發(fā)過程的目的是為了改進過程;(2)度量產品的目的是為了提高產品質量。度量的作用是為有效地定量地進行管理。
2.2 制定計劃工作:估算
在軟件項目管理過程中關鍵的活動就是制定項目計劃。在做計劃時必須就需要的人力(以人月為單位)、項目持續(xù)時間(以年份或月份為單位)、成本(以元為單位)做出估算。
(1)在軟件項目管理過程中關鍵的活動就是制定項目計劃。(2)在做計劃時必須就需要的人力(以人月為單位)、項目持續(xù)時間(以年份或月份為單位)、(3)成本(以元為單位)做出估算。
2.3 制定計劃工作:風險分析
所謂風險分析實際上就是一系列風險管理步驟,其中包括風險識別、風險估計、風險管理策略、風險解決和風險監(jiān)督。這些步驟貫穿在軟件工程過程中。2.4 制定計劃工作:進度安排
每個軟件項目都要求制定一個進度安排,但不是所有進度都得一樣安排。2.5 追蹤和控制
一旦建立了開發(fā)進度安排,就可以開始著手追蹤和控制活動。由項目管理人員負責追蹤在進度安排中標明的每一個任務。如果任務實際完成日期滯后于進度安排,則管理人員可以使用一種自動的項目進度安排工具來確定在項目的中間里程碑上進度誤期所造成的影響。
(1)可對資源重新定向
(2)對任務重新安排(做為最壞的結果)可以修改交付日期以調整已經暴露的問題。用這種方式可以較好地控制軟件的開發(fā)。
軟件生產率和質量的度量
生產率與質量的度量是以投入工作量為依據的軟件開發(fā)過程的度量和軟件產品質量的度量。面向規(guī)模的度量面向功能的度量軟件質量的度量 軟件度量分為兩類:直接度量與間接度量。
軟件過程的直接度量包括所投入的成本和工作量。軟件產品的直接度量包括產生的代碼行數(LOC)、執(zhí)行速度、存儲量大小、在某種時間周期中報告的差錯數。
軟件產品的間接度量包括功能性、復雜性、效率、可靠性、可維護性和許多其他質量特性。
3.1 面向規(guī)模的度量
面向規(guī)模的度量是對軟件和軟件開發(fā)過程的直接度量。3.2 面向功能的度量
面向功能的軟件度量是對軟件和軟件開發(fā)過程的間接度量,主要考慮程序的 “功能性” 和 “實用性”,而不是對 LOC計數。
該度量是一種叫做功能點方法的生產率度量,利用軟件信息域中的一些計數和軟件復雜性估 功能點度量是為信息系統應用而設計的。
特征點度量(Feature Points)可以用于系統和工程軟件應用。特征點度量適合于算法復雜性高的應用,如實時處理、過程控制、嵌入式軟件。
3.4 軟件質量的度量
質量度量貫穿于軟件工程的全過程中以及軟件交付用戶使用之后。
使用得最廣泛軟件質量的事后度量包括正確性、可維護性、完整性和可使用性。
(1)正確性:一個程序必須正確地運行,并為它的用戶提供某些輸出。正確性要求軟件執(zhí)行所要求的功能。正確性的度量是每千代碼行(KLOC)的差錯數,其中將差錯定義為已被證實是不符合需求的缺陷。
(2)可維護性:軟件維護比其它的軟件工程活動需要更多的工作量。還沒有一種方法可以直接度量可維護性,必須采取間接度量。
一種簡單的面向時間的度量:
平均變更等待時間MTTC。這個時間包括分析變更要求、設計適當修改、實現變更并測試、把變更發(fā)送給所有用戶。一個可維護的程序與不可維護的程序相比,應有較低的MTTC。
(3)完整性:完整性度量一個系統抗拒對它的安全性攻擊(事故的和人為的)的能力。程序、數據和文檔都會遭到攻擊。
度量完整性,需要定義兩個附加的屬性:危險性和安全性。危險性是特定類型的攻擊將在一給定時間內發(fā)生的概率,安全性是排除特定類型攻擊的概率。
一個系統的完整性可定義為
完整性=∑(1-危險性×(1-安全性))(4)可使用性:如果程序不具有用戶友好性,即使它所執(zhí)行的功能很有價值也常常會失敗。
4.2 軟件開發(fā)成本估算方法
對于絕大多數項目,主要的成本是工作成本。
軟件成本計算的目的是要精確地、客觀地預測軟件承包商的開發(fā)成本。軟件的開發(fā)成本是以一次性開發(fā)過程所花費的代價來計算的。要進行一系列的估算處理。主要靠分解和類推。
1.自頂向下的估算方法
這種方法的主要思想是從項目的整體出發(fā),進行類推。
估算人員根據以前已完成項目所消耗的總成本(或總工作量),推算將要開發(fā)的軟件的總成本(或總工作量),然后按比例將它分配到各開發(fā)任務單元中去,再來檢驗它是否能滿足要求。
2.自底向上的估算方法
這種方法的主要思想是把待開發(fā)的軟件細分,直到每一個子任務都已經明確所需要的開發(fā)工作量,然后把它們加起來,得到軟件開發(fā)的總工作量。它的優(yōu)點是估算各個部分的準確性高。缺點是缺少各項子任務之間相互聯系所需要的工作量,還缺少許多與軟件開發(fā)有關的系統級工作量.3.差別估計法
這種方法綜合了上述兩種方法的優(yōu)點,其主要思想是把待開發(fā)的軟件項目與過去已完成的軟件項目進行類比,從其開發(fā)的各個子任務中區(qū)分出類似的部分和不同的部分。類似的部分按實際量進行計算,不同的部分則采用相應方法進行估算。
4.專家判定技術
由多位專家進行估算,取得多個估算值。再把這些估算值合成一個估算值。
一種合成方法是求各估算值的中值或平均值。其優(yōu)點是簡便。缺點是可能會由于受一、二個極端估算值的影響而產生嚴重的偏差。另一種合成方法是召開小組會,使各位專家們統一于或至少同意某一個估算值。優(yōu)點是可以擯棄蒙昧無知的估算值,缺點是一些組員可能會受權威或政治因素的影響。
5.標準Deiphi技術
A組織者發(fā)給每位專家一份軟件系統規(guī)格說明書和一張記錄估算值的表格,請他們估算。B專家詳細研究軟件規(guī)格說明書的內容,對該軟件提出三個規(guī)模的估算值,即:ai(最小), mi(可能), bi(最大), 無記名地填寫表格。C組織者整理專家們填在表格中的答復:
(1)計算各專家估算的期望值 Ei
Ei =(ai+4mi+bi)/6(2)對專家的估算結果分類摘要。
D在綜合專家估算結果的基礎上,組織專家再次無記名地填寫表格。比較兩次估算的結果。若差異很大,要通過查詢找出差異的原因。
E上述過程可重復多次。最終可獲得一個得到多數專家共識的軟件規(guī)模(源代碼行數)。
.最后,通過與歷史資料進行類比,根據過去完成軟件項目的規(guī)模和成本等信息,推算出該軟件每行源代碼所需要的成本。然后再乘以該軟件源代碼行數的估算值,就可得到該軟件的成本估算值。
4.3 軟件開發(fā)成本估算的經驗模型
軟件開發(fā)成本估算是依據開發(fā)成本估算模型進行估算的。
1.IBM模型(Walston-Felix)靜態(tài)單變量模型
2.其他靜態(tài)單變量模型 3.Putnam 模型
動態(tài)多變量模型。
4.COCOMO模型 結構型成本估算模型是一種精確、易于使用的成本估算方法。軟件開發(fā)項目的總體類型: 組織型
不涉及硬件的開發(fā)
嵌入型
完全與硬件結合的開發(fā)
半獨立型
介于上述兩者之間
COCOMO模型按其詳細程度分成三級:
基本COCOMO模型
中間COCOMO模型
詳細COCOMO模型
基本COCOMO模型是靜態(tài)單變量模型,用源代碼行數(LOC)為自變量的經驗函數計算軟件開發(fā)工作量。
中間COCOMO模型在用LOC為自變量的函數計算軟件開發(fā)工作量(稱為名義工作量)的基礎上,用涉及產品、硬件、人員、項目等方面的影響因素調整工作量估算。詳細COCOMO模型包括中間COCO MO模型的所有特性,但用上述各種影響因素調整工作量估算時,還要考慮對軟件工程過程中每一步驟(分析、設計等)的影響。15種影響軟件工作量的因素 fi:
產品因素:軟件可靠性、數據庫規(guī)模、產品復雜性
硬件因素:執(zhí)行時間限制、存儲限制、虛擬機易變性、環(huán)境周轉時間
人的因素:分析員能力、應用領域實際經驗、程序員能力、虛擬機使用經驗、程序語言使用經驗
項目因素:現代程序設計技術、軟件工具的使用、開發(fā)進度限制
6.1 軟件范圍
軟件范圍包括功能、性能、限制、接口和可靠性。估算開始時應對軟件功能進行評價,對其進行適當的細化以便提供更詳細的細節(jié)。由于成本和進度的估算都與功能有關,因此常采用某種程度的功能分解。性能的考慮包括處理和響應時間的需求。
約束條件則標識產品成本、外部硬件、可用存儲或其它現有系統對軟件的限制。現成的用以支持軟件開發(fā)的工具(硬件工具及軟件工具);最基本的資源(人);通常,對每一種資源,應說明以下四個特性:資源的描述、資源的有效性說明、資源在何時開始需要、使用資源的持續(xù)時間。最后兩個特性統稱為時間窗口。
6.4 風險分析
風險分析的主要活動有風險識別、風險估算、風險評價和風險管理。
風險分項目風險、技術風險和商業(yè)風險。
項目風險是指(1)潛在的預算、進度、人員和組織、資源、用戶、需求方面的問題,以及它們對軟件項目的影響。(2)項目的復雜性、規(guī)模、結構的不確定性。技術風險是指(1)潛在的設計、實現、接口、檢驗和維護方面的問題。(2)規(guī)約的二義性、技術陳舊或太先進。