第一章 緒論

第一節 軟件項目管理的作用和重要性


    軟件項目管理是以軟件項目爲對象的系統管理方法,它運用相關的知識、技術和工具,對軟件項目週期中的各階段工作進行計劃、組織、指導和控制,以實現項目目標。

 

軟件項目管理的重要性
對軟件項目的成功至關重要
    軟件項目涉及大量的人員和活動,有進度和資金限制,並會遇到各種變化、風險和矛盾,必須有良好的管理才能成功。

    大規模軟件項目的例子:Windows2000有5000萬行代碼,3000多個工程師,幾百個小團隊。微軟開發一個軟件所花的錢絕對不少於英特爾公司開發新一代CPU所花的錢。

美國StandishGroup於2003年的統計報告:分析了13522個項目,只有1/3成功,82%的項目延期,43%的項目超出預算。
導致項目失敗的原因通常都與項目管理有關。
StandishGroup於2001年研究表明促使IT項目成功的4個主要因素是:管理層的大力支持,用戶的積極參與,有經驗的項目管理者,明確的需求表達。這些因素都與項目管理有關。
對提高軟件開發人員的專業素質必不可少
適應團隊開發  良好的團隊協作是項目成功的前提

理解項目計劃並勝任管理工作

   理解軟件項目在進度、成本、質量、人員等方面的計劃和相應的措施,從而更有效地工作併爲所在企業創造價值。

   在管理崗位上更是需要項目管理能力

第二節 項目和軟件項目


項目(project)的定義
    項目普遍存在於人類社會中。

    美國項目管理協會(PMI)在《項目管理知識體系指南》中對項目的定義是:項目是爲提供某一獨特的產品或服務所做的一次性努力。

項目的特性
1.目標性:項目是面向目標的,即提供某種產品或服務,並創造效益。

2.獨特性(一次性):每個項目都有其獨自的特點。

3.約束性:有時間限制並受資金、人員等資源的約束。

4.不確定性:項目的過程和結果都存在很多不確定因素。

5.週期性(生命期):項目是一種臨時性的任務,當項目目標達到時,項目即結束。

項目羣與子項目
項目羣是以協同方式管理的一組相互聯繫的項目。可以將項目羣理解爲比項目高一級的大型項目,例如"中國載人航天計劃","嫦娥工程"(中國月球探測工程)就是項目羣,它們都包含了若干項目,而這些項目被協同管理,以實現一個大的戰略目標。
子項目是項目的一個階段或一個部分,可被相對獨立地進行管理,也可外包給外部單位或組織內的其它職能單位。
軟件項目
軟件項目是一種特殊的項目,其特殊性表現在它的目標是生產軟件產品。
Frederick Brooks在他的文章《沒有銀彈》中,總結了軟件的以下特點。
       1.複雜性。狀態極多,難以描述、設計和測試。
       2.不一致性。不存在通用的定律。
       3.可變性。易於改變,且要求經常改變。
       4.不可見性。邏輯實體,不具有可見性。
軟件項目的特點
智力密集型。軟件項目需要大量高強度的腦力勞動。項目工作十分細緻、複雜和容易出錯。不需要使用大量的物質資源,而主要是使用人力資源,因此人員的因素極爲重要。
項目範圍和目標的靈活性。客戶需求的變化可能會導致項目範圍和目標的變化。軟件開發不像其它產品的生產,有着非常具體的標準和檢驗方法,軟件的標準柔性很大,衡量軟件是否成功的重要標準就是用戶滿意度,但用戶滿意度這個標準在軟件開發前很難精確地、完整地表達出來。
風險大,收益大。由於技術的高度複雜性和需求等因素的不確定性,軟件項目風險控制難度較大,項目的成功率較低,但是一旦某個軟件項目或產品獲得成功,將會帶來相對高額的回報。
客戶化程度高。項目的獨特性在軟件領域表現得更爲突出,不同的軟件項目之間差別較大。軟件開發商往往要根據客戶的具體要求提供獨特的解決方案,即使有現成的解決方案,也通常需要進行一定的客戶化工作。
涉及多個專業領域,多種技術綜合應用。軟件項目屬於典型的跨學科合作項目。
過程管理的重要性。軟件項目需要對整個項目過程進行嚴格和科學的管理,尤其是對大型、複雜的軟件項目。“質量產生於過程”,必須監控軟件開發的過程和中間結果,沒有嚴格的過程管理,開發人員的個人能力再強也沒有用。


軟件項目的分類
合同項目
    甲方(客戶方)和乙方(開發方)簽訂合同,甲方委託乙方開發合同規定的項目。甲方出資,乙方負責實施。

通用產品項目
    開發方自己出資研製軟件產品(產權屬於自己),產品具有一定的通用性,可以賣給任何目標客戶,而不是隻賣給一個客戶。

合同項目的特點
優點
l承接合同項目的門檻比較低,有利於創業起步。
l項目失敗的代價比較低。
缺點
l受制於甲方,開發過程艱辛。如,需求不斷變化,被客戶“牽着鼻子走”;驗收和收款過程艱難。
l缺乏規模複製效益。項目是爲特定客戶(甲方)定製的,很難直接“複製”項目賣給下一個客戶。
合同項目
幾乎每個合同項目,乙方都要重新經歷“營銷、開發、驗收和收款”過程。由於缺乏規模複製效益,單靠合同項目盈利的公司很難發展壯大。
爲發展壯大,關鍵是要避開或解決“規模複製效益”問題。
       •可專注於某一行業。
 通用產品項目的特點
優點
l開發過程由自己主導,不受制於客戶。
l產品適合於所有目標消費羣體,具有規模複製效益。
缺點
l門檻高,失敗代價高。
l在國內,通用軟件產品的最大障礙是盜版。
其它盈利模式
§在國內,靠賣通用軟件盈利的公司極少。一些個人軟件採用了不同的路線:用戶可免費使用,通過間接方式盈利(例如廣告)。
§運營模式:提供一種軟件服務,向使用這種服務的用戶收費(例如視頻網站、Google、百度產品)。
•優點:持續性地收費。
•缺點:前期投入較大(燒錢)。
§對一個軟件企業來說,最好探索怎樣把不同的項目盈利方式結合起來,實現效益最大化。


第三節 項目管理


§項目管理(Project Management)的定義
           項目管理是一定的主體,爲了實現其目標,利用各種有效的手段,對執行中的項目週期的各階段工作進行計劃、組織、協調和控制,以取得良好經濟效益的各項活動的總和。

          中國項目管理研究委員會對項目管理總結爲:“項目管理”一詞具有兩種不同的含義,其一是指一種管理活動;其二是指一種管理學科,前者是一種客觀的實踐活動,後者是前者的理論總結;前者以後者爲指導,後者以前者爲基礎。

§項目管理包含兩方面的工作:制定計劃和實施計劃。
§成功的項目管理可以定義爲:在一定的時間和成本範圍內,能按一定的質量標準順利完成項目,並取得了用戶的認可。


項目管理的起源
§項目管理是20世紀50年代後期發展起來的一種計劃管理方法,起源於美國。
§兩個標誌性的成果:
•1957年美國杜邦公司成功應用了項目管理方法,與蘭德公司共同提出了“關鍵路徑法”(Critical Path Method,CPM)。
•美國海軍特種計劃局和洛克希德航空公司在規劃和研究在覈潛艇上發射“北極星”導彈的計劃中提出“計劃評估和審查技術”,(Program Evaluation and Review Technique,PERT)。
§項目管理的主要內容
      美國項目管理協會(ProjectManagement Institute,PMI)開發的《項目管理知識體系指南》提出了項目管理知識體系(ProjectManagement Body Of Knowledge, PMBOK),該知識體系將項目管理劃分爲10個知識領域:

     集成管理、範圍管理、時間管理、成本管理、質量管理、人力資源管理、溝通管理、風險管理、採購管理、項目干係人管理。

 

項目管理知識領域
§集成管理:把項目整個生命週期的工作集成爲一個有機整體,進行計劃、協調和控制。主要包括項目的啓動、計劃編制、執行監控、變更控制和結項。
§溝通管理:確保項目信息及時準確地生成、收集、發佈、存儲和部署。
§採購管理:從項目組織之外採購實物或服務。
§項目干係人管理:識別能影響項目或受項目影響的全部人員或組織,分析他們對項目的期望和影響,採取合適的管理策略處理利益衝突,有效調動他們參與項目決策和活動。


項目管理的三個關注點
§質量:項目產品/服務要滿足用戶在功能或非功能方面的需求。
§進度:在可接受的期限內完成項目。
§成本:在可接受的成本預算內完成項目。
§
  這三個方面是互相制約的,要做出權衡。不要一味鼓吹“多快好省”。

  不同的項目在這三個關注點上的約束是不同的,項目管理方式方法要符合這種約束。

 

軟件項目管理的內容
§軟件項目管理是一種特殊的項目管理,因此PMBOK的10個知識領域也適用於軟件項目管理,但由於軟件項目的特殊性,對軟件項目管理的研究和學習不能完全照搬傳統項目管理的知識、方法和技術。軟件項目管理已形成一個獨立的項目管理學分支,它除了包含上述10個知識領域外,還特別注重軟件配置和軟件過程的管理。
§軟件配置管理:軟件項目的配置項種類繁多且處於不斷的變更之中,爲了使項目順利進行並保證軟件產品的質量,這些配置項的變更必須得到控制,保證它們的完整性、一致性和可追溯性。
§軟件過程是生產高質量軟件所需完成的任務框架,即形成軟件產品的一系列步驟,以及每一步驟的中間產品、資源、角色及所採取的方法、工具等。軟件產品的質量標準必須通過嚴格控制的軟件過程來達到,因此必須關注軟件過程的管理和持續改進。
§隨者軟件業的快速發展,軟件項目管理也處在不斷的發展變化之中。近年來興起的軟件外包、開源軟件項目等新的項目模式和技術給軟件項目管理提出了新的課題,不斷豐富着軟件項目管理的理論和實踐。


軟件工程的三個線索


第四節 軟件項目的生命週期


軟件項目生命週期的特徵
§(1)在項目生命週期的不同時期人力和費用的投入是不平均的,開始投入比較低,然後逐漸升高,在項目的實施、控制階段,達到最高峯,此後逐漸下降,直到項目的終止。
§(2)風險與不確定性在項目開始時最大,並在項目的整個生命週期中隨着決策的制定和可交付成果的驗收而逐步降低。
§(3)對項目做出變更或糾正錯誤所消耗的成本在項目初期較小,隨着項目越來越接近完成而顯著提高。

項目啓動階段
§發現項目機會,識別客戶需求,在此基礎上定義項目目標和初始範圍;落實項目的初步財務和人力資源,選定項目經理並授權開始項目。
§有時候客戶需求不是明顯的,是潛在的或需要培育的,這就需要項目組織能及時從市場、技術發展和國家政策導向中發現需求。
項目規劃階段
§要爲實現目標而制定行動方案,針對項目的範圍、進度、成本、質量、風險、人力資源等方面進行規劃,形成項目管理計劃文件。
項目執行階段
§執行項目計劃,實現所提出的解決方案。這一階段還要不斷監控項目的執行過程,測量項目的實際進程和質量指標是否與計劃一致。在該階段的末尾通常需要對項目產品或服務進行驗證。
項目收尾階段
§執行項目的收尾工作,例如確認所有的項目可交付物都已移交給客戶,所有的費用都已經清算,進行項目總結。
§注意:項目生命週期與項目產品的生命週期是兩個不同的概念。一個項目結束後,項目產品或服務的生命週期通常不會結束。


第五節 軟件項目管理的基本原則


§(1)具體問題具體分析。
 軟件項目管理學科不存在“公理系統”,其理論體系不是由公式和定律組成,而是由經驗性的原則和方法組成,其解決問題的主要方式不是套用定律進行推理和演算,而是針對具體項目情況對原則和方法靈活運用。不存在任何情況下都適用的方法,要堅持“具體問題具體分析”。做一個好的項目管理者,要具備一定的經驗。

§(2)採用系統方法
  項目管理思想和理論起源於一般系統管理理論,特別強調系統方法。

 所謂“系統”是指相互作用的各成分的綜合體,其首要特徵是整體性,同時具有目的性和組成成分間的協調性。

  任何事物都可以看作是一個系統,而系統方法是處理複雜問題的常用方法。

§系統方法具有以下特點:
•對各組成部分之間的關係進行評價;
•將各組成部分集成和匹配到一個統一的整體中;
•將所有活動整合到一個有意義的系統化的動態過程中。
•尋找解決問題的最佳方案和策略。
•保證解決問題時的客觀性。
§系統方法要求我們把項目看作一個動態系統,其中的人、過程和工具緊密配合,各種項目活動密切關聯且相互制約。
§在一個軟件項目中,不能孤立地看待項目中任何一個方面,而要綜合分析它們之間的關係。
§作爲項目管理者,必須站在系統整體的高度權衡各方面的因素,找到最佳平衡點,從而達到針對項目目標的全局最優,而非片面追求局部最優。
§系統方法通常包含以下幾個階段:
•定義:定義目標、標準和約束。
•分析:分析問題,並提出解決問題的所有方法和途徑。
•權衡:將選擇標準和約束條件應用於備選方案,使之符合目標。
•合成:提出達到系統目標的最佳方案。
§客觀性是系統方法的基本特徵,即拋開主觀意識,客觀地看待事物。
§系統方法要求處理項目管理問題要按以下步驟:
•收集數據和信息;
•分析數據和信息;
•預測結果;
•評價預測結果並比較各備選方案;
•選擇最佳方案;
•執行;
•測評執行結果並與預期結果相比較。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章