SpecDD系列:敏捷应用生命周期管理(ALM)

简介:

 由于敏捷开发正成为越来越多开发团队的标准,敏捷应用生命周期管理持续呈现增长势头。一个已经被证明了的事实,那就是很多工具供应商发现把自己的产品标识成敏捷工具甚至是敏捷ALM工具,是很管用的。
  然而,何谓敏捷应用生命周期管理?应用生命周期管理结合了技术因素和功能因素,为常见的项目活动(如开发,配置,部署,发布,测试,质量,集成,和需求管理)提供一个综合方案。
  敏捷ALM用敏捷的价值观和策略,丰富了应用生命周期管理。敏捷方法下的ALM可以提高产品质量,缩短产品上市时间,并让开发者感到快乐。传统的ALM有助于为敏捷ALM提供一个架构,同时保证过程和工具链是灵活的,可更改的和高品质的。
  个体和交互胜过过程和工具
  首先,敏捷ALM是一个准则,是一种思想。从事敏捷应用生命周期管理应该从价值观和人,以及人们背后的观念开始。敏捷ALM工具是一个能够促进敏捷过程的ALM工具。
  敏捷ALM工具必须能够为项目增加价值并改善利益相关者之间的合作。这些是通过构建敏捷ALM的基石:协作和基于任务的开发,功能/技术发布,利益相关者关注点和质量保证来实现的。
  很多团队都很乐于把几个单独的好用的工具拼凑起来用。把许多轻量级的,可配置的工具整合为一个工具链。这种混搭的工具集合通常能够提供完成一个任务所需的大部分功能。很多时候,虽然工具之间存在隔阂,但这些隔阂可能不会存在于完全整合的解决方案中。
  理想的情况下,敏捷ALM工具应该有一个整合的,灵活的架构,可以让你扩展过程和功能。依托一个完全整合的工具,可以显著提高产品安全性和沟通效率,因为你可以很容易地维护各个交付件之间的关系,并且不用担心工具间传输时会遗漏细节。现在,我们来讨论一下构建敏捷ALM基石的其他重要部分。
  基于任务的开发
  基于任务的开发方法中,任务是团队工作和交互的基本单元。基于任务的开发需要能够跟踪具体变更的关联工作项,通过追溯性定位并完成这些工作。例如,你正在处理事件系统上的一个任务。你的SCM(比如SVN)与事件系统(比如DevTrack)是相集成的,从而透明化任务的工作进度和相互依赖关系。在DevTrack中,你可以看到Sprint中每个任务的计划,它们的状态,以及已完成的代码更改。此外,DevTrack作为完整DevSuite中的一个组件,你可以为DevTrack中的任务链接原始的用户需求及可用的测试用例。
  功能性和技术性发布管理
  发布管理包括产生软件交付件,并按照既定流程发布这些交付件。发布管理可以区分为功能性的和技术性的。要想成功交付软件,这两部分都是非常重要的,并且应该相互融合。
  功能发布管理涉及到客户的需求,将这些需求分配到各个版本中,然后把功能提供给客户。经常使用敏捷实践来支撑这一过程,许多项目通过使用Scrum管理模板取得了良好的效果。通过定义一个简洁的框架,Scrum促进了规范化,并且让缺陷(软件中的以及过程中)可视化。但是,Scrum太抽象化了,有些“纸上谈兵”。你必须实施Scrum,并且使之适应软件工程。例如,实施实践可能在不同的开发阶段会存在差别,微观层面上,在一个Scrum发布内部:发布过程中,你可能会为了关闭开发阶段而考虑冻结某些新功能的开发实现,而允许开发人员只处理缺陷的修复工作。另一个有效的选择是使用一定时间间隔的代码冻结,来完成和交付最终版本。
  技术发布包括构建软件和提供最终产品给用户。构建管理(包括编译脚本,打包和分发组件)对于敏捷ALM来说是必不可少的。技术发布管理描述了以下活动:识别配置项,跟踪和审核基于需求和配置项的变更,集成和交付实施。在软件工程中,变更更像是规则,而不是例外。因为需求总是在变化的,保证需求和实施的同步是非常重要的。功能发布管理和技术发布管理之间可能存在的隔阂应该被桥接。一个完全整合的敏捷ALM工具可以通过自动创建相应的关系和链接来避免这些隔阂。
  总结
  敏捷应用生命周期管理涵盖软件工程中的许多学科。敏捷ALM关乎人和策略,以及用一个完全整合的工具套件来实施这些策略。敏捷ALM有助于为敏捷提供架构,并且通过一种果断,务实的方式来实现应用生命周期管理。使用敏捷方法来进行应用生命周期管理,你将收益更好的结果并更快的获得成功。

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
4月前
|
运维 安全 Devops
DevSecOps:构建无缝安全的DevOps流程
在当今数字化时代,软件开发行业面临着越来越多的安全威胁。为了应对这些威胁,传统的软件开发模式已经无法满足需求。因此,DevSecOps应运而生,旨在将安全性融入到DevOps流程中。本文将介绍DevSecOps的概念和原则,并探讨如何实现无缝安全的DevOps流程。
|
10月前
|
供应链 项目管理 智能硬件
|
11月前
|
运维 监控 安全
DevSecOps:将安全性纳入DevOps流程的实践
在当今快节奏的软件开发环境中,DevOps已成为一种广泛采用的开发方法论,旨在加速软件交付并提高团队合作。然而,随着安全威胁不断增加,仅仅追求速度和效率已不再足够。为了确保软件的安全性,将安全性纳入DevOps流程是至关重要的,这就是DevSecOps的核心理念。
180 0
|
敏捷开发
《规范敏捷交付:企业级敏捷软件交付的方法与实践》——导读
DAD是Scrum和RUP这两个极端之间的折中,而且恰到好处,因为Scrum是一个轻量级的过程框架,仅仅关注在交付过程中的一小部分,而RUP是一个涵盖完整交付周期的综合性过程框架。DAD注重敏捷交付的基础,而同时又保持充分的灵活性,企业可以对它进行定制,从而使其适应企业自身的环境。
2822 0
|
敏捷开发
《规范敏捷交付:企业级敏捷软件交付的方法与实践》——1.8 目标驱动的交付生命周期
本节书摘来自华章计算机《规范敏捷交付:企业级敏捷软件交付的方法与实践》一书中的第1章,第1.8节,作者:(加)安布勒(Ambler, S. W.),(加)莱恩斯(Lines, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1615 0
《规范敏捷交付:企业级敏捷软件交付的方法与实践》——1.11 可扩展
本节书摘来自华章计算机《规范敏捷交付:企业级敏捷软件交付的方法与实践》一书中的第1章,第1.11节,作者:(加)安布勒(Ambler, S. W.),(加)莱恩斯(Lines, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
970 0
《规范敏捷交付:企业级敏捷软件交付的方法与实践》——3.2 Scrum
本节书摘来自华章计算机《规范敏捷交付:企业级敏捷软件交付的方法与实践》一书中的第3章,第3.2节,作者:(加)安布勒(Ambler, S. W.),(加)莱恩斯(Lines, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1419 0
《规范敏捷交付:企业级敏捷软件交付的方法与实践》——3.9 其他
本节书摘来自华章计算机《规范敏捷交付:企业级敏捷软件交付的方法与实践》一书中的第3章,第3.9节,作者:(加)安布勒(Ambler, S. W.),(加)莱恩斯(Lines, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
980 0
|
敏捷开发
《规范敏捷交付:企业级敏捷软件交付的方法与实践》——第1章 DAD
本节书摘来自华章计算机《规范敏捷交付:企业级敏捷软件交付的方法与实践》一书中的第1章,作者:(加)安布勒(Ambler, S. W.),(加)莱恩斯(Lines, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1897 0
|
测试技术 数据库
《规范敏捷交付:企业级敏捷软件交付的方法与实践》——3.5 敏捷数据
本节书摘来自华章计算机《规范敏捷交付:企业级敏捷软件交付的方法与实践》一书中的第3章,第3.5节,作者:(加)安布勒(Ambler, S. W.),(加)莱恩斯(Lines, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
933 0