1. 程式人生 > >軟體專案管理經驗點滴總結

軟體專案管理經驗點滴總結

一、研究背景
在這幾年的軟體專案管理中,一些失敗的軟體專案給我留下了深刻的印象。後來,我們結合專案管理的知識(參加了信產部《整合系統專案經理》的
培訓及美國PMP專案管理的學習),開始反思,吸取教訓,總結經驗,並根據公司的實際情況,結合PMP的五大過程九個知識領域及CMMI的相關要求適當裁
減進行專案管理,順利完成了上海浦東國際機場、青島流亭國際機場、武漢天河國際機場等國內各大中型機場安檢資訊管理系統的實施,為2008北京奧運的成功

舉辦提供安全保障。因此,本文主要討論在軟體專案的專案管理問題。

二、專案管理的兩個問題
      如果用兩個字概括當前社會的特點,那就是“變化”,而這種變化在資訊產業中體現得尤為突出,技術創新速度越來越快,使用者需求與市場不斷變
化,人員流動也大大加快。在這種環境下,企業需要應對的變化以及由此帶來的挑戰大大增加,也給管理帶來了很多問題和挑戰。軟體行業是一個極具挑戰性和創造
性的新行業,管理上沒有成熟的經驗可供借鑑。而專案管理應該說對於軟體企業,尤其是那些以應用開發為主的軟體企業,是行之有效的管理方法。因此,專案管理
在軟體開發中的應用日益受到重視。

  專案管理的兩個問題: 什麼是專案管理?為什麼要有專案管理?

  專案管理是在一定的約束條件下,以高效率地實現專案業主的目標為目的,以專案經理個人負責製為基礎和以專案為獨立實體進行經濟核算,並按照專案內在的邏輯規律進行有效的計劃、組織、協調、控制的系統管理活動。

  沒有專案管理,專案也有可能成功。但沒有管理的專案,很難保證專案的利潤空間,對公司來說,虧損的風險就大。所以我們要有專案管理,以保證公司在總體上是盈利的,注意不是每一個專案都要盈利。

  另外,有了專案管理,就有了管理改進的基礎,無論剛開始的專案管理多麼糟糕,只要有管理,就有了改進的可能性,至於能不能得到改進,以及改
進的快慢,則取決於兩個因素:一個是人,特別是各級管理者;另一個是利益。關鍵是“利益”,準確的說是“利益的分配”,在權責利明確的前提下,人才能充分
的發揮作用。還需要指出的是“利益”是多元的,這裡的多元不僅指利益的具體形式,而且指利益的受眾是多元的,包括客戶方相關人員個人的利益。

  今天,專案管理作為一種現代化管理方式在國際上已獲得了廣泛的應用,從最初的國防、航天、建設工程領域,迅速發展到電子、通訊、計算機、軟
件開發、金融等行業以及政府機關的專案管理工作。隨著計算機、網路系統的迅速發展,專案管理技術的不斷進步,專案管理軟體產品層出不窮,其功能、特點、應
用物件也各不相同。

  軟體開發是一項複雜的系統工程,牽涉到各方面的因素,軟體開發正逐步趨向於複雜化、多元化,大多數開發團隊中都會出現同時開發多個版本、開
發/維護工作並存、多地點同時開發等情況,給軟體開發管理帶來了前所未有的困難,甚至面臨失敗。如果管理不善,必將造成版本混亂,各個開發人員的工作相互
交叉、干擾,整個開發團隊的工作在一種無秩序的不良狀況下執行,嚴重影響軟體產品開發的進度和質量。如何總結、分析失敗的原因,得出有益的教訓,對一個公
司來說,是在今後的專案中取得成功的關鍵。

  三、如何衡量軟體專案成功與否

  軟體專案如何衡量其成功與否,一直是業內爭論很久的話題。從我們對專案的定義,可以知道資訊化專案的關鍵要素只有三個,即時間、成本、質
量。即專案有沒有在進度上超出計劃?專案在成本上有沒有超出預算?專案在質量上有沒有滿足需求?後者還可以進一步分解成更細的標準,如:系統的功能是否符
合需求計劃?系統的資訊處理和執行方式是否合適?專案的整體執行狀態是否適應企業的運營體系?等等。然而,軟體本身是一個複雜的管理系統工程,以什麼樣的
指標體系去衡量,如何衡量,確實是個大難題。軟體專案的失敗,具體分析可能會發現很多種原因。

  四、軟體專案管理常見問題及解決方案

  對於軟體開發專案中,經常出現兩種極端情況,一種是創造了新的生產率和質量的紀錄;一種則完全是一場災難,不是被取消就是拖延很長時間。前
者如在很短的時間內,為了趕進度,在幾乎不可能的時間內開發出一套軟體產品,創造了軟體開發的記錄,滿足了上級所要求的上機日期,由於開發時間太短,過於
倉促,上機時,問題百出,試執行時間長達幾個月或一年半載的,而且程式一改再改,維護工作量大。後者,如某套系統未弄清楚需求,或因設計問題,開發失敗。
通過提煉這些成功和失敗的例子,軟體專案成功或失敗的根本原因可能會更清晰一些。

  分析目前專案管理需要改進的問題可以從幾種相關角色的角度去考慮:專案經理、專案組成員、公司管理人員、市場人員、客戶等。

  問題一:缺乏系統的專案管理培訓(相關物件:專案經理、管理人員)

  專案經理在專案管理方面的培訓較少或不夠系統。專案經理或管理人員不瞭解專案管理的知識體系和一些常用工具和方法,在實際工作中,沒有專案
管理知識的指導,完全依靠個人現有的知識技能,管理工作的隨意性、盲目性比較大。在一些軟體企業中,以前幾乎沒有專門招收專案管理專業的人員來擔任專案經
理(甚至很少是管理專業的),被任命的專案經理主要是因為他們能夠在技術上獨當一面,而管理方面特別是專案管理方面的知識比較缺乏。

  解決方案:專案經理接受系統的專案管理知識培訓是非常必要的,有了專業領域的知識與實踐,再加上專案管理知識與實踐和一般管理的知識和經驗的有機結合,必能大大提高專案經理的專案管理水平。

  專案實踐:我司陸續安排專案經理或儲備經理,分別參加了信產部的《整合系統專案經理》,美國PMP專案管理及較具實戰性的《清華總裁班專案管理實戰》的培訓學習,讓專案經理深入學習專案管理的知識體系、常用工具和管理方法。

  問題二:專案團隊內分工協作問題(相關人員:專案經理、專案成員)

  專案團隊內部有時由於各階段不同角色或同階段不同角色之間的責任分工不夠清晰而造成工作互相推諉、責任互相推卸的現象,有時各階段不同角色
或同階段不同角色之間的責任分工比較清晰,但是各專案成員只顧完成自己那部分任務、不願意與他人協作。這些現象或多或少地造成了專案團隊內部資源的損耗,
從而影響了專案的進展。

  解決方案:專案經理應當對專案成員的責任進行合理的分配並清楚地說明,同時應強調不同分工、不同環節的成員應當相互協作,共同完善。

  專案實踐:公司專門聘請清華總裁班高階講師黃瑞生對全公司人員進行《高績效團隊打造》培訓,本課程全面講授打造高績效團隊的方法和技巧,內容涵蓋團隊的概念、團隊的發展階段和不同的領導方法、挑選團隊成員方法、有效的團隊目標的制定方法等諸多方面。同時還紹了打造高績效團隊的七大技巧:團隊
溝通技巧、團隊激勵技巧、團隊衝突處理技巧、團隊決策技巧、團隊成員訓練技巧、召開團隊會議的技巧等等,還組織了餘世偉主講的《贏在執行》視訊講座。從而
大大提高專案團隊成員間相互配合、協調能力和執行能力。
  問題三:溝通意識問題(相關人員:專案經理、專案組成員)  在專案中一些重要資訊沒有進行充分和有效的溝通。在制定計劃、意見反饋、情況通報、技術問題或成果等方面與相關人員的溝通不足,造成各做各事、重複勞動,甚至造成不必要的損失;沒有明確的溝通媒介,以至於無法及時接收最新的資訊。特別是專案經理無法精確的傳達公司決策,專案運營,無法合理的
激發團隊,勢必影響專案效率,
  解決方案:提高專案經理演講能力,制定有效的溝通制度和溝通機制,對由於缺乏溝通而造成的事件進行通報作為教訓提醒,以提高溝通意識;溝通方式應根據內容而多樣化,講究有效率的溝通;對於特別重要的內容要採用多種方式進行有效溝通以確保傳達到位,例如除傳送郵件外還要電話提醒、回執等,重要
的內容還要通過舉行各種會議進行傳達。
  專案實踐:公司安排專案經理參加了清華總裁班高階講師黃瑞生主講的《TTT培訓師》培訓,不僅有效的提高了專案經的演講能力,併為後來組織的民航安檢交流會的成功演講奠定了基礎。
  問題四:質量管理問題(相關人員:質量經理,專案經理,專案團隊)
  有些公司未建立有效的質量管理標準,專案經理沒有充分的質量規劃,甚至有些專案經理沒有充分意識到質量管理的重要性,專案在開發過程未加強對專案質量,配置管理的監督和稽核,造成專案維護成本高等問題。
  解決方案:通過學習質量管理體系知識,掌握質量規劃、質量保證、質量控制。研究和學習質量控制的工具和方法,掌握專案質量管理所必備的知
識。質量管理包括:質量計劃編制、質量保證和質量控制三個過程域。質量計劃是質量管理的第一過程域,它主要結合各個公司的質量方針,產品描述以及質量標準
和規則通過收益、成本分析和流程設計等工具制定出來實施方略,其內容全面反應使用者的要求,為質量小組成員有效工作提供了指南,為專案小組成員以及專案相關
人員瞭解在專案進行中如何實施質量保證和控制提供依據,為確保專案質量得到保障提供堅實的基礎。質量保證則是貫穿整個專案全生命週期的有計劃和有系統的活
動,經常性地針對整個專案質量計劃的執行情況進行評估、檢查與改進等工作,向管理者、顧客或其他方提供信任,確保專案質量與計劃保持一致。質量控制是對階
段性的成果進行檢測、驗證,為質量保證提供參考依據,它是一個PDCA迴圈過程。
  專案實踐:公司根據現執行ISO體系,結合CMMI3的相關要求,制定《專案過程管理指南》,有效的指導專案經理進行質量管理,並邀請上海
漫索林銳博士對產品部和市場部進行《軟體研發和專案質量管理》課程培訓,還有針對選擇適合公司需要的整合化管理平臺,確保專案在開發實施過程中的組織過程
資產,得到有效的跟蹤和管理,讓專案管理更清楚,更條理化。
  問題五:風險管理問題(相關人員:專案經理,專案團隊)
  專案經理沒有充分分析可能的風險,對付風險的策略考慮比較簡單。專案經理在做專案規劃時常常沒有做專門的風險管理計劃文件,而是合併在專案
計劃書中。有些專案經理沒有充分意識到風險管理的重要性,對計劃書中風險管理的章節簡單應付了事,隨便列出幾個風險,隨便地寫一些簡單的對策,對於後面的
風險防範起不到什麼指導作用。
  解決方案:通過學習專案管理知識掌握風險識別、量化、對策研究、反應控制的工具和方法掌握專案風險管理所必備的知識。通過加強對專案規劃中
風險管理計劃的稽核提高專案組的風險管理意識。總結本行業專案中常見的風險及其對策作為風險管理計劃中必要的風險內容,並切實評估相應對策的有效性和可行
性。
  專案實踐:專門建立了專案風險管理流程,加強在專案立項等各過程的技術評審,風險識別,風險跟蹤,風險應對的監督和管理。
  問題六:專案計劃意識問題(相關物件:專案經理)
  專案經理對總體計劃、階段計劃的作用認識不足。專案經理認為計劃不如變化快,專案中也有很多不確定的因素,做計劃是走過場,因此制定總體計
劃時比較隨意,不少事情沒有仔細考慮;階段計劃因工作忙等理由經常拖延,造成計劃與控制管理脫節,無法進行有效的進度控制管理。沒有計劃或者是隨意的不負

責任的計劃的專案是一種無法控制的專案。

  解決方案:在高技術行業,日新月異是主要特點,因此計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。提高專案經理的計劃意識,採用專案計劃制定相關各種知識、技術、工具,加強對開發計劃、階段計劃的有效性進行事前事後的評估。
  專案實踐:通過合理利用專案進度管理工具Project,加強專案變更、變更評審和變更稽核機制,為新專案提供參考和借鑑。
  問題七、管理意識問題(相關物件:專案經理)
  部分專案經理沒有意識到自己專案經理的角色,從總體上去把握管理整個專案,而是埋頭於具體的技術工作,造成專案組成員之間忙的忙、閒的閒,
計劃不周、任務不均、資源浪費。在軟體企業中,專案經理大多是技術骨幹,技術方面的知識比較深厚,但無論是專案管理知識,還是專案管理必備的技能、專案管
理必備的素質都有待補充和提高,專案管理經驗也有待豐富。有些專案經理對於一些不服管理的技術人員,沒有較好的管理方法,工作不好安排的工作只好自己做。
另外由於工作分解結構設計的合理性,專案任務無法有效、合理地分配給相關成員,以達到“負載均衡”。
  解決方案:加強專案管理方面的培訓,並通過對考核指標的合理設定和宣傳引導專案經理更好地做好專案管理工作。技術骨幹在擔任專案經理之前,
最好能經過系統的專案管理知識,特別是其中的人力資源管理、溝通管理的學習,並且在實際工作中不斷提高自己的管理素質,豐富專案管理經驗,提高專案管理意
識。
  專案實踐:公司對產品部的生產和運營進行管理創新,從原來執行的專案型管理向矩陣型管理轉變,籌建管理、技術、業務三個中心和加強團隊協
作、實現自我價值兩個基本點,為客戶提供適當質量的產品和服務。各中心目標:管理中心形成一致管理思想,貫徹組織任務、進行專案集管理;業務中心打通業務
知識、分享行業經驗,逐步形成業務、質量、客服、實施等過程資產,產生業務專家、銷售顧問;技術中心進行核心業務研發與技術難點攻關,組建實驗室,形成核
心元件管理。還專門組織技術中心成員參加微軟MSUP《系統架構師》培訓及業務中心成員參加《WCF技術》培訓。
  問題八:不重視專案經驗的總結(相關人員:專案經理、管理人員)
  專案經理在專案結束時有些是因為自身對寫文件工作的興趣或意識,或者是因為緊接著要參加下一個專案,總體對專案總結的重視程度不夠。有些是專案總結報告一再拖延,有些是交上來的報告質量較低,敷衍了事。
解決方案:在制度上鼓勵和加強專案經驗總結工作,使得專案總結及時並且具有指導意義而不是走過場。
  問題九:專案干係人相關問題(相關人員:專案經理、專案成員、客戶)
  在範圍識別階段,專案組對客戶的整體組織結構、有關人員及其關係、工作職責等沒有足夠了解以致於無法得到完整需求或最終經權威使用者代表確認
的需求。由於專案經理的工作問題,客戶參與程度部不高,客戶方相關責任人不明確或對範圍和要求責任心不強,提出的要求具有隨意性,專案前期對需求的確認不
夠積極;或者是多個使用者代表各說各話、昨是今非但同時又要求專案儘早交付;專案後期需求變化隨意,造成專案範圍的蔓延,進度的拖延,成本的擴大。
  解決方案:專案的目的就是實現專案干係人的需求和願望。專案干係人管理應當從專案的啟動開始,專案經理及其專案成員就要分清專案干係人包含
哪些人和組織,通過溝通協調對他們施加影響,驅動他們對專案的支援,調查並明確他們的需求和願望,減小其對專案的阻力,以確保專案獲得成功。
  以上對軟體開發專案管理中出現的問題的分析還不夠深入,也無法列舉所有遇到或將遇到的問題,解決方案也要根據實際情況進行調整,希望引起對這些問題更多的思考和改進。
  專案管理雖然沒有非常高深的理論,但要真正實施起來,也絕非易事。對於軟體開發企業而言,這不是一個小的改變,而是一種變革,企業需要為此
付出艱苦的努力,宣傳並樹立公司範圍內的專案管理文化十分重要。從而在實踐中鍛鍊提高,解決各種各樣的問題,使專案管理工作越做越好。