一、引言
一个健康的产业,需要有健康的产业链环境。
中国软件业经过二十几年的发展,已经取得了长足的进步,但是依然存在着很多问题,其中有两个问题需要亟待解决:一个是人才的同质化问题,另一个是没有形成中国软件的产业链问题。
在这里,主要探讨一下中国软件产业链问题。
传统的软件业的创新主要来源于美国,而中国的软件业基本上处于软件产业链的末端,虽然我们的软件企业众多,但一般规模都比较小,创新能力弱。而软件领域又是发展十分迅速的领域,没几年就会推出更新的技术,造成很多中小企业经过多年的积累好不容易推出面向某个行业的解决方案,确因为IT技术的更新,有时甚至是国外某一个产品的版本升级而面临落伍的危险,就这样中国的软件企业在面临同业杀价竞争和技术升级中艰难前进,别说发展了,就是连生存问题都无法解决。
现阶段,软件产业被确定为我们国家大力发展的产业之一。而如果要想发展壮大我们的软件产业,就必须打破现有的产业模式,努力形成中国软件业自己的产业链,由过去软件厂商之间分散的竞争关系转向分工与合作关系,从而推动整个产业链的健康发展。
一个健康的产业链,要求产业链内的企业形成一个合理的分工链条,分工“链”上的每个企业都有自己专注的领域,最后通过合作发挥整体产业链的优势。
而“软件开发平台化”能够解决软件产业链分工问题。
二、什么是软件开发平台化
软件开发平台化就是把软件开发由过去手工作坊模式变为工业化生产模式。
从目前的情况来看,软件开发的速度缓慢、代价高昂而又极易出错,常常会生产出存在大量缺陷的产品,在可用性、可靠性、性能、安全以及其他服务质量方面造成严重的问题。
根据Standish Group的统计,美国公司每年投资约175,000个软件开发项目,投资额约为2500亿美元。这些项目中只有16%能够在预算内按计划完成。另有31%的项目主要由于质量问题而被取消,经济损失约为810亿美元。另外53%的项目平均超出预算189%,经济损失约为590亿美元。完成的项目平均只实现了原来规划的功能的42%。
不仅美国如此,国内众多的软件厂商更是有过之而无不及,软件开发基本上都处于手工作坊模式,造成了很多项目都拖延交付、质量得不到保障。
从行业发展的角度考虑,提高生产能力的途经是从手工作业过渡到机械生产。在手工作业阶段,所有产品都是由个人或小组从无到有制造出来的,而在机械生产阶段,各种产品通过组装多家供应商生产的可重复利用的组件迅速生产出来,在这个过程中,许多机械琐碎的任务都是由机器自动完成的。这些行业对工艺、设计和包装进行标准化,借助产品线实现系统性重复利用,并通过供应链分担成本和风险。现在已有部分行业可以实现大规模定制,根据需求快速而经济地制造出各种产品,以满足不同客户的特定要求。
而软件开发平台化,可以把软件开发按照流水线的工作方式、遵循一定的生产质量规范,批量、高效地生产标准化的软件产品组件,并对其进行组装从而批量完成产品。
三、平台化促进软件产业分工
从整个世界的软件产业链的发展来看,基本上遵从如下的一个链条:操作系统-数据库-底层基础开发工具-管理软件。操作系统、数据库、底层基础开发工具基本上都被国外大公司所垄断,而国内的众多软件企业,由于处在产业链的末端,能获得的只是“辛苦钱”,很难发展壮大。尤其严重的是,国内软件企业,没有明确的咨询、管理、技术分工,无论是技术,还是业务管理,凡事都自己做,片面追求大而全的“无所不能”,造成企业同质化严重,竞争十分惨烈。由于没有一个的良好的运行机制,国内中、下型软件企业得不到成长,中国软件的生态链就始终出不来。
但随着中国软件企业创新能力的增强,有一部分企业逐渐往软件产业链的上游发展,通过对管理软件开发的公共部分进行抽象,形成了适应各种行业的通用管理软件开发平台,而开发平台的出现,有效地把软件开发过程中的技术和管理分开,从而在传统的软件产业链上在底层技术提供商和管理软件开发商之间增加一层 - 平台软件供应商(如图一所示)。
图1
对于管理软件开发商来讲,平台软件供应商处于产业链的上游,对技术起到承上启下的作用。平台软件商通过对管理软件的深度抽象,在底层技术和管理软件之间形成一个公共的中间层-平台,以UCML为例,平台一般都具有以下几个典型的技术特征—与技术无关、面向框架、易于重用;从功能角度平台一般都包括—业务开发、工作流、报表、业务基础框架。平台的出现可以有效地把管理和技术分解开来,明细了管理软件商和平台开发商之间的职责(如图二所示),即推动了独立的平台软件商的发展,同时也改变了过去管理软件商技术和管理两头必须完全兼顾的局面,可以有效地把众多中小型管理软件开发商从底层技术中解放出来,使他们更加有精力专注于自己的领域业务,有能力的厂商还可以进一步抽象出面向领域的应用框架,提升其在相关领域的竞争优势,最终形成一个平台软件商、管理软件商之间分工合作、优势互补的产业结构。