国外媒体CRN网站在年末评出了2008年IT市场十大热门技术,其中就包括SaaS(软件即服务)。如何真正地使软件变成客户企业应用的贴身服务呢?实际上,企业的业务流程变成信息化系统,中间经历了两个“翻译”过程:第一个翻译过程是从自然语言到业务语言的翻译过程,强调企业在执行业务的过程中,不断地将随机性的操作,固化成为规范性的操作,不断地将自身的业务流程标准化,以统一员工的行为习惯,进而统一员工的思想习惯,渐进地提升企业内部管理的质量。这个翻译过程是客户企业流程自发固化的过程,是企业战略转化为工业化产品的核心。第二个翻译过程是,软件企业接到企业的需求之后,将企业执行中固化的流程信息化的过程。这个翻译过程是客户企业流程自觉固化的过程,是工业化的生产过程和信息技术结合的过程。
对于这两个翻译过程,以下两个方面应当非常重要:
1、外协的咨询人员能够真正把握企业的业务流程,尤其是核心业务流程,并有效传递给软件开发人员。
2、企业改变自身的操作习惯,以适应软件提出的操作要求。
从咨询公司的角度,需要分析如何帮助客户企业固化业务流程。但流程固化并不等于不能再有变化,而软件开发人员的作用正是帮助客户企业实现从固化的业务流程到信息系统的翻译过程,而且这个翻译过程最好具有高的柔性,能够适应客户企业业务的不断变化。关于软件规划如何适应变化,Ivar Jacobson博士说:“当今,自上而下的SOA正在慢慢死去。比如,我们开发一个软件产品,但产品的需求是不断变化的,而采用自上而下的方式,会让我们在进行了一段时间的开发之后,突然发现之前规划的一些文档成了无用的东西。”而DELL在生产制造领域提出订单分离点CODP(Customer Order Decoupling Point)的概念,似乎对软件公司适应客户变化有一定的借鉴作用。CODP的核心内涵是为客户的特殊需求进行定制的时刻后移,即将常规需求做成标准化产品,将特殊需求做成定制化产品。
常规的软件产品开发的价值实现过程包括产品构想、规划、开发、产品化和发布五个阶段,越靠前的环节价值贡献越大,且变动成本越小。如果软件开发人员能够在这个价值实现过程中融入并行开发的思想,将客户的特殊价值点分离到产品化或者开发的阶段再去构想和定制,而将客户的常规需求做成平台,无疑将极大地减少客户需求变化带来的成本,实现对客户需求的快速响应。当然,这样的思想对软件公司本身的项目管理、代码管理等均提出了极大的挑战。目前软件公司产品经理正在成为热门职位,通过对产品经理工作职责的进一步划分,可以帮助软件企业实现软件开发中的定制分离点后移。