定制软件开发中存在的“三高二低”
由于用户软件需求的个性化,没有产品可以很好的满足,此时软件定制开发是必须的,然而定制软件开发是一个“费时、费力、费钱”的事情,对于最终用户而言需要投入人力进行项目开发实施,对于软件厂商而言,需要成立项目组并进行项目的需求、设计、开发,以及软件项目的管理、内部以及与用户之间的沟通、协调等。
在实际开发过程中,定制软件开发“三高二低”问题成为困扰很多软件厂商的五大问题。从需求分析、系统设计、代码编写、软件测试、应用维护,在整个软件项目的生命周期内,厂商的开发成本高、维护和服务成本高、重复开发率高、开发效率低、市场与需求应变效率低。
一高:定制开发工作量和开发成本“高”
一些软件厂商在进行软件开发时,往往只关注用户需求的实现和完成项目,缺少底层软件的积累,尤其是平台化产品的积累,由于很多项目需求的差异性,以及代码的通用性太差,每个项目都需要从基础做起,即从编写大量的基础代码开始,这样一来,不但增加了开发过程中的工作量和技术难度,更为糟糕的是需要每个开发人员具有较高的技术水平。因此,软件厂商需要投入较多的人力、财力和物力,无形中导致开发成本居高不下。
二高:用户需求变化程度“高”
不同行业的用户需求不同,或同一用户原有项目需求的不断深化,原有的定制开发软件系统逐渐不能满足用户综合复杂的业务需求。而在具体的定制软件开发项目中,首先是业务需求本身就在不断完善和变化;其次是需求和需求之间又互相关联引导。而当用户的需求发生变更和调整时,不断修改现有系统导致系统的稳定性变差,软件错误和Bug重重等问题逐渐凸显出来,对软件开发厂商提出了巨大的挑战。
三高:后期系统维护代价“高”
定制软件开发最大的特点是:系统不是一次性成型的,需要不断的进行功能完善、对错误的修复。但遗憾的是,很多项目开发都是从基础源代码开始做起,这类项目的定制软件都具有极高的耦合度。从事过开发的人都知道,高耦合度的软件相对而言是难以维护的,往往是对某一处进行调整容易引起更多地方的变动,导致系统出错频繁并增加维护概率。这种以一次开发持续使用为特征的定制软件,显然不能满足用户不断变化的各种应用需要,其维护成本太高导致厂商和用户都难以承受,甚至导致系统的维护与服务难以为继,对软件系统的正常使用带来不利的影响。
一低:技术人员流动造成项目可延续性“低”
很多软件厂商要做到“铁打的营盘流水的兵”,是非常难的事情,由于定制软件开发的项目实施人员不懂业务,而业务人员不懂技术开发形成了“不可调和”的矛盾,使得软件开发人员的个人能力成了决定软件实施周期、软件项目质量的重要因素。因此,软件行业的人才流动往往会给项目开发带来致命的影响,由于对指定和高水平技术人员的过度依赖,某个项目往往由于核心技术人员的流失后,造成整个定制软件开发项目难以延续,有些项目甚至是只好推倒重来,“悲剧”不断重演。
二低:定制软件开发和部署效率“低”
平台化的软件对定制开发软件是非常必要的,但形成一个优秀的软件平台不仅仅是技术难度大,同时周期也非常长。因此,很多厂商不愿意在这方面进行投入,每个项目都是想“快速”的完成开发,在软件开发过程中,大量的代码编写,无疑降低了软件开发的效率,使软件开发项目的定制开发、系统部署与实施时间较长,对软件厂商与用户双方都产生不利的影响。