●技术人员很辛苦,但价值得不到体现;软件企业管理代价高,人员流动性大;而项目质量取决于参与的每个工程师个体能力和素质;
●难以进行知识转移和知识承接,知识积累困难;
●服务构造的标准化问题。
这些问题源于3个方面:软件规模和生产率的矛盾;可扩展、快速变化和高质量的矛盾;三是软件生命周期全程可管控问题。
有效解决这些问题,首先需要建立适合的SOA服务架构,能不能把复杂服务,分解成稳定的单元,有限的收敛单元是很重要的。通过稳定的收敛的单元服务,解决可扩展、快速变化和高质量的矛盾以及软件规模和生产率的矛盾。
其次建立统一封装的平台化架构。平台的一体化和完备性是解决灵活、管控的必要条件。通过一体化平台架构解决软件生命周期全程可管控问题。
最后我们需要一套建立在可管控的工具基础上的项目管理方法。通过基于平台的方法论解决运用工具和平台时所遇到的软件工程问题。
业务化流程的技术难点与解决之道
任何管理体系的建设,都需要从流程、组织、人、KPI四个要素方面去考虑。但这四个要素经常不断变化,所以在去实施SOA的时候,要敏捷地支撑这样的变化,必须有一个流程平台支持这样的变化,而除了本身的系统特性(比如性能、稳定性等)外最重要的特性就是能够在业务层面上能很好的去配置四个要素的灵活变化,并且要很好地解决复杂的人工处理活动,让管理演进与流程变化同步起来。
业务化流程的解决之道,就是“让业务人员和技术人员能够更融洽的协同工作”。传统的“流程分析—流程梳理—技术实现—流程部署”实现方法带来很多弊端:技术人员很难理解业务人员的设计;技术实现周期长;当业务变更时,很难快速响应。业务化流程就是让业务人员更多的参与到“流程设计、流程组装、流程测试”中,才能快速应对业务流程的变更,当业务人员的流程设计完成,应用系统的开发亦告结束,从而每一一次变化以业务为始,以业务为终,而非传统意义上的业务→技术→业务的分离状态。传统的BPM产品也很难解决这些问题。
直面实施SOA的挑战,本质问题是通过业务流程平台使管理与业务同步,并通过建立统一封装的平台化架构来构造稳定的、收敛的单元服务,以实现软件效率提升及SOA全生命周期管控。了解了这些本质问题,才能从企业今天解决问题的实际绩效入手选择适合自己的解决方案和产品,才能实现提高业务的灵活性,从而实现敏捷企业的终极目标。