天天看點

軟體項目管理方法和工具

作者:林銳  2007-11-23

1. 為什麼需要軟體項目管理方法和工具

  軟體開發和項目管理是軟體企業最主要的工作,兩者相輔相成,缺一不可。項目管理應當覆寫整個軟體開發過程。軟體項目管理的主要工作有:立項與結項、項目規劃與監控、風險管理和變更管理、需求管理、品質管理、軟體配置管理等。軟體開發的主要過程域有:需求開發、軟體設計、軟體實作、軟體測試、軟體釋出、客戶驗收、軟體維護等。

  由于軟體開發和項目管理都是智力型工作,人們很難靠常識和直覺形成和諧的團隊工作。如果企業沒有統一的項目管理方法和工具,每個人都采用自己的做事方法的話,那麼人越多就越亂,形成了“土匪、遊擊隊”的工作方式。阻礙國内IT企業發展的瓶頸問題通常不是技術問題,而是雜亂無章的管理。

  項目管理方法和工具對企業的主要貢獻是:讓所有項目成員有條不紊地開展工作,在預定的時間和成本之内,開發完成品質合格的産品,進而使企業和個人獲得預定的利益。

  2. 常見軟體項目管理方法介紹

  2.1 CMM/CMMI

  1986年11月,美國聯邦政府委托卡内基梅隆大學(Carnegie-Mellon)軟體工程研究所(SEI)開發一套用于評估軟體承包商能力的方法。SEI于1987年9月釋出了一套軟體過程成熟度架構和一套成熟度問卷。1991年,SEI将軟體過程成熟度架構發展成為軟體能力成熟度模型(Capacity Maturity Model,CMM),誕生了CMM 1.0。

  十幾年來,CMM的改進工作一直不斷地進行。美國國防部希望把現在所有的、以及将被開發出來的各種能力成熟度模型,內建到一個架構中去。到2000年,CMM演化成為CMMI(Capability Maturity Model Integration,能力成熟度模型內建)。CMMI不僅适合軟體,而且适合于軟體硬體結合的系統,這是對CMM最大的改進。

  CMM将能力成熟度分為5個級别,這5個成熟度等級為評價機構軟體過程能力提供了一個有序的級别。同時也為機構的軟體過程改進工作指明了方向,讓人們厘清輕重緩急,指導人們一步一步地改進過程能力而不是企圖跳躍式地前進。

  CMM有一個重要的概念是關鍵過程域(Key Process Area)。關鍵過程域指出為了達到某個成熟度等級必須要解決的一族問題。除了初始級(即CMM 1級)以外,每個成熟度等級都有若幹個關鍵過程域。

  CMM 2級有6個關鍵過程域:需求管理,軟體項目規劃,軟體項目跟蹤與監督,軟體子合同管理,軟體品質保證,軟體配置管理。

  CMM 3級有7個關鍵過程域:機構過程焦點,機構過程定義,教育訓練大綱,內建化軟體管理,組間協調,軟體産品工程,同行評審。

  CMM 4級有2個關鍵過程域:定量過程管理,軟體品質管理。

CMM 5級有3個關鍵過程域:預防缺陷,技術革新管理,過程變更控制。

  CMM共有18個過程域,基本上覆寫了項目管理和軟體開發的工作。目前CMM/CMMI已經成為世界範圍内用于衡量軟體開發和管理能力的事實上的标準。

  CMM/CMMI的主要應用問題:

  用CMM/CMMI指導企業的軟體過程改進工作是相當不錯的,但是企業要做的重要事情顯然不僅是軟體過程改進。企業最關注的是生存和發展問題,一切離不開賺錢。CMM/CMMI本身不談如何賺錢的問題。它假設了美好的前提條件,即企業有充足的人員、資金、時間從事軟體過程改進,當軟體過程能力提高了,那麼産品的品質、生産率自然上去了(同時成本也下降了),企業自然能夠擷取更多的利潤。軟體過程改進對企業經濟效益的貢獻是間接的,從投入到産出,時間相對比較長。

  遺憾的是,國内大部分企業沒有能力提供那麼好的前提條件,企業最缺乏的資源往往就是人員、資金和時間,企業上司當然想把資源用在“刀刃”上,即賺錢最多最快的地方。當軟體過程改進和其它直接賺錢的事情“發生資源沖突”時,隻好“拆東牆,補西牆”,往往減少軟體過程改進的資源。

  作者對應用CMM/CMMI的建議:

  CMM/CMMI是衡量企業軟體過程能力的國際标準,它對軟體過程改進有很多有益的指導。CMM/CMMI僅僅對等級評估做了強制要求,但是對企業“如何進行軟體過程改進”沒有強制要求,CMM/CMMI的數百頁文本并不是“放之四海皆準”的,企業可以采納也可以不采納。

  對于軟體過程改進而言,CMM/CMMI是用來參考的,而不是用來迷信的。企業在參考業界推薦的标準或規範時,要舍棄那些聽起來很先進但是對本企業無益處的東西,隻選取對企業有實用價值的東西。

  2.2 項目管理知識體系(PMBOK)

  項目管理協會(Project Management Institution,PMI)于1966年在美國賓州成立,是目前全球影響最大的項目管理專業機構,該機構的項目管理專家認證(Project Management Professional,PMP)被廣泛認同。PMI的突出貢獻是總結了一套項目管理知識體系(Project Management Body Of Knowledge,PMBOK)。

  PMBOK總結了項目管理實踐中成熟的理論、方法、工具和技術,也包括一些富有創造性的新知識。PMBOK把項目管理知識劃分為9個知識領域:綜合管理、範圍管理、時間管理、成本管理、品質管理、人力資源管理、溝通管理、風險管理和采購管理。每個知識領域包括數量不等的項目管理過程。

  PMBOK和CMM/CMMI對比簡評:

  CMM/CMMI論述的項目管理方法僅僅适用于軟體項目,但是不适用于其它行業的項目管理。PMBOK論述的方法适用于任何行業的項目管理,但是對軟體項目管理而言,PMBOK的針對性不夠強。

  CMM/CMMI不僅論述軟體項目管理,而且論述整個機構的軟體研發管理。PMBOK的方法局限于項目管理,對于企業研發管理則不夠用。

  CMM/CMMI基本上不談“成本管理”和“人力資源管理”,它先假設機構有充足的資金和人力資源,通常不切合企業實際情況。是以PMBOK的“成本管理”和“人力資源管理”可以彌補CMM/CMMI的不足。

作者建議:軟體機構采用CMM/CMMI作為主導的方法論,同時要學習PMBOK的知識,取長補短。

  

3. 常見軟體項目管理工具介紹

  如果你在網際網路上搜尋“項目管理工具、項目管理軟體”,可以找到上百個項目管理工具。由于企業的情況各色各樣,沒有辦法評選出最好的項目管理工具,因為一個功能很強的管理軟體如果不适合客戶,那麼對于這個客戶而言該軟體就不是很好。本文隻能介紹幾個比較有名氣的軟體,簡要說明它們的特征,企業在采購軟體的時候一定要根據自身需求去分析、選擇。

  最有名、使用者量最大的項目管理工具當推Microsoft Project(個人使用),及其延伸版本Project Server(團隊使用)。它的主要優點是:

?  ◆幫助使用者編制任務進度計劃、管理各種資源(人力、裝置等)、管理費用;可以繪制Gantt圖、各種統計圖形、生成圖文并茂的報表。

  ◆該軟體非常容易使用,不需要專門的教育訓練使用者自己就能學會。易用性是Microsoft軟體産品的共性優點。

?  ◆在國内,廣大計算機使用者很容易得到該軟體(絕大多數是盜版),這也是使用者量最大的根本原因。

  Microsoft Project幾乎可以管理任何行業的項目,這既是優點也是缺點:适用面太廣了,就缺乏針對性。例如,僅僅使用Microsoft Project來管理軟體項目是不夠的,因為Microsoft Project不支援軟體項目中的立項與結項、變更管理、需求管理、品質管理、軟體配置管理等重要管理工作。

  在IT行業比較有名的項目管理工具有:

  ◆CA公司的項目管理套件:Clarity Portfolio Manager用于戰略管理;Clarity Resource Manager 用于資源管理;Clarity Project Manager用于項目日常工作管理;Clarity Financial Manager用于項目财務管理;Clarity Process Manager用于項目流程管理。

  ◆Primavera公司的中低短産品SureTrak Project Manager,高端産品TeamPlay。

  ◆IBM 的PMOffice。PMOffice原本在大型項目管理領域很有名氣,IBM收購PMOffice之後将其納入Rational旗下,但是目前PMOffice尚未與Rational原先的軟體工程系列産品很好地整合。

  上述項目管理工具都是國際知名公司的軟體産品,盡管它們的功能和品牌已經相當卓越,但是并非普遍适合中國IT企業。主要原因是:

  國内大部分IT項目都是中小型項目,如果采用上述項目管理工具,不僅大材小用,而且把使用者累死。     國内大部分IT企業買不起上述項目管理工具,由于它們的複雜性遠遠高于Microsoft Project,即使有人拿到了盜版軟體,由于得不到專業教育訓練和服務,他也用不好。

作者建議:國内IT企業選擇項目管理工具時,應當綜合考慮“價格、功能、易用性”,最好親自試用後,再作決定。

4. 內建化項目管理方法SPP

作者從2002年開始創作并不斷改善适合國内中小型IT企業的內建化研發管理方法論,稱為“精簡并行過程”(Simplified Parallel Process, SPP)。SPP 的模型如圖1所示,SPP有三類過程:項目管理過程,項目研發過程,機構支援過程,共12個過程域。“精簡并行”的含義是:

? 對CMMI 3級以内各過程域的内容和要求作了“精簡”處理。

? 項目管理過程、項目研發過程和機構支援過程“并行”開展。

SPP的主要優點:

? ◆SPP融合了CMMI、項目管理與軟體工程知識,定義了易于執行的軟體開發和項目管理規範(約60頁文本)。過程模型清晰直覺,機構上司、項目經理、項目成員(開發人員、測試人員等)很容易知道自己“應該在什麼時候、按照什麼規範做什麼事情”。SPP模型有助于企業各個職能機關有條不紊地開展工作。

? ◆使用者可以根據本企業的特征,适當地裁剪或擴充SPP的過程域,很容易制定出最适合于本企業的過程模型。

SPP的主要缺點是:它不是标準,也沒有相應的認證,不具備CMM/CMMI、ISO9000認證的宣傳價值。

  5. 內建化項目管理Future

  Future是和SPP方法論配套的內建化項目管理系統,主要功能有:組織結構和人員管理、立項與結項、項目規劃與監控、需求開發與管理、風險跟蹤和變更管理、品質管理、配置管理、日常工作管理、上司綜合管理、論壇等。

  Future的目标是“讓項目管理變得簡單有效”,主要客戶是國内中小型IT企業,主要最終使用者是IT企業的研發主管、項目經理、開發人員、測試人員和品質管理人員等等。

繼續閱讀