企业软件交付:挑战与应对策略
1. 企业软件面临的新压力
如今,多数企业期望以新方式拓展客户服务渠道,整合不同能力,并采用新商业模式进行交互。这就要求企业软件对外部各方开放更多访问权限,无疑给企业软件的运营方面带来了额外压力。例如,人们对信息的欺诈性和恶意访问、诈骗攻击、破坏行为以及间谍活动等问题的关注度大幅提升。因此,每个企业系统都需要持续进行评估和监控。
2. 企业集成问题
对于许多组织而言,孤立开发企业软件的挑战,远不及理解该系统与其他系统交互以提供服务的复杂性。这一挑战可分为两个具体方面:
-
交付集成
:指企业软件的部署和运营管理。大型系统部署涉及诸多关键运营问题,如控制外部访问、在故障时保持连续运行、数据冗余和备份、电源管理等。这些问题对每个企业软件系统都很重要,但主要挑战在于集体管理大量企业软件组合,以充分解决这些运营问题。例如,对单个系统进行安全评估,确保基于互联网的数据访问受限相对容易;但对于数百个以多种方式交互的系统,其潜在访问路径和安全影响则难以理解、评估和管理。
-
设计集成
:是指企业软件之间为有效执行业务功能而进行的规划性交互。企业不会将每个企业软件解决方案设计成独立的业务功能和数据“孤岛”,相反,每个企业软件解决方案都应在组织的更广泛需求中发挥作用,并以明确的方式增强现有能力。这种跨企业软件的规划性集成是企业软件交付的重要组成部分,但在实践中却极具挑战性。
3. 设计集成挑战的具体表现
3.1 业务流程复杂性
企业软件交付组织面临的复杂性挑战主要源于业务流程层面。大多数企业很难清晰描述其业务领域、业务功能以及执行这些功能的主要业务流程。典型大型组织的详细业务流程极其复杂,涉及角色、活动、任务、资源、业务规则、优先级、替代方案和例外情况等。许多组织的业务流程视图是一个复杂的流程和交互集合,没有丰富的经验和领域知识很难理解。业务流程元素与它们操作的数据、实现这些流程的企业软件以及支撑它们的技术紧密相连。
为应对这种复杂性,企业软件交付组织与业务流程分析师合作,明确关键业务流程,以获得对这些业务流程结构及其在特定企业软件中实现方式的更清晰共享视图。通过引入更规范的业务流程分析方法,业务流程可以用标准的业务流程建模符号(BPMN)进行定义。这样的业务流程模型更易于共享、分析,并可转化为其他工件,如服务描述。
例如,在安排管理业务领域,从提议到结束的生命周期步骤中的不同流程可以在业务流程模型中详细描述。这个业务流程模型可作为分析的基础,并直接与实现该业务流程的特定企业系统关联。
3.2 服务接口复杂性
许多组织发现,其现有企业软件在实现的功能上存在大量重叠,且采用了多种不同技术。为更清晰地了解组织的现有能力及其交叉情况,将技术细节抽象化,把这些系统为业务提供的各种能力视为通过接口访问的服务组合是有帮助的。这些服务通过一个或多个组件实现,并具有特定的交付特性。这种基于组件实现的面向服务的接口模型,为组织提供了一个清晰的概念方法,有助于其了解当前能力,并为规划新的开发项目奠定基础。
面向服务的思维(SOA)有助于理解系统之间的交互。服务模型明确记录了每个服务接口如何向其他服务暴露其能力,并且一个服务通常通过访问其他服务的可用接口来执行其任务。通过记录任何时间点可用的服务,并允许服务在运行时查询和连接其他服务的接口,可以实现更动态的服务连接方式。
然而,当在大型组织中应用这种服务视图时,其可扩展性面临严峻挑战。例如,全球金融服务组织的一个部门的组件模型可能包含数百个项目,用于描述企业软件作为组件集合及其通过服务接口的交互。尽管组件模型有一定结构,但这种视图的复杂性可能令人难以承受。虽然它有助于概念规划,但在实践中如何有效利用这样复杂的组件模型来识别企业软件集合中的重叠、低效和优化机会并不明确。因此,企业软件交付组织需要采用各种基于服务的设计技术和最佳实践来应对服务级别设计的复杂性。
3.3 供应链复杂性
对于将打包应用作为企业软件核心元素的组织,业务流程和服务架构有更高的标准化程度。打包应用实现了一组特定的业务流程,以服务的形式呈现,并作为可部署组件交付。这种标准化是许多组织选择打包应用解决方案而非自行从头实现功能的主要原因。
然而,引入打包应用解决方案也需要大量的集成工作。在许多情况下,这项工作主要集中在如何以合理的方式将打包应用插入现有技术基础设施,以及如何调整其周围的现有系统,以确保打包应用在该环境中有效运行。例如,在与 SAP 集成时,需要精心设计 SAP 组件如何连接到消息总线,以向系统的其他部分发送和接收消息;还需要将数据源连接到 SAP,以管理整个组织的企业数据。其他打包应用,如 Siebel,也需要集成到系统中,以处理销售管理和需求管理等相关业务流程。
这种集成工作的结果是形成一个由不同解决方案组成的供应链,这些解决方案通过多个消息主干进行通信和协调。这种架构是复杂企业软件集成的典型特征,特别是在外部贸易伙伴参与更广泛的业务价值链服务消费时。供应链架构自然适合支持此类解决方案所需灵活性的松散耦合集成方法。
以下是一个简单的 mermaid 流程图,展示了企业软件集成的大致流程:
graph LR
A[业务需求分析] --> B[选择软件方案]
B --> C{是否为打包应用}
C -- 是 --> D[集成打包应用]
C -- 否 --> E[独立开发软件]
D --> F[与现有系统集成]
E --> F
F --> G[测试与优化]
G --> H[部署上线]
4. 管理变更
理解任何复杂系统(无论是基于计算机还是其他类型)的一个有趣方法是思考:当系统发生变化时会怎样?通过研究系统中特定变化的影响,并跟踪执行过程中的各个步骤,可以学到很多东西。在企业软件交付中,我们可以从两个不同层面来看待变化。
4.1 战术层面的变更管理
企业软件组合中的各个组件经常因修复、升级、重构和替换而发生变化。理解和实施这些变化涉及许多技术方面,但同样重要的是对这些变化进行优先级排序、达成共识、实施、交付和部署的过程。在某些情况下,这个过程可以有一定的灵活性;但对于许多组织来说,必须遵循严格的、高度受控的实践,以避免错误、误解和恶意意图。
系统变更可能是一个复杂的活动集合,贯穿变更的整个生命周期。这个过程需要进行多次变更授权、验证和协调任务。在许多行业,这些变更需要可审计,即每个步骤不仅要执行,还需要有明确的记录,包括发生的时间和责任人(可能需要在每个阶段进行正式签字确认)。通常会发现,在这些情况下,决定变更内容和记录变更所花费的时间比实际实施变更的时间还要多。
以下是战术层面变更管理的主要步骤列表:
1. 提出变更请求
2. 对变更进行优先级排序
3. 变更审批
4. 实施变更
5. 验证变更
6. 部署变更
7. 记录变更过程
4.2 战略层面的变更管理
除了因发现缺陷和其他利益相关者的输入而临时产生的变更外,为维护企业软件的整体架构,也需要进行许多变更。例如,引入新的用户界面层以方便多渠道访问核心服务,对技术基础设施进行重大升级(如迁移到新版本的操作系统平台),或实现全企业范围的增强(如引入新的安全日志记录机制)。这些战略变更通常会影响多个系统,并且需要在较长时间内分阶段进行规划和实施。
例如,一家大型零售组织制定的三年战略变更计划,分为战略、能力、技术和组织/沟通四个领域。每个领域的项目都可能对已部署的企业软件产生重大影响,并间接影响所有正在进行的项目。这些战略变更需要自己的审批和治理流程,其复杂程度通常至少与战术变更流程相当。
战略层面变更管理的关键要点表格如下:
| 要点 | 描述 |
| ---- | ---- |
| 变更目的 | 维护企业软件整体架构,提升业务能力 |
| 影响范围 | 多个系统和项目 |
| 实施周期 | 较长时间,分阶段进行 |
| 审批流程 | 复杂,需严格治理 |
企业软件交付:挑战与应对策略
5. 企业软件交付面临的挑战总结
企业软件交付组织在追求提高效率和为企业提供更大价值的过程中,面临着诸多挑战,而这些挑战的核心在于管理复杂性。这种复杂性体现在公司的组织结构、所管理的系统以及构成企业软件组合的各种系统中。具体挑战总结如下:
-
组织架构方面
:需要明确企业软件交付组织的典型结构,以实现有效的管理和协调。
-
系统管理方面
:要深入分析企业系统的基本要素,了解其运行机制和相互关系。
-
技能与活动平衡方面
:需合理配置企业软件组合管理所需的不同技能和活动,确保各项工作的顺利开展。
6. 应对策略建议
针对上述挑战,企业软件交付组织可以采取以下策略来应对:
-
加强团队协作与沟通
:减少团队之间的不一致性,避免因沟通不畅导致的灾难性和昂贵影响。建立有效的沟通机制,确保各团队之间信息共享及时、准确。
-
强化安全管理
:随着企业软件对外部访问的增加,安全问题日益突出。企业应加强对信息欺诈、恶意访问、诈骗攻击等安全威胁的防范,持续评估和监控企业系统的安全性。
-
优化集成管理
:
-
交付集成
:采用集中管理的方式,对企业软件组合进行统一规划和协调,以更好地解决控制外部访问、数据冗余备份等运营问题。
-
设计集成
:加强业务流程分析,明确各企业软件之间的交互关系,通过标准化的业务流程建模和服务接口设计,提高企业软件的集成度和协同性。
-
完善变更管理
:
-
战术层面
:建立严格的变更管理流程,对变更进行优先级排序、授权、验证和协调,确保变更的顺利实施,并保证变更过程可审计。
-
战略层面
:制定全面的战略变更计划,分阶段、有步骤地实施变更,同时建立相应的审批和治理机制,确保变更符合企业的整体利益和战略目标。
以下是一个 mermaid 流程图,展示了企业软件交付的整体应对策略流程:
graph LR
A[识别挑战] --> B[加强团队协作与沟通]
A --> C[强化安全管理]
A --> D[优化集成管理]
A --> E[完善变更管理]
B --> F[减少团队不一致性]
C --> G[防范安全威胁]
D --> H[交付集成管理]
D --> I[设计集成管理]
E --> J[战术变更管理]
E --> K[战略变更管理]
F --> L[提高效率与价值]
G --> L
H --> L
I --> L
J --> L
K --> L
7. 案例分析:以某大型金融企业为例
为了更好地理解企业软件交付面临的挑战及应对策略,我们以某大型金融企业为例进行分析。
该金融企业拥有众多业务系统,包括客户关系管理系统、财务管理系统、风险管理系统等。随着业务的发展,企业需要拓展服务渠道,整合不同业务能力,并采用新的商业模式。然而,在企业软件交付过程中,遇到了以下问题:
-
团队协作问题
:不同部门的团队之间沟通不畅,导致系统开发和部署过程中出现诸多问题,如功能重复开发、数据不一致等。
-
安全问题
:由于系统对外部访问的增加,面临着更多的安全威胁,如黑客攻击、数据泄露等。
-
集成问题
:各业务系统之间的集成难度较大,业务流程复杂,服务接口不统一,导致系统之间的交互效率低下。
-
变更管理问题
:系统变更频繁,但缺乏有效的变更管理流程,导致变更实施过程中出现错误和混乱。
针对这些问题,该企业采取了以下应对措施:
-
加强团队协作
:建立跨部门的项目团队,定期召开沟通会议,加强信息共享和协作。同时,引入项目管理工具,对项目进度和任务进行实时监控和管理。
-
强化安全管理
:成立专门的安全团队,负责对企业系统的安全进行评估和监控。加强员工的安全培训,提高安全意识。采用先进的安全技术,如加密技术、访问控制技术等,保障系统的安全运行。
-
优化集成管理
:
-
交付集成
:对企业软件组合进行统一规划和管理,建立集中的运维平台,实现对系统的统一监控和管理。
-
设计集成
:与业务流程分析师合作,对业务流程进行梳理和优化,采用 BPMN 对业务流程进行建模。同时,制定统一的服务接口标准,提高系统之间的集成度。
-
完善变更管理
:建立严格的变更管理流程,对变更进行分类、评估和审批。在变更实施过程中,进行严格的测试和验证,确保变更的质量和稳定性。
通过以上措施的实施,该企业在企业软件交付方面取得了显著的成效,提高了系统的运行效率和安全性,增强了企业的竞争力。
8. 未来发展趋势展望
随着信息技术的不断发展和企业业务需求的不断变化,企业软件交付领域也将呈现出以下发展趋势:
-
数字化转型加速
:企业将更加注重数字化转型,通过引入新技术,如人工智能、大数据、云计算等,提升企业软件的智能化水平和服务能力。
-
敏捷开发与持续交付
:敏捷开发和持续交付将成为企业软件交付的主流模式,通过快速迭代和持续反馈,提高软件的开发效率和质量。
-
安全与合规要求提高
:随着数据安全和隐私保护法规的不断完善,企业对软件安全和合规性的要求将越来越高。企业软件交付组织需要加强安全管理和合规性审查,确保软件符合相关法规要求。
-
生态系统合作加强
:企业将更加注重与供应商、合作伙伴等生态系统成员的合作,通过整合各方资源,实现企业软件的快速交付和创新发展。
总之,企业软件交付组织需要不断适应市场变化和技术发展,积极应对挑战,采取有效的应对策略,以实现企业软件的高效交付和持续发展。
超级会员免费看
171万+

被折叠的 条评论
为什么被折叠?



