計算機管理信息系統(tǒng)(簡稱MIS系統(tǒng))的開發(fā)是一項復雜的系統(tǒng)工程。從70年代開始,人們逐漸認識到,為了保證MIS系統(tǒng)開發(fā)成功,必須采用工程化的系統(tǒng)開發(fā)方法,并研究出一些符合工程化標準的開發(fā)方法。這些方法旨在指導開發(fā)者進行工程化的系統(tǒng)開發(fā),從而加快MIS系統(tǒng)開發(fā)的速度、保證質量、以及降低開發(fā)成本。工程化的系統(tǒng)開發(fā)方法確實在開發(fā)實踐中取得了一定的效果。
那么,是不是采用了工程化的系統(tǒng)開發(fā)方法便一定能保證MIS系統(tǒng)開發(fā)的成功呢?答案是否定的。有許多失敗的MIS系統(tǒng)的例子,其開發(fā)也是采用了工程化的方法,或聲稱采用了這種方法。但結果在投入了大量資金后,系統(tǒng)卻不能達到預期的目標、滿足用戶的需求,以致用戶方懷疑是否應進行該項目的開發(fā),或者開發(fā)所選擇的硬件、軟件以及開發(fā)工具是否得當。究竟問題出在哪里呢?筆者通過對一些失敗的MIS系統(tǒng)的分析,發(fā)現問題并沒有出在開發(fā)方法本身,以及硬軟件的選擇上,而是出在了開發(fā)方法的實施過程中,也是說主要出在開發(fā)項目的管理上。
任何一種開發(fā)方法終是要由人來實施的,人們在開發(fā)工作實施過程中不可避免地要遇到許多項目管理方面的問題,如何正確對待、解決這些問題,直接關系到MIS系統(tǒng)開發(fā)的成敗。目前計算機界雖有許多關于MIS系統(tǒng)開發(fā)中項目管理方面的問題的討論,但大多局限于針對理想開發(fā)環(huán)境中的理想開發(fā)模型的討論。而實際的開發(fā)環(huán)境和開發(fā)模型卻各不相同,它受到各種客觀因素的影響,忽略這些因素,或者回避、不解決存在的問題,必將導致開發(fā)工作的不完善、甚至于失敗。本文是要通過討論如何處理實際MIS系統(tǒng)開發(fā)中一些重要因素之間的關系,分析項目管理中存在的矛盾,來揭示其中存在的問題并探討解決的方案。
什么是MIS系統(tǒng)開發(fā)的項目管理
MIS系統(tǒng)開發(fā)的項目管理是根據管理科學的理論,聯系MIS系統(tǒng)開發(fā)的實際,保證工程化系統(tǒng)開發(fā)方法順利實施的管理實踐。它包括MIS系統(tǒng)開發(fā)中的項目評估及可行性分析、人員管理、進度管理及成本控制等方面。
項目開發(fā)中的角色及其職責
一個MIS系統(tǒng)的開發(fā)需要用戶方與開發(fā)方的共同協(xié)作。在一個MIS系統(tǒng)開發(fā)中,開發(fā)方人員和用戶方人員各自扮演著不同的角色。主要角色有:
用戶方的項目管理人員:他是開發(fā)項目的組織者,負有開發(fā)項目的計劃、系統(tǒng)的階段驗收及對系統(tǒng)整體進度的監(jiān)控、經費的使用、與開發(fā)方的項目管理人員工作的協(xié)調、用戶方的使用人員的組織與培訓等職責。
用戶方的業(yè)務人員:MIS系統(tǒng)的需求的提出者,也是MIS系統(tǒng)的終用戶。他們是對應用系統(tǒng)開發(fā)成功與否的終評判者。
用戶方的決策層:MIS系統(tǒng)開發(fā)的終決策機構,決策層要對MIS系統(tǒng)開發(fā)的項目的上馬、經費的預算以及系統(tǒng)所要達到的總目標等作出決策。其決策直接關系到MIS系統(tǒng)的開發(fā)成功與順利實施。
開發(fā)方的項目管理人員:負責項目的計劃、開發(fā)人員的組織與調度、開發(fā)進度的檢查、以及與用戶方項目管理人員工作的協(xié)調。
開發(fā)方的軟件編程人員:根據用戶方的需求、按照項目的計劃及進度進行系統(tǒng)開發(fā)。
項目管理中各種問題及各種關系的處理
1、用戶方與開發(fā)方的關系
用戶方與開發(fā)方是對立的統(tǒng)一體,雙方均希望將開發(fā)項目做好。但用戶方可能對計算機系統(tǒng)工程,如工程組織,缺乏全面的了解;而開發(fā)方對用戶方的需求、細節(jié)了解不充分等因素,使得用戶方與開發(fā)方對工程的理解從一開始存在著差異。而這種認識上的差異與理解的不同往往在開發(fā)初期并沒有表現出來,當系統(tǒng)開發(fā)結束時,雙方才發(fā)現這種差異使開發(fā)出的系統(tǒng)與實際需求偏差甚遠。因此,MIS系統(tǒng)開發(fā)項目管理的重要目標便是建立一個便于開發(fā)方與用戶方之間進行交流的環(huán)境。在系統(tǒng)需求分析階段,開發(fā)方與用戶方的深入的交流是項目獲得成功的關鍵。但這種交流卻經常由于各種雙方的誤解而難以溝通。
在需求分析階段,開發(fā)方的分析人員總是先把精力集中在整個系統(tǒng)的總的需求上,而不會對具體細節(jié)作過多的考查。當用戶方提出一些細節(jié)要求時,開發(fā)方往往說:“這些問題留待后面討論”,而糟糕的是以后卻可能永遠不會再談及這個問題。當用戶方認為已經向開發(fā)方提出這些需求時,開發(fā)方卻根本未予考慮。因此,開發(fā)初期,用戶方的項目管理人員應該把這些“留待后面討論”的需求單獨記錄整理,在開發(fā)方做完系統(tǒng)的整體需求分析后,項目管理人員應及時提出對系統(tǒng)進行進一步的、更深入的、細致的、具體的需求分析,以解決那些開發(fā)方要“留待后面討論”的問題。
在某些需求尚未確定時,用戶方項目管理人員往往會說:“這部分需求我們還要考慮,不過你們可以先按現在的模式做。”遺憾的是,開發(fā)方經常會把現在的工作模式作為將來的、確定的需求去設計開發(fā)系統(tǒng),而把用戶方在此需求上的未確定因素拋在腦后。當后來用戶方要求其改變時,開發(fā)方便陷入了窘境。因此,用戶方管理人員應盡量將需求陳述清楚,對不能確定的因素,應提出幾種可能的實施方案供開發(fā)方參考,以保證開發(fā)方系統(tǒng)設計時,將不確定因素設計成靈活可變的功能。
開發(fā)方說:“用戶方已經認可了需求分析報告,這表明我們已經徹底了解了用戶方的要求。”
用戶方說:“盡管我不太明白需求分析報告中的一些技術術語,但他們能寫出這個報告,一定是對我們的需求了解得很深入了。”
其實,需求分析報告是對系統(tǒng)需求的書面表達形式。由于需求分析報告是采用軟件設計的術語編寫的,因此常常令計算機背景知識較少的用戶方難以理解,也很難發(fā)現需求報告中與實際需求不符之處,更難提出建設性的意見。特別是那些編寫得較差的需求分析報告,用戶方更是不知所云。