什么是ALM?ALM的全称是应用生命周期管理流程。

⚡ 智能摘要

应用生命周期管理 (ALM) 涵盖软件应用从初始需求规范到设计、开发、测试、部署以及长期用户体验的整个过程。它由治理、开发和运维三大要素构成,并通过七个既定阶段将一个想法转化为一个可维护的产品。

  • 🧭 三要素: 治理部门控制资金和访问权限,开发部门构建应用程序,运营部门运行和维护已部署的技术栈。
  • 📋 需求 Foundation: 需求的记录、分析、优先级排序和协商是一个持续进行的过程,而不是在构建开始之前完成。
  • 🔁 方法论敏感: 瀑布式开发将运维与开发分离,而 DevOps 则将它们合并成一个连续的、完全集成的流程。
  • 🗂️ 配置控制: 软件配置管理 tracks 跟踪整个生命周期中代码、文档和相关实体的每一次更改。
  • 🧪 验证范围: 测试证实符合既定要求以及利益相关者的期望,而这些期望是要求未能涵盖的。
  • 🛠️ 工具概览: Kovair ALM 工作室 OpenText 应用质量管理,以及 Digital.ai 敏捷性涵盖发布过程中的所有要求。

什么是ALM

什么是 ALM?

ALM ALM 是软件应用程序的规范制定、设计、开发和测试过程。它涵盖了从应用程序构思到开发、测试、部署、支持,直至最终用户体验阶段的整个生命周期。ALM 的全称是 Application Lifecycle Management(应用程序生命周期管理)。

根据软件开发方法(例如瀑布式、敏捷或DevOps),应用生命周期管理(ALM)可以分为多个阶段。ALM流程主要包含三个要素:治理、开发和运维。

ALM 流程

以下是应用生命周期管理(ALM)的关键领域:

治理

它包括需求管理、资源管理、数据安全、用户访问、审查、审计、部署控制和回滚。

治理的益处:

  • 协调业务战略
  • 德韦洛ping 商业案例
  • 提供持续监控
  • 资助价值最高的项目
  • 明确的责任和控制

应用开发

它包括识别当前问题、规划、设计、构建、测试和部署应用程序。这一领域涵盖了传统的开发人员和应用程序创建者的角色。

应用操作

这包括应用程序的部署和技术栈的维护。在瀑布式软件开发方法中,运维是一个独立于开发阶段的环节。而DevOps团队则将运维和开发整合到一个完全集成、持续的流程中。

为什么 ALM 很重要?

以下是使用 ALM 的主要原因:

  • 您可以清楚地了解项目状态。
  • 团队能够有效沟通。
  • 需求很容易定义,而且 track.
  • 该软件已通过充分测试。
  • 维护和运行该解决方案的成本仍然有限。

ALM 与 SDLC:它们的区别

ALM 和软件开发生命周期 (SDLC) 经常被混为一谈,这导致团队在尝试采用其中任何一个时产生困惑。SDLC 是 ALM 的一部分,而不是与之并列的。

方面 软件开发生命周期 ALM
适用范围 构建软件 从构思到退役的整个产品生命周期
开始于 构建要求 初步商业案例
结束于 该版本的部署 应用程序停用
涵盖治理 没有 是的——资金、准入、审计、合规
循环次数 每版限量发行一次 一个应用程序生命周期中包含多个软件开发生命周期 (SDLC) 周期

一个应用程序通常会经历多个软件开发生命周期 (SDLC) 迭代,但始终保持在同一个应用生命周期管理 (ALM) 周期内。理解这种嵌套结构可以解释为什么以下阶段会一直延续到代码发布之后。

ALM(应用程序生命周期管理)的阶段

ALM(应用程序生命周期管理)的阶段

以下是 ALM 的不同阶段:

1)需求管理

需求管理是应用生命周期管理(ALM)的第一阶段。它可以帮助您记录、分析需求。 trac确定需求优先级并达成一致。这是一个贯穿项目生命周期的持续过程。另请参阅我们的最佳列表。 需求管理软件.

2)设计

设计管理是一个通过提升用户体验来增强客户满意度和忠诚度的过程。它还能塑造客户与产品之间的互动方式。

3)构建管理

构建管理,也称为代码管理,是将源代码文件转换为独立软件组件的过程。在这个阶段,应用程序的构想转化为实际的应用程序。

在此阶段,应用程序将被构建、测试和部署,测试人员开始准备测试用例并编写测试脚本以进行测试阶段。

4)供应链管理

软件配置管理(SCM) 是 ALM 阶段,开发团队在应用程序开发生命周期中系统地组织、管理和控制文档、代码和其他实体的变更。

5) Opera系统蒸发散和维护

在这个阶段,应用程序的监控、管理和持续开发工作开始。在DevOps中,这个阶段涵盖“发布”、“配置”和“监控”。

在这个阶段,你需要查找并解决漏洞。该阶段还有助于你规划产品后续更新并确定优先级。

6)测试管理

在测试阶段,测试人员会验证应用程序是否符合流程初始步骤中定义的要求。

他们还会确保应用程序满足用户期望以及在其整个生命周期内支持它的所有其他利益相关者的需求,即使这些期望在需求阶段没有得到充分体现。

7)用户体验

维护或用户体验通常是 ALM 中最长的阶段,但同时也是测试和开发团队参与度最低的阶段。

应用程序开发完成后,用户的作用就体现出来了。他们会试用整个应用程序,并通过反馈分享他们的体验,最终的应用程序才会交付。

ALM的优势

使用应用生命周期管理 (ALM) 的好处如下:

  • ALM 通过组织和帮助您控制系统 trac国王的工作。
  • 缺陷可以在不同项目间共享,从而降低重复风险。
  • ALM 提供与其他测试工具的集成。
  • 它在应用程序构建之前提供了明确的方向。
  • 如果没有 ALM,软件开发团队就很难以保持竞争力所需的速度和灵活性来生产软件。
  • ALM能够以最小的团队开销高效地交付软件。

资产管理工具

以下是一些重要的 ALM 工具:

1)Kovair ALM 工作室

Kovair是功能最全面的应用生命周期管理产品之一。它可以处理从需求到发布的全生命周期各个阶段。

Kovair ALM 工作室

特色:

  • 采用完全基于 Web 的解决方案,无需客户端软件,从而减轻支持负担。
  • 实践任何一种开发方法:瀑布式、敏捷式或混合式。
  • 实施可配置的基于任务的工作流引擎,以提高效率和生产力
  • 在每个可操作的阶段获取实时通知
  • 全面覆盖每个开发步骤,确保符合标准
  • 允许实时查看工件状态,从而提高透明度和发布可预测性。

链接: https://www.kovair.com/alm-studio/

2) OpenText 应用质量管理(原名 Micro Focus ALM)

该工具支持精益、敏捷和DevOps交付,并有助于ping 组织机构可以更快地发布软件。它使各种规模的团队都能更快地交付高质量的应用程序。该产品几经易手:它最初由……开发。 Mercury被惠普收购,转让给Micro Focus,此后 OpenText 2023年1月收购Micro Focus 它已被售出 OpenText 应用程序质量管理.

OpenText 应用程序质量管理

特色:

  • 以速度、质量和规模交付应用程序
  • 允许利益相关者互动和协调,以实现项目目标
  • 提供强大的 trac国王和报告,以及项目相关任务的无缝集成
  • 能够进行详细的项目分析和有效的管理
  • 连接到电子邮件系统并通知团队成员变更情况。

链接: https://www.opentext.com/products/application-quality-management

3) Digital.ai Agility(原名 VersionOne)

敏捷开发通过简便的待办事项管理简化了产品规划。它专为以下用途而构建: DevOps的 并通过拖放界面提供端到端的持续交付。该产品最初以 VersionOne 的名称发布,后迁移至 CollabNet,现在以另一个名称发布。 Digital.ai 敏捷性.

Digital.ai 敏捷性

特色:

  • 允许用户通过拖放操作来确定用户故事和缺陷的优先​​级。
  • 使用投资组合项目管理业务计划
  • 允许按主题对项目进行分组
  • 根据业务目标提供结果
  • 将所有功能请求集中在一个地方
  • 有助于确保公司目标与产品交付成果保持一致。
  • 为项目经理提供洞察和端到端的可视性

链接: https://digital.ai/products/agility/

工具的选择不如日常使用流程的方式重要,以下两个场景说明了这一点。

从开发人员角度看 ALM 的用例场景

  • 开发人员开始工作,并查看分配给他们的任务列表。
  • 他们按优先级查看任务,然后选择其中一项。
  • 他们将任务状态更改为“进行中”。
  • 他们从源代码库中检出代码。
  • 他们使用测试框架实现了单元测试。
  • 他们使用标准构建脚本执行测试。 Code 检查报告指出非法命名规则或潜在漏洞。
  • 他们修复了代码并重新运行测试。
  • 一旦代码覆盖率达到目标,他们就会提交带有任务 ID 的代码。
  • 然后他们检查代码并运行构建脚本。
  • 代码已编译并部署到测试服务器。
  • 测试用例运行。如果测试失败,系统会自动向开发人员和项目经理发送通知。
  • 开发人员回滚源代码库和测试机上的代码。
  • 如果测试通过,则会进行代码检查和覆盖率分析。任何问题都会被报告;否则,系统会通知开发人员所有实现均已成功完成。
  • 他们将自己的工作经历记录在任务管理系统中。
  • 项目经理收到任务已完成的通知后,会审核结果。

从项目负责人角度看 ALM 的用例场景

  • 项目负责人打开网页浏览器,进入ALM仪表盘页面。
  • 每个项目都有自己的仪表盘页面。
  • 它会显示未完成任务的数量、待处理任务的数量以及所有未完成的关键任务。
  • 仪表盘会通知项目负责人潜在风险并显示项目的整体运行状况。
  • 每次提交和更改都会自动上报。
  • 因此,ALM 流程无需通过会议或电话来检查关键任务的持续集成状态。

常见问题

不,ALM是一门学科; HP ALM 是其中一款实现该技术的产品。该产品现在以这样的形式出售。 OpenText 应用质量管理通过后 Mercury惠普和Micro Focus。

所有权是共享的。治理通常由产品和组合管理团队负责,开发由工程负责人负责,运维由平台或DevOps团队负责。整个生命周期由单一负责人管理的情况很少见。

AI 根据利益相关者的意见起草需求,根据这些需求生成测试用例,预测哪些变更会带来最高的缺陷风险,并总结发布准备情况以供治理审查。

部分可以。人工智能可以通过匹配语言和变更历史来推断需求、测试用例和提交之间的关联。但在受监管的环境中,仍然需要人工审批。 trac审计前的能力矩阵。

需求覆盖率、缺陷泄漏率、从需求到发布的交付周期以及返工率。覆盖率上升而缺陷泄漏率下降表明生命周期控制有效。

总结一下这篇文章: