一、ALM概念

    应用生命周期管理(ALM,Application Lifecycle Management),主要负责管理维护应用软件从概念到消亡这个过程中涉及的所有数据信息,完成数据信息的端到端的跟踪,提供各个阶段的数据拉通整合的问题,解决各阶段数据信息不一致的问题,在任意一个过程节点上能够很方便直观的查看与此节点相关的所有数据,提供一系列的统计分析报告。

 

    二、ALM提出背景

        1、阶段间数据独立     软件工程实施过程中不同阶段的数据彼此独立,阶段内的工作有相应的工具或方法支撑完成,各相关人员不会发现问题,甚至认为工作成果很完美;就整个过程来讲,前后的工作没有任何衔接,靠人工完成信息有损传递,上下游的跟踪与配置管理关系丢失,导致出现问题无法准确定位,相互推诿责任。

        2、高返工率和错误率    由于各个阶段的数据信息由人工传递,导致阶段数据流和信息流出现差异,提高阶段内工作的差错率以及返工率。

        3、重用模块功能不完全,挑选工作量大    做分析的时候,认为某些模块之前已经完成开发并且已经很成熟,只需直接拿来用就可以了。但是这只能是某个阶段的重用,需要完成整个过程的重用是很困难的,需要找到相关的文档或数据信息是很困难的。

        4、配置信息关系复杂    各阶段的相关配置关系通过excel或其他方式记录和跟踪,容易出错,更容易丢失配置关系,导致交互延期,降低客户满意度。

        5、缺乏有效的监督    各阶段的人员在下游不知情的情况下任意修改工作结果,并不通知或很少通知其下游,从而引入各类风险问题;面对外部的工作审计,缺乏有效的证据说明整个过程管控在最严有效的管理方式。

        6、黑盒开发    整个过程属于黑盒,外界不知道或很少知道过程进度,不能为决策者提供准确的信息支撑。

 

    三、ALM需要完成的功能    为了能对产品的发布提供更可信的支撑,更容易获得市场的认可,提高产品质量,提高需求的重用粒度,降低软件工程过程中的复杂度以及减少交互时间,需要ALM解决方案提供可行的功能方案。

        1、提供端到端完整的跟踪    完整的软件工程过程的管理,需求->设计->实现->验证->发布全过程管理,包括所有数据以及相互间的跟踪关系

        2、完整的需求管理    对需求进行网状管理,可以快速对需求进行分析和过滤;能对需求进行自动收集整理;提高需求重用粒度,降低重复工作成本和质量的不稳定性;

        3、整个过程可管理    对整个过程进行有效的管理,包括各阶段的信息流,以及各阶段的变更的维护;使整个过程得到可以控制,可视图化过程信息,可以前追后溯,可以度量,评估以及审计。  

 

    以上是个人对软件开发过程的见解以及ALM对软件开发过程的应用。仅做参考。