1、 版本难以控制。新增医院的版本一般从公共版或从相类似的一家医院获得后,就成为一个独立的版本,以后每次修改只能找到该医院的最新源程序才能进行升级维护。由于项目化运作,源程序一般放在医院进行,不同的人修改不同的模块,同一个程序员可能兼顾几家甚至几十家医院的源程序修改工作。不按时上交源程序是经常发生的事,所以导致医院在修改某一个功能后,丢失以前功能是常有的事。程序员修改往往只讲速度,没有完整的文档书写,没有经过相关严格测试,留下后患无穷。在这样的情况下,公司对于研发人员的个体依赖性非常高,一旦骨干研发人员离开,就会给公司和用户带来巨大的损失,同时由于工作量巨大,一般项目化操作的软件修改,也不可能按照软件工程所要求的步骤去保证质量,对于用户和公司的隐性成本都是非常大的。
公司有限的技术开发力量大部分耗在客户本地化修改方面,虽然有的公司将技术支持和开发分开,但对于复杂多变的需求,开发部很难有能力抽象成共性的东西,为了及早把某一功能加入新版本中,只有采取打补丁的方式进行,导致功能庞杂、到处是参数设置,对以前客户升级不能在原版本上进行,因为他们也有很多个性化的东西,只能找出源程序一个一个地修改。
公司开发一个新版本的结束,就是众多新版本的开始,项目化操作根本无法保证软件版本的一贯性、连续性。升级对客户来说,要么是部分功能的修改,要么是全部推倒重来。(再续。。。。。) |