仟亿科技软件开发平台

企业软件开发工程项目和商业软件项目之不同
企业业务软件工程项目和商业软件产品项目上项目无论是需求重点,实现方式,项目管理等方面都有极大不同。现在的软件工程有关研究并没有关注此中的区别,实际上,其中绝大部分还集中在较简单的产品项目上。对于需求变动要大得多的企业软件项目来说,对需求进行分级管理是非常必要的,也是生死悠关的。
企业化软件项目和商业软件的(承包开发)还是有很大的不一样的,最大的区别就在于项目需求的重点不一样,以致于这两种同样称为软件工程,就其项目过程管理是几乎完全不一样的。商业软件的开发最大的特点是就是基本功能非常明确,只在细节上有多种选择,所以商业软件开发的项目管理重在源代码管理和算法的优化,以及测试严格,就测试要求的强度上单纯软件代码的质量来说,要强于企业信息化的软件工程项目。
企业信息工程项目一般来源于企业某一特定的业务软件需求,象要上一个仓库管理系统,从进货到定期定标出仓平衡责任追踪等;或者是一个生产流程配料系统,象MRP2;或者是一个购销一体计划系统,象ERP(资源管理),等等。这种软件有时侯会象国产的那些变相的会计软件式的ERP一样当成商业软件开发,显然,这时侯与上述的成形商业软件没有太大的区别,但在企业实际上千差万别的应用需求上,几乎就是一堆电子垃圾。企业业务软件是一种必须适应同时能够优化企业流程的计算机辅助运营系统,真正起作用的,通常只能是一对一实现定制;这种需求是如此广泛,以致于大型企业如果不是聘有一两家软件咨询顾问公司就是自建一个计算机部门专门负责这一方面的工作;最典型的例子就是沃尔玛特。
正由于企业用的软件都存在着强烈的需求一对一定制的要求,所以这种项目其一是不便宜;如果一个企业客户以购买商业成形软件的理解水平来购买一个项目洽谈的话,在他理解什么叫企业项目前,最好不要打算做他的生意。一个企业项目动辄数百万上千万是不奇怪的,上亿也寻常,而一套商业软件,无论名称多么好听,什么第几代ERP,都只不过是一万几千大洋就可以打发的;实在不愿意给钱又不怕给罚盗版的话,还可以花五个铜板上街买一套盗版光盘现装现用。
为了应付企业业务软件项目的强烈的定制需求,供应商都提供了广泛的基础组件和嵌套工具,以便可以由二三级的程度员可以在现场为用户一对一的进行定制试用更改再定制等项目实现。典型如SAP,有朋友问我拿SAP的盗版玩玩,保证不外流。我费了很大的工夫才让他明白,SAP有的只是基础组件库,还很丰富,涉及到27个项目常用业务场合的组件库,包括与之配合的数据库预制定义(表定义),但绝不是象国内那些ERP那样装起来可以玩的东东。
一个SAP项目要求用户按自已需求定购这些组件库,以及必须的支持软硬件,数据库操作系统什么的,最经常的就是ORACLE和SOLARIS了;然后SAP项目组要到企业里蹲点,听各个部门讲流程故事;然后是写需求文档,建原型,让企业的项目组试用部门流程,基干流程确定合乎需求了,下一步的工作就是简单了,找几个三流的程序员用ABAP4这种比javascript还简单的脚本语言把各个组件的功能连成一个统一的流程。这个工作就完成了一大半了。——可别小看这些三流程序员,在软件蛮荒年代他们凭这一招可以拿到每个月两万人民币的工资呢!其实呢,那是一个高中生就可以完成的工作。
由此可见,企业软件项目的关键在于需求管理和流程建模,相反,算法和基本功能以及BUG什么的,那是作为商业软件开发的组件保证的,那一般以外包的形式由印度这些公司早早做了出来。企业软件需求最大的困难就是用户根本不知道自已要干什么,最常犯的错误就是把现有的落后流程要求电脑重复一遍,拿了机关枪,总是要求上面没有装刺刀,还抱怨不比红缨枪好用。另一个常见的错误就是随着企业项目主管,(职业最低成是电脑科主任,高点就是一二把手了)知识开始丰富后,总是把有用没有用,暂时有用或永远没有用的需求要项目组一一实现,反正,每条要求都是振振有词,仿佛都是非立刻实现不可的。作为承包方的人员是没有办法与之争业务上有没有用的,(谁是这一行业的专家啊?人家已经是霸主了才上软件,你算那们子专家啊?),但如果真的一一跟着他的点子走,就算累死了,这个项目也是永远没有法子完成的。而在商业需求明确的商业软件开发中就不会碰上这种事情。
<< 软件开发项目质量管理层次模型(1)软件 ERP技术的新方向 >>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By 仟亿科技 Copyright 2011-2012 仟亿科技. All Rights Reserved.