企業業務軟件工程項目和商業軟件?品項目上項目需求管理的不同
http://blog.csdn.net/zwwwxy/archive/2005/06/13/393666.aspx
http://zwwwxy.blogchina.com/450321.html
企業業務軟件工程項目和商業軟件?品項目上項目無論是需求重點,實現方式,項目管理等方面都有極大不同。現在的軟件工程有關研究並沒有關注此中的區別,實 際上,其中絕大部分還集中在較簡單的?品項目上。對于需求變動要大得多的企業軟件項目來說,對需求進行分級管理是非常必要的,也是生死悠關的。
企業化軟件項目和商業軟件的(承包開發)還是有很大的不一樣的,最大的區別就在于項目需求的重點不一樣,以致于這兩種同樣稱?軟件工程,就其項目過程管理 是幾乎完全不一樣的。商業軟件的開發最大的特點是就是基本功能非常明確,只在細節上有多種選擇,所以商業軟件開發的項目管理重在源代碼管理和算法的優化, 以及測試嚴格,就測試要求的強度上單純軟件代碼的質量來說,要強于企業信息化的軟件工程項目。
企業信息工程項目一般來源于企業某一特定的業務軟件需求,象要上一個倉庫管理系統,從進貨到定期定標出倉平衡責任追蹤等;或者是一個生?流程配料系統,象 MRP2;或者是一個購銷一體計劃系統,象ERP(資源管理),等等。這種軟件有時侯會象國?的那些變相的會計軟件式的ERP一樣當成商業軟件開發,顯 然,這時侯與上述的成形商業軟件沒有太大的區別,但在企業實際上千差萬別的應用需求上,幾乎就是一堆電子垃圾。企業業務軟件是一種必須適應同時能夠優化企 業流程的計算機輔助運營系統,真正起作用的,通常只能是一對一實現定制;這種需求是如此廣泛,以致于大型企業如果不是聘有一兩家軟件咨詢顧問公司就是自建 一個計算機部門專門負責這一方面的工作;最典型的例子就是沃爾瑪特。
正由于企業用的軟件都存在著強烈的需求一對一定制的要求,所以這種項目其一是不便宜;如果一個企業客戶以購買商業成形軟件的理解水平來購買一個"項目"洽 談的話,在他理解什?叫企業項目前,最好不要打算做他的生意。一個企業項目動?數百萬上千萬是不奇怪的,上億也尋常,而一套商業軟件,無論名稱多?好聽, 什?第幾代ERP,都只不過是一萬幾千大洋就可以打發的;實在不願意給錢又不怕給罰盜版的話,還可以花五個銅板上街買一套盜版光盤現裝現用。
?了應付企業業務軟件項目的強烈的定制需求,供應商都提供了廣泛的基礎組件和嵌套工具,以便可以由二三級的程度員可以在現場?用戶一對一的進行定制試用更 改再定制等項目實現。典型如SAP,有朋友問我拿SAP的盜版玩玩,保證不外流。我費了很大的工夫才讓他明白,SAP有的只是基礎組件庫,還很豐富,涉及 到27個項目常用業務場合的組件庫,包括與之配合的數據庫預制定義(表定義),但絕不是象國內那些ERP那樣裝起來可以玩的東東。一個SAP項目要求用戶 按自已需求定購這些組件庫,以及必須的支持軟硬件,數據庫操作系統什?的,最經常的就是ORACLE和SOLARIS了;然後SAP項目組要到企業?蹲 點,聽各個部門講流程故事;然後是寫需求文檔,建原型,讓企業的項目組試用部門流程,基幹流程確定合乎需求了,下一步的工作就是簡單了,找幾個三流的程序 員用ABAP/4這種比javascript還簡單的腳本語言把各個組件的功能連成一個統一的流程。這個工作就完成了一大半了。——可別小看這些三流程序 員,在軟件蠻荒年代他們憑這一招可以拿到每個月兩萬人民幣的工資呢!其實呢,那是一個高中生就可以完成的工作。
由此可見,企業軟件項目的關鍵在于需求管理和流程建模,相反,算法和基本功能以及BUG什?的,那是作?商業軟件開發的組件保證的,那一般以外包的形式由 印度這些公司早早做了出來。企業軟件需求最大的困難就是用戶根本不知道自已要幹什?,最常犯的錯誤就是把現有的落後流程要求電腦重複一遍,拿了機關槍,總 是要求上面沒有裝刺刀,還抱怨不比紅纓槍好用。另一個常見的錯誤就是隨著企業項目主管,(職業最低成是電腦科主任,高點就是一二把手了)知識開始豐富後, 總是把有用沒有用,暫時有用或永遠沒有用的需求要項目組一一實現,反正,每條要求都是振振有詞,仿佛都是非立刻實現不可的。作?承包方的人員是沒有辦法與 之爭業務上有沒有用的,(誰是這一行業的專家啊?人家已經是霸主了才上軟件,你算那們子專家啊?),但如果真的一一跟著他的點子走,就算累死了,這個項目 也是永遠沒有法子完成的。而在商業需求明確的商業軟件開發中就不會碰上這種事情。
這時侯需要對客戶的需求進行分級管理,簡單地說,把需求分成五級:urgent(必須立刻優先實現),necessary(必須實現,但不一定馬上進 行),needed(需要的,不過沒有也還湊合),better(現在似乎也可以,但可以更好一點),useful(總會有用的)。一個需求等級的確認需 要兩個過程,首先是從正面論證它是不是必須的,是不是好得多;然後從反而論證,不要他是不是可以回避的,天會不會塌下來?這樣,一個軟件需求就可以相當定 一個級別。毫無疑問,如果一個項目各項需求驗證下來只是useful的,不但賺不了多少錢,而且,這個項目未必有必要存在;但如果都是urgent的話, 如果不是大幅度加價的話,就叫神仙來做好了。顯然,無論客戶是如何那般的行業專家,他的需求只能是平均地分配在這五個級別,否則就說明他不是專家,(呵 呵,也算是個邏輯陷阱),在實現時,當然就挑urgent&necessary來實現,其余的,升級再說了。
這樣一個項目就有可能最終完成了。
0 Comments:
发表评论
<< Home