什么是应用生命周期管理 (ALM)?

黎明时分,从空中俯瞰美丽的夏日环境,雾气弥漫

作者

Camilo Quiroz-Vázquez

IBM Staff Writer

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

什么是应用生命周期管理 (ALM)?

应用程序生命周期管理 (ALM) 是对软件应用程序从“摇篮到坟墓”的管理,即从构思和开发到部署、修订、维护和最终退役。

ALM 涉及 DevOps 开发运维和业务团队共同协作,完成应用程序的整个生命周期,直至部署并交付满足业务目标的运行应用程序。它涵盖了许多相关学科,包括需求管理、计算机编程、软件开发软件测试和维护变更管理持续集成、项目管理等。

应用程序开发是一个协作过程,当所有利益相关者都能了解该过程时,效果最佳。ALM 工具通过旨在创建高质量产品的定义方法来简化应用程序的创建。应用程序生命周期管理工具可帮助 IT 运营自动执行流程和工作流,从而在整个应用程序生命周期中加快部署速度,并改善维护。

成功实施应用程序生命周期管理策略需要了解 ALM 的各个阶段,并为开发、部署等工作制定明确的策略和计划。为了成功推出产品,团队必须同等重视流程的每一步。由于组织越来越依赖应用程序来实现业务目标,因此拥有能够帮助交付满足用户需求之应用程序的工具和技术非常重要。

高速公路鸟瞰图,叠加森林背景

在云端保持清醒头脑 


获取每周 Think 时事通讯,了解有关在 AI 时代优化多云设置的专家指导。

应用程序生命周期管理的各个阶段

应用程序生命周期管理分为五个阶段,每个阶段都需要单独的一组工具和专业知识,才能有效实现。项目经理还必须为 ALM 定义工作流。常见的两种工作流包括:

  • 瀑布模型是一个连续的 ALM 流程,具有定义明确的一系列步骤。在这种模式下,如果没有得到特定利益相关者的最终批准,项目就无法进入下一阶段。瀑布模型适用于可预测步骤较多、变量较少的项目。

    瀑布模型的一个缺点是,当出现问题或遇到阻碍时,重新审视之前的开发阶段或进行修改可能会很困难,成本也会很高。

  • 敏捷开发采用迭代方法,允许更小的增量步骤(称为“冲刺”),并对所有团队成员的反馈进行优先排序。每个冲刺阶段都侧重于实现整个项目的一个特定方面,并不断获取相关团队的反馈。

    敏捷方法使团队更容易适应变化并使决策过程民主化。在敏捷工作流中,步骤不像瀑布模型那样定义明确,这可能使评估项目总成本更具挑战性。

应用程序生命周期管理的 5 个阶段

需求管理

在第一阶段,利益相关者将明确定义他们需要应用程序的原因,以及该应用程序要解决的业务用例。利益相关者会确定目标用户,规划应用程序用户界面的设计,并考虑法律合规标准。这个阶段期间,对业务需求进行详细和全面的了解,有助于避免出现瓶颈。

在此阶段,项目经理将起草时间表,明确不同团队的责任,并建立清晰的沟通渠道。

开发

一旦明确了应用程序需求,开发团队就会开始构建应用程序。尽管开发阶段的技术性很强,但业务团队(包括产品营销和销售团队)应持续参与,以确保产品满足预期目标。团队将在开发阶段确定测试的时间表和要求。

测试和质量保障

构建应用程序时,强大的测试用例可确保产品满足业务和监管要求,包括安全和隐私要求。测试人员将过程中发现的错误或故障交给开发团队。业务团队成员还应参与测试阶段,以确保应用程序符合预期。

测试管理和开发运维 (DevOps) 团队采用持续整合 (CI),这是一个自动构建和测试新代码的过程。CI 可帮助开发人员集成新代码,并快速识别任何问题。产品部署之后,应继续执行测试和质量保障工作。

部署

针对应用程序进行充分测试之后,就会将其部署给用户。发布管理计划的过程涉及用于应用程序的维护和未来更新的已定义架构。发布后,应用程序需要持续监控,以保持其正常运行状态。

持续维护和优化

当应用程序发布时,它们会遇到真实用户和用例,这些用户和用例可能会产生在部署之前未识别出的错误或缺陷。应用性能管理软件和解决方案帮助企业实时监控应用性能。配置管理工具有助于维护运行应用程序的系统、服务器和设备。这有助于组织实现业务目标并增强用户体验。

此外,新技术或业务案例可能需要更新现有应用程序。开发运维团队经常部署持续交付 (CD) 管道,以实现应用程序维护和自动化过程的自动化。当开发人员为应用程序创建新代码时,持续交付解决方案会实现为新代码创建测试环境的流程自动化。如果新代码满足测试要求,则会自动部署。CD 使团队能够更快地进行更新和更正错误,从而减少应用程序停机时间。

如果实施得当,ALM 可以简化应用程序和软件开发过程,同时确保纳入所有利益相关者的意见。

AI 学院

利用混合云实现 AI 就绪

本课程由 IBM 资深思想领袖带领,旨在帮助企业领导者获得所需的知识,以便划分可以推动增长的 AI 投资的优先级。

DevOps 和应用程序生命周期管理

应用程序生命周期管理中使用的开发和维护工具可帮助 DevOps 开发运维团队更好地简化并自动化新应用程序的开发、部署和监控流程。

  • 成熟的 ALM 实践使开发运维团队能够在整个开发过程中更轻松地与业务和其他团队集成,并融入各方的反馈。此功能有助于不同的团队围绕共同的组织目标保持一致。

  • 版本控制工具,也称为源代码管理工具,可支持团队监控代码修改和应用软件的长期更新。

  • 可追溯性功能使团队能够在整个应用程序生命周期中监控许多移动部件,以快速识别任何问题。

  • ALM 还可以帮助 DevOps 团队进行测试管理,确保只部署工作代码。

应用程序生命周期管理工具

ALM 解决方案为应用程序的创建和管理提供了端到端的工具。这些工具通常以 SaaS(软件即服务)或基于云的解决方案的形式部署,有助于管理企业所依赖的越来越多的应用程序。治理工具为项目经理提供了维持团队间沟通和反馈回路的解决方案。

它们还提供了组织需求管理流程的方法,这有助于确保组织实现所有业务目标,同时为任何特定项目创建预计的时间表和成本分析。ALM 工具提供了对应用程序生命周期的更深入的可见性,这有助于打破孤岛并允许更高效的应用程序生产。

应用程序生命周期管理挑战

实施 ALM 流程的两个主要挑战是高效的可扩展性和一致的可见性。在复杂的应用程序系统中部署更新、修复和新代码,同时为用户提供持续服务,是一项艰巨的任务。

当应用程序和工作负载分布在多云混合云平台上,并且应用程序管理的重点环节(如合规)又分散在拥有自己的主题专家的特定部门时,这项任务变得更加具有挑战性。这些孤岛可能会导致在实时更新应用程序同时保持合规、性能和其他关键因素变得更加困难。

为了克服这些挑战,组织必须实施 ALM 解决方案,提供跨部门的可见性,以及不同专业领域的团队成员都能理解的洞察分析。ALM 解决方案集成了现有工具和平台,为用户提供集中的数据视图。

ALM、SDLC 和 PLM:有什么区别?

监控应用程序、软件或其他技术的生命周期意味着从构思到生命周期结束都要对其进行管理。还有其他一些开发方法使用包括软件开发生命周期和产品生命周期管理的术语“生命周期”。这两个过程之间存在区别,不能互换使用。简单介绍一下它们的区别:

软件开发生命周期 (SDLC)

该流程指的是用于构建高质量软件的方法。软件开发团队专注于软件特定部分的技术、测试和部署。SDLC 是应用程序生命周期管理的阶段之一,重点关注软件开发过程。ALM 是一个更广泛的术语,涉及规划、开发、部署和优化应用程序。

项目生命周期管理 (PLM)

此流程管理特定产品的设计、开发和销售。与 ALM 不同,PLM 通常意味着除了软件之外还要制造实体产品。PLM 也更加关注产品的包装、营销和销售,其目标是加快上市时间。

相关解决方案
IBM Concert

使用 IBM Concert 生成式 AI 驱动型技术自动化平台,简化应用程序管理并获取 AI 生成的洞察分析,以便据此采取行动。

深入了解 IBM Concert
应用性能管理软件和解决方案

将全栈可观测性与自动化应用资源管理相结合,在性能问题影响客户体验之前将其解决。

深入了解应用性能管理解决方案
混合云应用程序管理服务

了解 IBM Consulting 提供的用于管理复杂、混合和多云环境的高度创新服务。

深入了解应用程序管理服务
采取下一步行动

通过使用 AI,IBM Concert 可揭示有关运营的重要洞察分析,并提供特定于应用程序的改进建议。了解 Concert 如何推动您的业务向前发展。

  1. 深入了解 Concert
  2. 体验自助式导览