大型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產業的又一個春天。
原文轉自:http://www.anti-gravitydesign.com