什么是 ALM?
应用程序生命周期管理(ALM)是指软件应用程序的创建和维护,直至其不再使用。它涉及多个流程、工具和人员共同管理生命周期的各个方面,例如创意、设计和开发、测试、生产、支持和最终的冗余。
ALM 也被称为集成应用程序生命周期管理,因为开发人员、分析师、测试人员和变更经理等各种软件专家在整个应用程序生命周期中协同工作。团队之间的协作和各种支持工具的使用可确保应用程序开发符合业务目标并确保项目成功。
为什么 ALM 很重要?
在传统的软件开发环境下,软件开发过程的不同领域是完全分开的。这种分散会导致流程效率低下、交付延迟、意外的范围变更和成本超支。应用程序生命周期管理(ALM)通过将多个学科、实践和团队整合到一起,有效地解决了这些问题。协同工作让您可以更轻松地创建、交付和管理复杂的软件。
在软件应用程序的整个生命周期中,ALM 可提供诸多好处。
提供明确的项目方向
ALM 流程和工具可帮助开发和测试团队规划和实施其项目策略。他们可以更准确地估算项目要求,更好地规划应用程序的未来。它们还可以根据情况的变化做出实时决策并有效地调整计划。
提高跨团队的可见性
ALM 中使用的工具和技术为所有团队创建了一致的项目视图。每个人都知道到目前为止已经完成的工作以及仍需要完成的任务。不同团队可以共同努力,确定应用程序开发后续步骤的优先顺序。
提高团队满意度
团队沟通更顺畅,协作更有效。这种沟通可以提高工作效率,提高员工满意度和工作场所参与度。
提升开发速度和质量
当软件开发团队遵循 ALM 原则时,开发人员和测试人员可以高效协作以提高软件质量。他们可以使用自动化来频繁测试源代码,并尽早排除编码错误。通过针对每次更改测试整个代码,团队可以更快、更自信地交付新的软件功能。
ALM 包括哪些阶段?
应用程序的生命周期分为五个阶段:
应用程序要求收集
在初始阶段,相关利益相关者将定义他们对应用程序的要求。他们会分析应用程序将如何支持他们实现业务目标和法规遵从性要求。要求管理通常涉及编写用户使用场景,以显示不同用户将如何与应用程序交互。
应用程序要求收集示例
一家银行正在考虑开发一款移动银行应用程序。它定义了两个用户:客户和管理员。要求管理团队确定了两个用户使用场景:
- 一个是客户用户使用场景,说明客户如何使用应用程序提交开立新银行账户的请求。
- 一个是管理员用户使用场景,说明管理员如何使用应用程序审批客户文档。
此外,需求管理团队还确定应用程序的软件系统应符合符合数据隐私法的安全标准。
应用程序开发
在开发阶段,各个团队共同努力,将要求转化为有效的应用程序。例如,通过以下步骤:
- 项目经理估算时间和开发成本。
- 开发人员确定设计任务和编程活动。
- 质量分析师为质量和进度检查添加审阅任务和检查点。
开发和测试团队还为其软件项目规划时间表。他们确定要求之间的任何相互依存关系,并决定完成和发布新功能的顺序。
应用程序开发示例
该银行的 IT 团队为移动应用程序制定了开发计划。团队成员确定他们需要先完成客户的用户使用场景,接着进行全面的测试,然后再开始满足管理员的要求。但是,他们知道在推出新产品之前,必须先满足这两个要求。他们对应用程序进行编码,并在两个月内将其发布给测试组。
应用程序测试
在软件测试阶段,质量分析师会对应用程序进行评估,以验证其是否符合要求。他们会识别任何软件错误或缺陷并确定其优先级,然后由软件开发团队进行修复。应用程序的测试和开发通常在应用程序的生命周期中同时进行。例如,每当开发人员进行软件更改时,敏捷开发方法都会使用自动化测试工具来测试整个代码库。
应用程序测试示例
该银行的质量保证团队验证了为其移动银行应用程序开设账户的商业案例。他们发现客户只能选择驾照作为身份证明。由于银行也接受护照作为身份证明,因此他们要求开发团队更新应用程序以包含此信息。
应用程序部署
在部署过程中,开发人员将应用程序发布给最终用户。发布管理还包括规划团队如何随时间推移部署软件变更。敏捷开发团队可自动执行部署,以加快新功能和更新的发布速度。AWS CodeDeploy 等工具和服务可提供更好的部署控制,并最大限度地减少生产中的错误。
应用程序部署示例
该银行的移动应用程序团队使用云服务器托管应用程序代码,以便管理员可以通过网站访问它。他们还在热门移动平台的应用商店中部署代码,以便客户可以直接下载它。
应用程序维护
在维护阶段,支持和开发团队将共同努力解决剩余的错误、计划新的更新并进一步改进产品。它们将结合用户反馈并发布与客户相关的新功能。这些团队还使用 AWS X-Ray 和 AWS CloudTrail 等工具在维护阶段监控应用程序的性能和使用情况。随着时间的推移以及技术的进步,他们可能还会决定在现代系统上创建新的应用程序,并停止使用当前的应用程序。
应用程序维护示例
该银行的 IT 团队监控其移动应用程序的性能,并发现客户上传文档时性能会变慢。在发布下一个更新之前,他们会进行系统更改并改进设计。
什么是 ALM 工具?
ALM(应用程序生命周期管理)工具是开发人员、分析师和其他利益相关者用于应用程序管理的软件。它们提供了一个标准化的环境,每个人都可以在该环境中进行沟通和协作。我们在下面给出了集成 ALM 套件的一些常见功能。
项目管理
大多数 ALM 工具本质上都是项目管理工具。您可以在 ALM 的所有阶段查看项目状态。这些工具显示了详细的任务,并包括估算和项目规划的功能。
要求管理
ALM 工具充当应用程序用户要求的中央存储库。您可以将用户使用场景与技术和功能规格关联起来。例如,应用程序的用户访问要求可能涉及对密码加密的技术要求。
源代码管理
许多 ALM 工具为开发人员提供了跟踪代码更改的选项。不同的开发人员可以在单个代码库上工作,进行更改和组合更改,并高效地管理开发流程。
测试管理
分析师使用 ALM 工具编写和维护软件测试,以实现持续集成。这种开发方法会自动测试应用程序的每一次代码更改。它提高了质量保证,并支持向客户持续提供新的应用程序功能。
其他功能
ALM 工具还可以包括其他几个用于有效管理的功能,例如:
- 实时聊天支持
- 项目组合管理
- 可视化工具,如图表和图形
ALM 与其他生命周期管理方法相比如何?
生命周期在技术中经常被用来指代技术创新和支持的整个过程。我们在下面提供了一些其他类似术语。
软件开发生命周期
软件开发生命周期(SDLC)是一种系统的方法,您可以使用它来经济高效地生产高质量的软件。软件开发团队使用 SDLC 的分步方法有效地设计、开发、测试和部署软件。
ALM 与SDLC
SDLC 更详细地描述了应用程序开发阶段。它是应用程序生命周期管理(ALM)的一部分。ALM 包括应用程序的整个生命周期,并持续到 SDLC 之后。在应用程序的生命周期中,ALM 可以有多个 SDLC。
产品生命周期管理
产品生命周期管理(PLM)负责管理物理产品的设计、生产和销售,尤其是在制造和工程行业。
ALM 与PLM
ALM 主要是指软件组件,而 PLM 表示产品中存在某些硬件、电子设备或其他物理组件。虽然 PLM 和 ALM 的基本原理是相同的,但两者的应用范围却有所不同。
例如,PLM 的开发阶段包括制造规范,产品营销阶段包括包装设计。由于这些差异,PLM 有自己的一套单独的工具。您可以针对特定 PLM 调整和设置某些 ALM 工具。
ALM 中的应用程序监管是什么?
应用程序监管是一组策略、程序和规则,组织使用这些策略、程序和规则在应用程序生命周期中高效地分配资源。它有助于缩短交付时间,并在整个应用程序生命周期管理(ALM)流程中建立明确的责任和控制。强有力的监管可以确保应用程序满足组织对数据安全性、法规和合规性的要求。
应用程序监管包括以下内容:
- 数据安全和用户访问
- 应用程序审查、审核和回滚
- 资源的集中管理
- 性能和系统监控
ALM 中的应用程序监管是什么?
应用程序监管是一组策略、程序和规则,组织使用这些策略、程序和规则在应用程序生命周期中高效地分配资源。它有助于缩短交付时间,并在整个应用程序生命周期管理(ALM)流程中建立明确的责任和控制。强有力的监管可以确保应用程序满足组织对数据安全性、法规和合规性的要求。
应用程序监管包括以下内容:
- 数据安全和用户访问
- 应用程序审查、审核和回滚
- 资源的集中管理
- 性能和系统监控
Amazon 如何帮助您解决资产管理问题?
AWS 管理与监管服务为组织提供支持,使您可以更快地进行创新,同时仍能控制成本、合规性和安全性。这些服务可以大规模管理高度动态的云资源,同时提供单一的管理控制面板。您还可以使用 AWS 管理与监管服务来评估资源使用情况并确定降低成本的方法。
例如,您可以使用以下服务:
- AWS Budgets,用于规划成本控制并预算 AWS 上的资源。
- AWS Organizations,用于支持跨 AWS 账户进行集中监管与管理。
- AWS CloudFormation,用于对您的云基础设施资源建模并对其进行预置。
立即创建 AWS 账户,开始使用应用程序生命周期管理(ALM)。