- 軟件項目管理案例教程(第5版)
- 韓萬江 姜立新等編著
- 3170字
- 2025-01-22 14:10:38
1.2 項目管理與軟件項目管理
項目普遍存在于人們的工作和生活中,如何管理這些項目是一項需要研究的任務。項目管理起源于美國,20世紀四五十年代主要應用于國防和軍工項目,后來廣泛應用于工商、金融、信息等產業及行政管理領域。目前,項目管理已經成為綜合多門學科的新興研究領域,其理論來自工作實踐。項目管理是指把各種系統、方法和人員結合在一起,在規定的時間、預算和質量目標范圍內完成項目的各項工作。對于一個組織的管理主要包括3個部分,即戰略管理、運作管理、項目管理。戰略管理(strategy management)是指從宏觀上幫助企業明確和把握發展方向。運作管理(operation management)是指對日常的、重復性工作的管理。項目管理(project management)是指對一次性、創新性工作的管理。項目是企業的最小盈利單位,項目管理自然成為構筑企業利潤的基石,從這種意義上說,項目管理是企業的核心競爭力所在。由于項目管理具有效率高、反應靈敏的優點,因此更多企業希望采取項目式管理(management by project)的方式,從而可以更及時地處理用戶的需求,使管理更高效,提高企業的管理質量。實施項目管理可以提高項目的效益,這里所指的項目的效益是一個綜合性指標,包括低風險、高產出等。因此,不難得出在實施項目管理時應該掌握的度,即引入項目管理后所產生的效益減去項目管理的成本后必須大于未引入項目管理時的效益。由于引入項目管理后所產生的效益與項目管理的復雜度(項目管理的成本)并非線性相關的,因此項目管理的復雜度必然存在一個最優值,這就是我們應該掌握的度,這個度能夠被大家認可并且被準確地理解和實施。
1.2.1 項目管理背景
隨著世界由工業時代進入信息時代,時空概念的根本改變增加了項目的復雜性和可變性。項目涉及的范圍和時間、空間跨度都在以空前的速度擴大。而隨著行業競爭的加劇,項目只有在最少時間、最低成本的情況下完成才有意義。項目本身的復雜性和巨大風險以及在分工合作中個人經驗的不確定性,使個人經驗已無法確保項目的成功或按時完成。項目管理是20世紀50年代后期發展起來的一種計劃管理方法,它一出現就引起了人們的廣泛關注。1957年,美國杜邦公司把這種方法應用于設備維修,把維修停工時間由125h銳減為78h;1958年,美國人在北極星導彈設計中應用項目管理技術,把設計完成時間縮短了兩年。由于項目管理在運作方式和管理模式上最大限度地利用了內外資源,從根本上改善了管理人員的工作程序,提高了效率,降低了風險,因此自20世紀60年代以來,它被廣泛運用于航空航天、國防、信息、建筑、能源、化工、制造、環保、交通運輸、金融、營銷、服務、法律等行業。項目管理不僅適用于大公司,而且適用于小型企業。目前,在全球發達國家的政府部門和企業機構,項目管理已成為運作的中心模式。
1.2.2 項目管理
項目管理是指一定的主體,為了實現其目標,利用各種有效的手段,對執行中的項目周期的各階段工作進行計劃、組織、協調、指揮、控制,以取得良好經濟效益的各項活動的總和。通過項目各方干系人的合作,把各種資源應用于項目,以實現項目的目標,使項目干系人的需求得到不同程度的滿足。因此,項目管理是伴隨著項目的進行而進行的一系列管理行為,目的是確保項目能夠達到期望結果。要想滿足項目干系人的需求和期望,達到項目目標,需要在以下相互之間有沖突的要求中尋求平衡:范圍、時間、成本和質量;有不同需求和期望的項目干系人;明確表達的要求(需求)和未明確表達的要求(期望)。項目管理有時被描述為對連續性操作進行管理的組織方法。這種方法應該被更準確地稱為“由項目實施的管理”,它是將連續性操作的許多方面作為項目來對待,以便可以對其采用項目管理的方法。所以,對于一個通過項目實施管理的組織而言,對項目管理的認識顯然是非常重要的。項目管理是要求在項目活動中運用知識、技能、工具和技術,以便達到項目目標的活動。項目管理類似導彈發射的控制過程,需要一開始設定好目標,然后在飛行中鎖定目標,同時不斷調整導彈的方向,使之不能偏離正常的軌道,最終擊中目標。軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。
1.2.3 軟件項目管理
軟件項目管理是軟件工程的重要組成部分,用于確保軟件項目滿足預算、成本等約束,從而提交高質量的軟件產品。好的項目管理不能保證項目成功,但是不好的項目管理一定會導致項目失敗:軟件可能會延遲交付,成本可能會超支,軟件可能無法滿足客戶的要求。
當前社會的特點是“變化”,而這種變化在信息產業中尤為突出,技術創新速度越來越快,用戶需求與市場不斷變化,人員流動也大大加快。在這種環境下,企業需要應對的變化及由此帶來的挑戰大大增加,這也給項目管理帶來了很多問題和挑戰。目前軟件開發面臨很多的問題,例如:
? 在有限的時間、資金條件下,要滿足不斷增長的軟件產品質量要求。
? 開發環境日益復雜,代碼共享日益困難,需跨越的平臺增多。
? 程序的規模越來越大。
? 軟件的重用性需要提高。
? 軟件的維護越來越困難。
因此,軟件項目管理顯得更為重要。軟件項目管理是在20世紀70年代中期由美國提出的,當時美國國防部專門研究了軟件項目不能按時提交、預算超支和軟件質量達不到用戶要求的原因,結果發現70%是由管理不善引起的,而非技術原因。于是軟件開發者開始逐漸重視起軟件開發中的各個項目的管理。
軟件項目管理和其他項目管理相比具有以下特殊性。
? 軟件是純知識產品,其開發進度和質量難以估計和度量,生產效率也難以預測和保證。與普通的項目不同,軟件項目的交付成果事先“看不見”,并且難以度量,特別是很多應用軟件項目涉及業務流程再造或業務創新。因此,在項目早期,客戶很難描述清楚需要提交的軟件產品,但這一點對軟件項目的成敗又是至關重要的。與此矛盾的是,公司一般安排市場銷售人員來談判,目的是迅速簽約,甚至為了盡早簽約而“過度承諾”,遇到模糊性問題時也怕節外生枝,所以避而不談,而甲方為了保留回旋余地,也不愿意說得太清楚,更不愿意主動提出來(因為甲方還有最終驗收的主動權)。項目經理一旦接手項目,所有這些沒有說清楚的隱患和口頭承諾都將暴露出來,并最終由項目經理承擔。
? 項目周期長,復雜度高,變數多。軟件項目的交付周期一般比較長,一些大型項目的周期可以達到2年以上,這樣長的時間跨度內可能發生各種變化。軟件系統的復雜性導致了開發過程中難以預見和控制各種風險。從外部因素來看,商業環境、政策法規的變化會對項目范圍、需求造成重大影響,例如,作者曾經參與的金融項目臨近上線時,國家推出了“利息稅”政策,造成整個系統的大幅變更。從內部因素來看,組織結構、人事變動等對項目的影響更加直接,有時新領導到任后,其思路的變化,甚至對項目的重視程度的變化,都可能直接影響項目的成敗。
? 軟件需要滿足一群人的期望。軟件項目提供的實際上是一種服務,服務質量不僅僅在于最終交付的質量,更重要的是客戶的體驗。實際上,項目的“客戶”不是一個人,而是一群人,他們可能來自多個部門,并且對項目的關注點不同,在項目中獲得的利益也不同。所以,當我們談到滿足“客戶需求”時,實際是指滿足一群想法和利益各不相同的人的需求。所以,進行軟件項目管理是必要的。
軟件項目管理的根本目的是讓軟件項目尤其是大型軟件項目的生命周期能在管理者的控制之下,以預定成本按期、按質地完成,并交付用戶使用。而研究軟件項目管理是為了從已有的成功或失敗的案例中總結出能夠指導今后開發的通用原則、方法,以避免重蹈覆轍。
實際上,軟件項目管理的意義不僅如此,進行軟件項目管理有利于將開發人員的個人開發能力轉化成企業的開發能力,企業的軟件開發能力越高,表明企業的軟件生產越趨于成熟,企業越能夠穩定發展,從而越能減小開發風險。
無論是傳統軟件項目管理、敏捷軟件項目管理還是智能化時代的軟件項目管理,其關鍵就是要找到軟件項目的本質和核心,大道至簡。