大型SI類系統研發中的專案管理(轉)

urinator發表於2007-08-13
大型SI類系統研發中的專案管理
一、SI的興起—中國軟體產業的一個“機會”

顧名思義,SI就是系統整合的意思。系統整合的概念在IT業界一直十分模糊,假如你經營一家攢機店,假如你是做EAI的或是做MIS的,都可以標榜自己是做系統整合的公司。由於筆者是做軟體的,所以本文我所講的SI僅限於軟體產業。
在當今社會中,企業資訊化浪潮一浪高過一浪,SI的概念也被炒得沸沸揚揚,許多軟體企業已經達到了言必稱系統整合的地步,筆者認為,這雖然有些過熱,但SI的確是中國軟體產業的一個機會。

眾所周知,軟體在概念上被劃分成幾個層次,有作業系統、資料庫、中介軟體、開發平臺和應用軟體等等,每個層次都有各自的霸主,比如微軟和Unix/Linux就基本壟斷了作業系統的市場,Oracle等廠商在資料庫領域的稱雄,BEA以及IBM的中介軟體產品,微軟的開發工具集以及諸多的知名國外廠商在應用軟體領域的地位,都是我們國內軟體企業所望塵莫及的。

大家仔細分析一下就能夠發現,這些國外的老牌軟體企業哪個都是有10年以上的積累,做作業系統等高技術含量的產品,我們根本沒有實力和人家抗衡。

但是,做軟體SI研發就不同了,既然是做專案,大家在技術水平上基本沒什麼差距,所差的就是專案管理的經驗,筆者寫下本文的目的就是總結了自己在做聯想SCM外掛系統開發的專案經理時的一些經驗和體會,供大家分享,也歡迎各位提出寶貴的意見!

二、什麼是SI中的專案管理---“享受軟體開發”

為了保證SI系統開發成功,必須採用工程化的系統開發方法,並研究出一些符合工程化標準的開發方法。這些方法旨在指導開發者進行工程化的系統開發,從而加快SI系統開發的速度、保證質量、以及降低開發成本。工程化的系統開發方法確實在開發實踐中取得了一定的效果。

SI系統開發的專案管理是根據管理科學的理論,聯絡SI系統開發的實際,保證工程化系統開發方法順利實施的管理實踐。它包括SI系統開發中的專案評估及可行性分析、人員管理、進度管理及成本控制等方面。

所謂的專案管理,筆者認為其形式上是由專案經理通過對專案組成員的管理,最終完成專案的開發,提升客戶滿意度,但實際上,專案經理的作用越大,風險也就越大,軟體開發中的“個人英雄主義問題”就出現了。當然,筆者非常肯定“大師”,“大蝦”在專案中的巨大作用,但這些都是做小專案時的風格,一旦你參與甚至管理一個大型的SI類專案的時候,就會發現一套實用的流程和幾個清楚的模版要比一個專案經理更重要,如果制訂了好的流程和模版,專案經理會工作得十分輕鬆愉快,專案組開發成員也會充分享受到軟體工程和CMM給你帶來的享受。

三、SI類專案程式中的角色扮演與職責劃分---SI類專案中的“五角色”

當然,任何一種專案管理方法最終是要由人來實施的,人們在實施過程中不可避免地要遇到許多專案管理方面的問題,如何正確對待、解決這些問題,直接關係到SI系統開發的成敗。

目前IT界雖有許多關於SI系統開發中專案管理方面的問題的討論,但大多侷限於針對理想開發環境中的理想開發模型的討論。而實際的開發環境和開發模型卻各不相同,它受到各種客觀因素的影響,忽略這些因素,或者回避、不解決存在的問題,必將導致開發工作的不完善、甚至於失敗。本文就是要通過討論如何處理實際SI系統開發中一些重要因素之間的關係,分析專案管理中存在的矛盾,來揭示其中存在的問題並探討解決的方案。

筆者認為,在大型SI類專案研發的過程中,大致有兩大類五種角色:使用者方和開發方;如果將他們細分一下,大家不難發現,在一個專案中有如下幾類人:

使用者方專案經理:他是開發專案的組織者,負有開發專案的計劃、系統的階段驗收及對系統整體進度的監控、經費的使用、與開發方的專案管理人員工作的協調、使用者方的使用人員的組織與培訓等職責。
  使用者方業務人員:SI系統的需求的提出者,也是SI系統的終端使用者。他們是對應用系統開發成功與否的最終評判者,當然他們也是專案的測試角色,一般情況下可以做到確認測試。
  使用者方決策層:SI系統開發的最終決策機構,決策層要對SI系統開發的專案的上馬、經費的預算以及系統所要達到的總目標等作出決策。其決策直接關係到SI系統的開發成功與順利實施。
  開發方專案經理:負責專案的計劃、開發人員的組織與排程、開發進度的檢查、以及與使用者方專案管理人員工作的協調。
  開發方軟體研發人員:根據使用者方的需求、按照專案的計劃及進度進行系統設計,開發並完成單元測試。

四、靈活運用CMM和SE---SI類專案的“關鍵三要素”

熟悉軟體工程的人都知道,CMM和SE都是放之四海而皆準的公理,其準確性已經不許要我們討論了。但是,就像馬克思主義一樣,中國沒有完全照搬,而是結合了自己的實踐,總結出了毛澤東思想和鄧小平理論。我們在做專案的時候,對待CMM和SE也不能完全照搬,主要還是應該在其理論的指導下,結合自己的專案情況,定義出適合自己的專案管理方式和方法。

筆者在帶專案組的實踐中發現,有三樣東西是最實用的,那就是專案習慣和實用模版以及溝通學習。所謂的專案管理流程,具個例子說就是比如每週開一次專案例會,每天提交一次問題列表,編碼階段採用Daily Build等等習慣性的做法,筆者成其為“專案習慣”,“專案習慣”一旦養成,SI研發的效率會成倍的提高。

根據CMM和SE的思想製作適合自己專案的文件模版也是十分必要的,模版的制訂一定要讓大家認可,並且簡單實用,千萬不能為了文件而文件。當然,以上兩點都需要專案組全體成員共同制定,共同完成,在這其中,專案經理更像是一個監督者。

SI類專案的研發工作現在非常多,它包含了EAI、MIS、企業現有系統的升級和改造等等諸多方向,其共性在於都是業務驅動的專案,也就是說,在專案中有兩類人---業務人員和研發人員,由於大家看問題的著眼點不同,一個業務擅長一個技術擅長,這樣非常不利於專案管理,所以良好的溝通和互相學習的精神也是SI類專案成敗的關鍵。

總之,專案習慣、實用模版和溝通學習是筆者認為的SI類專案管理的三個要素。

五、大型SI類系統研發中專案管理總結—“IT冬天裡的一把火”

面對IT行業的寒冬,許多軟體企業已經認識到了做SI是一個新的利潤增長點,當然,他們的方向是沒有錯誤的,做此類專案最缺乏的就是專案管理的方式和方法。

冬天來了,春天還會遠嗎?所以筆者寫下了這篇文章,目的就是想給這把火裡添上幾根柴,讓他燒得再大一點,照亮這即將破曉的寒夜,迎來IT產業的又一個春天。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7942439/viewspace-21087/,如需轉載,請註明出處,否則將追究法律責任。

相關文章