企业软件交付:现状、挑战与未来趋势
在企业软件交付领域,诸多因素影响着其发展,从过往的案例经验到当下的技术变革,都为我们揭示了企业软件交付的现状、挑战以及未来趋势。
企业软件交付的现状与挑战
在企业软件交付过程中,一些问题逐渐凸显。以诺基亚为例,过度强调标准化和成本削减,导致对产品创新和支持新想法投入生产的关注减少。同时,在设计和交付活动中缺乏可见性,使得跨组织和责任边界的关键决策难以有效进行。局部优化往往以牺牲整体解决方案为代价,产品经理与客户以及交付组织其他部分之间的联系也较差,协调和沟通路径不足以实现灵活及时的决策,浪费了大量时间等待决策,阻碍了好想法的推进、开发和交付。这表明在企业软件交付中,需要在标准化和创新之间保持平衡。
另一个典型案例是美国联邦航空管理局(FAA)的大型项目管理。FAA 负责管理美国每天超过 30,000 次商业航班和 200 万乘客的运输,其空中交通管制(ATC)系统依赖大量软件密集型系统。自 20 世纪 80 年代以来,FAA 一直在对其 ATC 系统进行现代化改造,但面临诸多挑战。该系统的软件大多是近四十年前用 Jovial、FORTRAN 和多种 Ada 语言编写的,代码规模达数百万行。为改善这些系统,FAA 启动了多个软件改造项目,如 2008 年开始的航路自动化现代化(ERAM)项目。
FAA 的软件现代化工作是在复杂环境和高度政府监管下进行大规模软件交付的极端例子。该现代化工作通过多个承包商和分包商在多个项目中实施,一定程度上可作为企业软件交付供应链方法挑战的重要案例研究。以下是一些被认为对项目改进特别有影响的行动:
1.
引入增量开发和交付方式
:避免冗长的交付周期,这种周期往往难以展示实际进展。
2.
明确系统架构蓝图
:为管理多个项目中分包商交付的工件集成提供共同基础。
3.
改进集成软件和系统采购流程
:帮助选择和管理投资。
4.
促进技术专家和系统用户的协作
:创建集成团队,共同识别需求、评估可行性并确定优先级。
5.
加强项目反馈
:利用已完成或进行中的项目反馈,辅助未来的采购、管理和规划。
这些改进领域提醒着采用工业化方法进行企业软件交付的组织,在漫长复杂的交付周期中,要利用实际绩效数据来指导和调整计划。
企业软件交付的经验教训
在推动企业软件交付组织提高效率的过程中,引入供应链和软件工厂方法虽带来改进机会,但也带来挑战、风险和不稳定性。以下是六个主要经验教训:
1.
根据企业特点应用工业化方法
:利用企业的特性,指导在何处以及如何更轻松地应用企业软件交付的工业化方法。
2.
评估企业流程成熟度
:关注企业与软件供应链中其他组织成熟度的差异。
3.
避免过度标准化
:不要过度关注标准化和成本削减,以免扼杀创新和创造力。
4.
了解供应链弱点
:明确供应链的弱点,并制定明确的应对方法。
5.
借鉴其他领域经验
:从具有供应链管理和工业化解决方案交付历史的其他领域获取见解。
6.
从失败中学习
:学习他人的失败经验,并记录自己的失败,以便自己和他人从中吸取教训。通过理解和应用这些经验教训,在企业软件交付工业化过程中能更有信心并提高成功率。
企业软件交付的未来趋势
当前,诸多重要且有趣的进展正在影响企业软件交付的未来。
云计算的出现是近年来最显著的趋势,对未来企业软件交付将产生广泛影响。云计算、软件即服务(SaaS)以及通过基于互联网连接轻松获取计算能力,改变了计算机服务的访问方式,为企业软件交付带来诸多重要影响。
云计算的特点
云计算的主要特点是提供“便捷的、按需的网络访问,可配置的计算资源共享池(如网络、服务器、存储、应用程序和服务),能够以最少的管理工作或服务提供商交互快速配置和释放”。这种方法为资源消费者提供了极大的灵活性,能力可以根据需求快速弹性扩展或缩减。支持这种弹性能力的有两个关键因素:一是消费者能够通过一组自动化服务自我配置所需能力并获得(近乎)即时访问;二是通过监控和测量方法实现按使用量计费。这些因素使云计算与以往的虚拟服务区分开来,以往的虚拟服务选择有限,且大多数配置更改需要服务配置团队进行昂贵且耗时的干预。在企业软件交付中,云计算的灵活性至关重要,它不仅鼓励供应链方法的动态关系,还能更明确地看待基础设施成本并分配给各个组织和团队,促进适合当今多元化企业的全球交付方法。
云计算的部署模型
云计算服务提供多种部署方式,主要有私有云和公共云两种极端模式。
-
私有云
:对于需要访问共同能力的多个团队的组织,创建私有云解决方案是有效的。企业软件交付组织获取并使用创建云解决方案所需的技术和流程,以满足自身需求。其优点明显,团队能快速访问云服务,具有使用弹性,计量能提供准确的服务使用核算甚至交叉收费。当组织需要共享、虚拟化能力的灵活性,但又不愿或不能接受与其他组织共享能力时,会选择创建私有云服务。
-
公共云
:一些组织提供基于公共基础设施(如互联网)的云能力,多个组织共享该基础设施(多租户),降低了云用户和供应商的成本。使用第三方公共基础设施资源能为消费者节省大量成本,提高服务的灵活性和可用性,避免基础设施采购、设置和服务管理的浪费投资。然而,公共云解决方案对于需要安全、隐私和自有云解决方案保障的组织存在明显劣势。因此,还出现了各种混合云计算模型。例如,一些组织在关键业务方面使用私有云能力,在对性能和数据隐私不太敏感的方面使用公共云服务;许多公共云提供商也能为客户提供专用基础设施能力,以确保可用性并增强数据安全和隐私信心。
云计算的服务模型
云计算提供的能力有多种形式,可分为以下三个明确的类别:
| 服务模型 | 描述 | 示例 |
| — | — | — |
| 基础设施即服务(IaaS) | 提供可靠、可扩展的硬件(CPU、存储、网络),可直接作为终端用户消费的服务,或作为构建虚拟化层和更高级服务的基础。需要一系列服务支持,如资源池化、容量和利用率计量、计费、审计和合规分析等,并保证特定的功能和非功能要求。 | IBM Tivoli 组织通过引入基于云的 IaaS 解决方案,为全球 38 个实验室的 6000 多名软件从业者提供了一组通用桌面映像。两年内,显著减少了服务和新项目的配置时间,节省了超过 1000 万美元的资本支出和超过 1150 万美元的运营费用。 |
| 平台即服务(PaaS) | 提供更完整的计算平台,用于开发和交付应用程序,包括操作系统和其他中间件能力,通常会应用最新版本的软件、更新和补丁。用户可以请求和配置特定的平台组合,也可以定义专门的软件栈来满足需求。 | Amazon Web Services(AWS)为希望在其 Amazon Elastic Compute Cloud(EC2)上运行解决方案的组织提供完整的开发和交付能力;Salesforce.com 的 Force.com 为创建与 Salesforce.com 解决方案集成的新解决方案提供平台。一个大型金融机构通过创建标准的企业级开发和交付工作台作为 PaaS 服务,解决了软件开发和交付工作台上的不一致问题,满足了其多样化组织架构的需求。 |
| 软件即服务(SaaS) | 大多数对云计算模型感兴趣的组织并非软件开发公司,它们使用云服务来满足业务需求,而无需自行开发软件。 | 许多企业使用 SaaS 模式的办公软件、客户关系管理系统等,通过互联网直接使用软件功能,无需在本地安装和维护。 |
mermaid 流程图如下:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(云计算):::process --> B(特点):::process
A --> C(部署模型):::process
A --> D(服务模型):::process
B --> B1(按需网络访问):::process
B --> B2(弹性扩展):::process
B --> B3(自我配置):::process
B --> B4(按使用量计费):::process
C --> C1(私有云):::process
C --> C2(公共云):::process
C --> C3(混合云):::process
D --> D1(IaaS):::process
D --> D2(PaaS):::process
D --> D3(SaaS):::process
综上所述,企业软件交付仍然对企业至关重要。新兴的 SaaS 和云平台为高效交付能力带来了新机遇,企业 3.0 时代的到来加速了企业软件交付在软件供应链中的工业化进程。未来,企业软件交付组织需要应对云计算带来的变革,同时平衡交付效率和新能力创新之间的关系,以适应不断变化的市场需求。
企业软件交付:现状、挑战与未来趋势
消费者与服务交互方式的变化
如今,消费者访问服务的方式发生了巨大变革。预计到 2015 年,全球将有超过 1 万亿台互联设备。这些设备都装有软件,能收集和分析数据、定位和跟踪物品,并以各种形式进行信息通信。社会依赖于传感器、通信、数据管理和信息分析等系统的组合。
这些设备也是提供各种服务的平台。例如,2010 年 1 月,苹果宣布其应用商店的应用下载量超过 30 亿次。行业分析公司 IDC 预测,全球移动应用下载量将从 2010 年的 109 亿次增长到 2014 年的 769 亿次。目前,大部分应用是游戏或提供简单功能,但越来越多的是商业应用或与后台业务应用交互的应用。
这种变化给全球企业软件交付组织带来了巨大压力,要求它们更频繁地为更多类型的设备提供更多功能。以下是这种变化带来的具体挑战和应对建议:
1.
挑战
-
多设备适配
:需要确保软件在各种不同类型、不同尺寸、不同操作系统的设备上都能正常运行和提供良好的用户体验。
-
功能更新频率
:用户期望软件能快速更新以跟上技术发展和满足新的需求,这增加了开发和测试的压力。
-
数据安全和隐私
:大量设备连接和数据交互增加了数据泄露和隐私侵犯的风险。
2.
应对建议
-
采用响应式设计
:使软件界面能自适应不同设备的屏幕尺寸。
-
建立敏捷开发流程
:加快功能开发和更新的速度。
-
加强数据安全措施
:如加密技术、访问控制等,保护用户数据。
社区和新交互方式的影响
社区和新交互方式的出现也对企业软件交付产生了重要影响。以 Netflix 为例,2006 年该公司悬赏 100 万美元,征求改进其电影推荐算法的最佳方案。超过 40000 个团队提交了解决方案,最终一个七人团队获得了奖金,其方案被 Netflix 采用以提升服务质量。
这种众包模式是企业与更广泛社区互动的新方式,体现了企业为有效创新而打破传统商业实践的决心。以下是众包模式在企业软件交付中的优势和实施步骤:
1.
优势
-
获取多样化的创意和解决方案
:来自不同背景的参与者能提供独特的思路。
-
降低研发成本
:无需企业内部投入大量资源进行研发。
-
提高用户参与度和满意度
:用户参与到软件的改进中,会更认同和使用软件。
2.
实施步骤
-
明确问题和目标
:清晰定义需要解决的问题和期望达到的目标。
-
发布悬赏或邀请
:通过合适的渠道发布众包信息,吸引参与者。
-
评估和选择方案
:对参与者提交的方案进行评估,选择最佳方案。
-
实施和反馈
:将选中的方案应用到软件中,并向参与者反馈结果。
企业软件交付的未来挑战与平衡
随着云计算、消费者需求变化和新交互方式等因素的影响,全球企业软件交付组织面临着巨大压力,需要重新思考交付效率和新能力创新之间的平衡。以下是实现这种平衡的关键要点:
1.
效率提升
-
优化供应链管理
:确保软件交付过程中各个环节的高效协作,减少延误和浪费。
-
采用自动化工具和流程
:如自动化测试、部署等,提高开发和交付的速度和质量。
-
加强团队协作
:促进不同部门和团队之间的沟通和合作,提高工作效率。
2.
创新能力
-
鼓励员工创新
:营造创新的企业文化,支持员工提出新的想法和解决方案。
-
关注技术趋势
:及时了解和应用新的技术和方法,为软件带来新的功能和竞争力。
-
与客户紧密合作
:深入了解客户需求,开发出更符合市场需求的软件。
为了更直观地展示企业软件交付未来需要考虑的因素和平衡关系,以下是一个 mermaid 流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(企业软件交付):::process --> B(效率提升):::process
A --> C(创新能力):::process
B --> B1(优化供应链):::process
B --> B2(自动化工具):::process
B --> B3(团队协作):::process
C --> C1(员工创新):::process
C --> C2(技术趋势):::process
C --> C3(客户合作):::process
总之,企业软件交付正处于一个快速变革的时代。云计算、消费者需求的变化以及新的交互方式等因素,既带来了新的机遇,也带来了诸多挑战。企业软件交付组织需要充分利用云计算等新技术带来的优势,借鉴众包等新的创新模式,同时注重在交付效率和创新能力之间找到平衡。通过遵循前面提到的经验教训,如根据企业特点应用工业化方法、评估企业流程成熟度等,企业能够更好地应对未来的挑战,实现更高效、更创新的软件交付,从而在激烈的市场竞争中取得成功。未来,企业软件交付将继续发展和演变,持续关注这些趋势并及时调整策略,将是企业保持竞争力的关键。
超级会员免费看
1039

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



