管理软件是为单位的业务和管理提供服务的,但是不同行业、单位的软件需求不同,导致软件定制开发在很多情况下不可避免,相比单纯的行业标准软件产品,软件定制开发能够很好的满足用户不同的需求。
定制化的项目开发对团队和经验的依赖非常大,也难以通过标准化的模式进行复制和扩大,在国内管理软件定制开发的应用上,很少看到一些大软件开发商的身影,影响管理软件定制开发成败的有以下三个关键因素:
一、企业团队水平对软件定制成败的影响
可以说软件定制开发项目的成本主要是由开发商决定的,开发商凭着自身的技术经验和行业经验,对用户项目进行正确的评估,并提供合理的技术和实施方案,能够组织项目的实施开发团队按计划、有步骤的完成项目的开发和实施。
“兵熊熊一个,将熊熊一窝”,软件开发商核心技术人员和管理水平决定了所有团队的整体水平,而某个项目团队的水平直接决定了当前项目的成败。项目经理是整个定制开发项目的灵魂,是项目管理成败的关键人员,在协调用户、管理团队以及相关资源方面发挥着重要的作用,定制开发对项目管理者的依赖程度非常高。如何合理有效的管理用户定制开发的需求,如何高效的管理好项目技术团队,团队的技术能力、管理能力和行业的业务经验等是决定项目成败的重要因素。
如果让一个单纯做软件产品的技术团队去完成一个有一定难度的定制软件项目,其结果必定不尽人意。
二、开发商行业经验和软件定制开发经验
行业经验的积累是指软件开发商对相关用户的行业业务的积累,管理软件是一个业务、管理和技术相结合的产物,没有业务的积累,尤其是通过大量类似行业的经验积累,是导致定制软件项目失败的重要因素。
软件开发商经验的积累包括技术的积累,以及掌握对应技术的人才的积累,人才流动往往会给定制开发项目开发带来致命的影响,由于对指定和高水平技术人员的过度依赖,某个项目往往由于核心技术人员的流失后,造成整个定制软件开发项目难以延续,有些项目甚至是只好推倒重来,“悲剧”不断重演。
软件开发本是一个对技术和经验积累要求非常高的行业,大部分软件开发商在进行软件的开发时,往往只关注需求的实现和项目的完成,缺少底层软件的积累,尤其是平台化开发模式的积累。
三、用户项目需求的难易复杂程度
需求的难以和复杂程度体现在三个方面,一个是整体项目的需求和功能多,开发的工作量大;二是项目中存在不同程度的技术难题;三是用户自身对需求的不确定性,无法形成有效和合理的需求,中途需求反复出现大的调整变化,导致设计和开发的不确定性,甚至是在系统开发完成后出现大量的更改和调整。
定制开发项目最大的特点是围绕用户的需求进行,大多数的功能需要重新设计和开发,系统也不是一次性成型的,那么在系统交付给用户后,在后续使用中会提出修改和完善,传统的手工编码对设计和技术人员的依赖比较大,如果设计和编码的质量不高,无疑会给后续的维护和升级带来难度,甚至是无法维护的,这种在定制开发的项目中非常普遍。