摘要:
本文分析了軟體項目管理常見問題:缺乏項目管理系統教育訓練、項目計劃意識問題、管理意識問題、溝通意識問題、風險管理意識問題、不重視項目經驗的總結、項目幹系人相關問題、項目團隊内分工協作問題,抛磚引玉地提出了部分解決方案,提出了項目限制繩與多重目标模型。
關鍵字:
軟體項目管理、問題、分析
正文:
目前許多軟體開發公司實行了ISO品質管理體系,也有越來越多的公司通過了CMM軟體成熟度相應級别認證。各軟體在制定ISO品質管理體系時結合了部分項目管理的思想和技術,是以這些經過認證的公司的項目管理工作在ISO品質管理體系或CMM的幫助或限制下已有一定的規範,項目可以按照規定的過程一步一步做下去。但ISO體系注重的是品質管理(即用過程保證品質),早期更多的是針對制造業,而CMM主要是針對軟體開發過程的關鍵過程域,都沒有針對項目管理的全部範疇,如對于整體、範圍、進度、人力資源、成本、溝通、風險、采購等的管理,即使有涉及到也是在專業範圍内通過對過程的把握來保證各種品質要求,而在過程規定之外還需要依靠項目相關各方運用項目管理知識、工具、集體與個人的智慧來使項目管理做得更好,以保證項目在使用最少的時間、資源情況下按時保質地完成。
最近通過幾次 “項目管理知識教育訓練”,本人系統地學習了項目管理基礎和項目管理實踐等課程,掌握了項目管理在系統內建方面應用所必備的知識。結合所學的項目管理知識,我們可以對照我們原來的項目管理工作中存在的常見問題,利用項目管理知識進行分析,并提出解決的方案,希望有利于大家逐漸改進我們的項目管理工作。這些方案因受到本人知識和工作經驗的局限,隻能起到一個抛磚引玉或參考的作用。
分析目前項目管理需要改進的問題可以從幾種相關角色的角度去考慮:項目經理、項目組成員、公司管理人員、市場人員、客戶等。
問題一:缺乏項目管理系統教育訓練
相關對象:項目經理、管理人員
問題說明:項目經理在項目管理方面的教育訓練較少或不夠系統。項目經理或管理人員不了解項目管理的知識體系和一些常用工具和方法,是以在實際工作中沒有項目管理知識的指導,完全依靠個人現有的知識技能,管理工作的随意性、盲目性比較大。有些學員說:“聽了這些課才知道項目管理原來還有這麼多的學問。”例如對于如何利用工作分解結構使項目的工作範圍更加明确,如何用前導圖法對活動進行排序并估算項目進度、制定項目進度計劃,如何利用掙值法跟蹤項目進度,項目經理的職責與必備素質、應具備的能力、工作方法,如何根據各種組織結構及其優缺點進行選擇,如何對于風險進行定性定量分析等等,通過這次教育訓練有了初步的掌握,将能夠很快地應用到實際工作中。
問題點評:在軟體企業中,以前幾乎沒有專門招收項目管理專業的人員來擔任項目經理(甚至很少是管理專業的),被任命的項目經理主要是因為他們能夠在技術上獨當一面,而管理方面特别是項目管理方面的知識比較缺乏。是以項目經理接受系統的項目管理知識教育訓練是非常必要的,有了專業領域的知識與實踐,再加上項目管理知識與實踐和一般管理的知識和經驗的有機結合,必能大大提高項目經理的項目管理水準。
解決方案:實行項目經理知識技能資格考核制度,讓項目經理自覺補充學習項目管理的知識和一些常用工具和方法。
問題二:項目計劃意識問題
相關對象:項目經理
問題說明:項目經理對總體計劃、階段計劃的作用認識不足。項目經理認為計劃不如變化快,項目中也有很多不确定的因素,做計劃是走過場,是以制定總體計劃時比較随意,不少事情沒有仔細考慮;階段計劃因工作忙等理由經常拖延,造成計劃與控制管理脫節,無法進行有效的進度控制管理。
問題點評:漸近明細是項目的特點,但這并不意味着不需要計劃。沒有計劃或者是随意的不負責任的計劃的項目是一種無法控制的項目。在高技術行業,日新月異是主要特點,是以計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。例如對于較為大型的軟體開發項目的工作分解結構WBS可采用二次WBS方法。即根據總體階段劃分的總體WBS和專門針對詳細設計或編碼階段的二次WBS。這其中部分的原因是需求的顆粒度在一開始往往是比較粗的,是以根據功能點對于整體項目規模的估計誤差範圍也是比較大的。更為重要的原因是,需求往往不是編碼工作分解的準确依據,因為一個需求的功能點可能對應多個代碼子產品,而多個需求的功能點也可能隻對應一個或少數代碼子產品,同時還有軟體複用等因素要考慮,是以隻有在概要設計完成以後才能準确地得到詳細設計或編碼階段的二次WBS,根據代碼子產品的合理劃分而得出的二次WBS才能在詳細設計、編碼階段乃至測試階段起到有效把握和控制進度的作用。有些項目的需求或設計做得不夠詳細,無法對工作任務的分解、均衡配置設定和進度管理起參考作用,對此應當及時改善。
制定計劃的過程就是一個對項目逐漸了解掌握的過程,通過認真地制定計劃,項目經理可以知道哪些要素是明确的,哪些要素是要逐漸明确的,通過漸近明細不斷完善項目計劃。階段計劃中包含的工作彙報和下一階段工作安排是掌握項目進度的依據,從階段計劃對照總體計劃,才能一目了然地看出工作的進展情況。制定計劃的過程,也是在進度、資源、範圍之間尋求一種平衡的過程。制定計劃的精髓不在于寫出一份好看的文檔,而在于運用您的智慧去應對各種問題和面臨風險并盡可能做出前瞻性的思考。一旦計劃被負責任地完成,他就可以給自己一個和管理層或客戶交流與協商的基礎,幫助你在項目過程中防範各種問題的出現,幫助你保證項目按時完成。
解決方案:提高項目經理的計劃意識,采用項目計劃制定相關各種知識、技術、工具,加強對開發計劃、階段計劃的有效性進行事前事後的評估。
問題三、管理意識問題
相關對象:項目經理
問題說明:部分項目經理沒有意識到自己項目經理的角色,從總體上去把握管理整個項目,而是埋頭于具體的技術工作,造成項目組成員之間忙的忙、閑的閑,計劃不周、任務不均、資源浪費。
問題點評:在軟體企業中,項目經理大多是技術骨幹,技術方面的知識比較深厚,但無論是項目管理知識,還是項目管理必備的技能、項目管理必備的素質都有待補充和提高,項目管理經驗也有待豐富。有些項目經理對于一些不服管理的技術人員,沒有較好的管理方法,工作不好安排的工作隻好自己做。另外由于工作分解結構設計的合理性,項目任務無法有效、合理地配置設定給相關成員,以達到“負載均衡”。是以技術骨幹在擔任項目經理之前,最好能經過系統的項目管理知識,特别是其中的人力資源管理、溝通管理的學習,并且在實際工作中不斷提高自己的管理素質,豐富項目管理經驗,提高項目管理意識。
解決方案:加強項目管理方面的教育訓練,并通過對考核名額的合理設定和宣傳引導項目經理更好地做好項目管理工作。
問題四:溝通意識問題
相關人員:項目經理、項目組成員
問題說明:在項目中一些重要資訊沒有進行充分和有效的溝通。在制定計劃、意見回報、情況通報、技術問題或成果等方面與相關人員的溝通不足,造成各做各事、重複勞動,甚至造成不必要的損失;有些人沒有每天定時收郵件的習慣,以至于無法及時接收最新的資訊。
問題點評:項目溝通管理指出:“管理者要用70%的時間用于與人溝通,而項目經理需要花費90%或更多的時間來溝通”。和問題三的情況類似,在軟體企業中,項目經理大多是技術骨幹,而項目組成員也都是“高科技人員”,都具有“從專業或學術出發、工作自主性大、自我欣賞、以自我為中心”等共同的特點。是以妨礙溝通的因素主要是“感覺和态度問題”,也就是溝通意識和習慣的問題。在系統的實施階段或軟體開發的試運作階段,項目成員基本上是持續是在客戶方進行工作,這種情況非常容易忽視溝通。項目組與組織之間、項目組與項目組成員之間,甚至同一個項目組的不同成員之間,都有可能在不同的地點,如果沒有足夠的溝通意識和溝通制度、溝通工具,就有可能造成資訊不暢,進而加大項目失敗的風險。即使都在公司内部也應做到及時溝通。是以項目經理不但自己要把工作重點放在溝通,善于溝通,還要引導、約定整個項目團隊進行及時充分的溝通。
解決方案:制定有效的溝通制度和溝通機制,對由于缺乏溝通而造成的事件進行通報作為教訓提醒,以提高溝通意識;溝通方式應根據内容而多樣化,講究有效率的溝通;通過制度規定對由于未及時收取郵件而造成損失的責任歸屬;對于特别重要的内容要采用多種方式進行有效溝通以確定傳達到位,例如除發送郵件外還要電話提醒、回執等,重要的内容還要通過舉行各種會議進行傳達。
問題五:風險管理意識問題
相關人員:項目經理
問題說明:項目經理沒有充分分析可能的風險,對付風險的政策考慮比較簡單。項目經理在做項目規劃時常常沒有做專門的風險管理計劃文檔,而是合并在項目計劃書中。有些項目經理沒有充分意識到風險管理的重要性,對計劃書中風險管理的章節簡單應付了事,随便列出幾個風險,随便地寫一些簡單的對策,對于後面的風險防範起不到什麼指導作用。
問題點評:項目風險管理是對項目潛在的意外損失進行規劃、識别、估計、評價、應對和監控的過程,是對項目目标的主動控制手段。采取主動行動,創造條件,盡量擴大風險的有利結果,以最少的成本保證安全、可靠地實作項目目标。是以項目風險管理對于保證項目目标的實作是非常重要的。
解決方案:通過學習項目管理知識掌握風險識别、量化、對策研究、反應控制的工具和方法掌握項目風險管理所必備的知識。通過加強對項目規劃中風險管理計劃的稽核提高項目組的風險管理意識。總結本行業項目中常見的風險及其對策作為風險管理計劃中必要的風險内容,并切實評估相應對策的有效性和可行性。
問題六:不重視項目經驗的總結
相關人員:項目經理、管理人員
問題說明:項目經理在項目結束時有些是因為自身對寫文檔工作的興趣或意識,或者是因為緊接着要參加下一個項目,總體對項目總結的重視程度不夠。有些是項目總結報告一再拖延,有些是交上來的報告品質較低,敷衍了事。
問題點評:項目經驗總結非常重要,有利于組織内部或行業内部經驗與資料的積累,項目過程的改進和技術與管理經驗積累,對于今後的項目有非常重要的指導意義,是以應當引起項目經理及管理人員的足夠重視。在項目管理的39個過程中,需要輸入曆史資訊的就有9處之多。這些曆史資訊的來源從内部獲得的主要來自以前項目的經驗總結,可見項目經驗總結是非常必要的。曆史的資料使可以新的項目進行更為準确全面的規劃,曆史的教訓可以使新的項目少走不必要的彎路,少花不必要的代價,減少項目失敗的風險。
解決方案:在制度上鼓勵和加強項目經驗總結工作,使得項目總結及時并且具有指導意義而不是走過場。
問題七:項目幹系人相關問題
相關人員:項目經理、項目成員、客戶
問題說明:在範圍識别階段,項目組對客戶的整體組織結構、有關人員及其關系、工作職責等沒有足夠了解以緻于無法得到完整需求或最終經權威使用者代表确認的需求。由于項目經理的工作問題,客戶參與程度部不高,客戶方相關責任人不明确或對範圍和要求責任心不強,提出的要求具有随意性,項目前期對需求的确認不夠積極;或者是多個使用者代表各說各話、昨是今非但同時又要求項目盡早傳遞;項目後期需求變化随意,造成項目範圍的蔓延,進度的拖延,成本的擴大。
問題點評:項目幹系人STAKEHOLDER也有的翻譯成利益關系人、利害關系人、利益幹系人、利益共享者、涉衆等等,即所有可能受到項目結果重大影響的人(不知道是因為中國的詞彙過于貧乏,以至于你用來翻譯的詞我不滿意,非要找另一個,結果沒有一個詞可以真正表達STAKEHOLDER的原意;還是因為中國的詞彙過于豐富,愛怎麼選就怎麼選。看來中國要統一真是任重道遠啊。)。項目幹系人即可能是項目的受益者,也是項目的風險承擔者,甚至有可能是項目的受害者。項目幹系人的要求包含明确的和隐含的,也可以分為NEED、WANT、WISH等不同層次。不同的幹系人其願望和追求的目标往往相差甚遠,是以對項目幹系人的願望進行平衡可能是相當困難的事情。例如政府部門的不少對群衆辦公的資訊系統,上層管理機關往往希望能夠采集盡可能多的資訊項以便對資料進行多種多樣的統計分析,并對資訊進行有效控制而增加一些審批流程;基層對外辦公的視窗則因為辦公速度的壓力希望減少資訊的輸入;而客戶的客戶(辦事群衆)則希望相關政府機構能夠簡化工作流程,加快辦事速度。如果對項目所有幹系人沒有進行足夠的溝通和影響,使其盡可能地參與項目,則可能因為項目開始時項目範圍和一些具體要求不夠完整清晰,也可能因為某個項目幹系人後期因為認識的變化而提出新的要求,造成工期的延長,成本的增加,甚至項目的完全失敗。
解決方案:項目的目的就是實作項目幹系人的需求和願望。項目幹系人管理應當從項目的啟動開始,項目經理及其項目成員就要厘清項目幹系人包含哪些人群組織,通過溝通協調對他們施加影響,驅動他們對項目的支援,調查并明确他們的需求和願望,減小其對項目的阻力,以確定項目獲得成功。
問題八:項目團隊内分工協作問題
相關人員:項目經理、項目成員
問題說明:項目團隊内部有時由于各階段不同角色或同階段不同角色之間的責任分工不夠清晰而造成工作互相推诿、責任互相推卸的現象,有時各階段不同角色或同階段不同角色之間的責任分工比較清晰但是各項目成員隻顧完成自己那部分任務、不願意與他人協作。這些現象或多或少地造成了項目團隊内部資源的損耗,進而影響了項目的進展。
問題點評:出現這種情況主要是項目經理的責任,項目經理應當使用WBS盡快地将工作範圍進行分解,并将分解的工作責任配置設定給團隊成員,這樣就可以按任務厘清每個人的責任;雖然項目的進行有不同階段的劃分,但每個階段的結束不是簡單地把階段工作成果塞給下一階段的成員就可以了。特别是高科技的開發項目,上一階段的工作成果往往要通過多次的溝通才能更為清晰地被下一階段成員接受,其有效性、合理性也要被下一階段的工作所檢驗,通過檢驗有時也有必要對上一階段的工作結果進行相應的調整。在同一個階段中,不同的分工之間也存在各種各樣複雜的關系,互相之間通過接口,一個或幾個項任務的輸出是另一個或幾個任務的輸入。是以,無論是同一階段不同人員之間,或是不同階段人員之間都應根據需要互相協作,互相配合,共同完成項目任務。
解決方案:項目經理應當對項目成員的責任進行合理的配置設定并清楚地說明,同時應強調不同分工、不同環節的成員應當互相協作,共同完善。
以上對軟體開發項目管理中出現的問題的分析可能還不夠深入,也無法列舉所有遇到或将遇到的問題,解決方案也要根據實際情況進行調整,隻能作為個人的觀點,希望引起大家對這些問題的思考、改進。
項目是在一定資源及環境的限制下為完成某一獨特的産品或服務所作的一次性努力。項目應當具有明确的目标,而這個目标往往是多重的,需要考慮範圍目标、品質目标、進度目标、成本目标和其他目标等等。在一定條件的限制下,要想使各種目标都達到完美是不可能的任務,必須對各種目标的重要性進行排序、取舍、平衡。就像圖1所示,資源的限制就像一條繩子,牽制着各項目标的達成。例如,假設品質目标是最重要的,則一定要有足夠的資源或時間作為保障,這就是犧牲成本目标或進度目标;假設沒有足夠的資源或時間,又要完成項目範圍目标,則品質目标必然受到犧牲。有一種觀點認為,為了保證某個目标的實作,就要把其他目标的标準降低,是以對其他目标達成的評價标準也要相應調整到較為寬松的程度。這種想法是不正确的。目标達成的評價标準應該是對所有項目都一視同仁的,對同類的不同項目應當采用相同的評價标準,這樣才能在項目組織間取得平衡。例如對品質的要求,一般項目需要90分才算完成品質目标,而對某些進度、資源緊張的項目,80分就可以算完成品質目标。這樣才能對項目的品質有個可橫向比較的、實事求是的結論,而不是對此項目降低評估标準去夠到90分的品質目标。同時這種情況下的考核結果不能作為相關項目成員水準的名額。
由于的資源限制性、多重目标性,需要項目經理努力學習項目管理相關知識、技能,在實踐中鍛煉提高,解決各種各樣的問題,使項目管理工作越做越好。

圖注:
1、 其他目标:可能是組織目标(如鍛煉隊伍、學習技術)、政治目标、市場目标等等;
2、 産品範圍是相對固定的,其變更需要經過項目幹系人協商一緻;
3、 限制繩:資金、裝置、技術、人員等資源和法律法規、标準規範、人文環境等等形成的綜合影響。