本文署名作者 PTC 施战备 郎燕
ALM(Application Lifecycle Management)也称为应用程序生命周期管理,用于管理软件产品从初期概念设想、架构设计、代码开发、测试部署,一直到寿命终止的整个生命周期过程。ALM 使软件工程团队能够利用经过验证的敏捷或者混合的开发模式,高效地开展软件项目的协同工作。。工业软件和 ALM 密切相关,ALM即是工业软件的一个细分领域,同时也为工业软件本身开发过程的生命周期管理提供了方法和支撑工具,帮助团队更好地开发、部署和维护工业软件。
一、工业软件和 ALM 之间的关联
(1)工业软件的开发过程可以使用 ALM 方法和工具进行管理。ALM 提供了项目管理、需求管理、版本控制、缺陷跟踪和持续集成等功能,帮助团队协调和管理工业软件开发流程。
(2)工业软件的需求、变更和缺陷可以借助 ALM 工具进行管理。工业软件通常需要根据实际需求进行调整和改进,ALM 工具可以帮助团队记录和跟踪需求变更,并在开发过程中及时发现和修复缺陷。
(3)工业软件的部署和支持也可以借助 ALM 的工具和流程进行管理。ALM 可以帮助团队进行软件的自动化部署、配置管理和故障排除,以确保工业软件在生产环境中的 稳定性和可靠性。
二、“软件定义产品”正在对传统的工业软件带来新的挑战
1.“软件定义产品”时代已经来临
“软件定义产品”是指当工业产品发展到一定阶段后,其硬件逐步标准化和模块化,而随着产品智能化程度不断提高,软件开始成为产品的核心,产品的大部分新功能都由软件提供,无需硬件的升级换代用户就可以享受新功能,极大地提升了用户体验。软件定义产品将成为未来产品的新形态。其中,最为大众所熟知和津津乐道的是汽车行业,即“软件定义汽车”。
根据大众汽车在 2020 年的预测,当时一辆车上最多约集成了 1 亿行代码,而到 2025年,一辆车上将集成多达 10 亿行代码。10 亿行代码相当于是谷歌与 Facebook之间的软件与互联网公司量级。当汽车的软件代码达到 10 亿行量级时,汽车公司就成为了一家不折不扣的软件公司。普华永道在《打造软件驱动的汽车企业》报告中指出:“未来几年内,汽车产业、产品和相关服务,将随着智能与互联功能方面需求的大幅增加而迎来重大改变。尤其是软件,已成为现代车辆差异化竞争的核心,而软件开发的成本,将在未来十年内增长 83%。”甚至有分析机构预计到 2030 年软件成本占整车成本将从现在的 15%上升到 60%。大众汽车前 CEO 赫伯特·迪斯(Herbert Diess)预测,汽车行业的创新将有 90%以上来源于软件。
2.“软件定义产品”带来的挑战
在“软件定义产品”时代,软件成为产品的核心部分甚至创新驱动的关键,企业的研发重心将从以硬件结构为主的模式转向为以软件工程为主的模式。这种模式转变不仅仅是产品数据及管理方式的转变,而是产品研发模式,乃至商业模式的转变。这将为传统的制造企业带来两方面挑战。
首先,软件开发模式与硬件开发模式截然不同。软件开发过程大致可分为需求定义,系统设计,代码开发,单元测试,集成测试和部署运维等。由于软件本身的特殊性,软件开发过程更易实现上述过程的信息化,因此早在 20 世纪八九十年代就已经涌现出一大批成熟的软件建模、开发和测试工具。为提升软件开发运维协作效率,缩短软件研发周期,提高软件质量,制造商开始引入在软件工程领域备受推崇的敏捷开发和基于DevOps的持续集成部署方法。在数字化时代,敏捷和 DevOps 等开发部署模式已经被广泛接纳,被认为是“软件定义产品”型企业数字化转型致胜的关键。然而,对于制造企业而言,其产品包含了软件和硬件,需要两者协同开发完成。相比硬件开发过程,软件开发迭代速度更快,周期更短,当硬件完成一个迭代周期时,软件可能已经演进了几个乃至十几个迭代。怎样保证软硬件既同步又保持各自的迭代速度,同时又能保证软硬件一体化产品配置,成为大部份企业面临的挑战。
其次,工业产品的软件开发过程与应用类软件(如互联网软件等)开发过程也有所不同。工业产品的软件一般都是嵌入式软件,严格受限于硬件配置、通讯协议和运行环境等条件。另外,工业产品需要严格遵循安全合规体系,以保证产品交付后的安全可靠。以汽车为例,新产品上市前,必须要获得 ISO26262 关于电子电气和软件的功能安全认证。安全合规的本质是要保证软件开发过程的连续性、可靠性和可追溯性,这与敏捷开发的理念是矛盾的。如何兼顾安全合规与敏捷开发,通过软件驱动产品创新是工业产品软件开发面临的另一挑战。
三、ALM 帮助制造业应对“软件定义产品”时代的挑战
在“软件定义产品”时代,应用生命周期管理(ALM)类工业软件将成为企业产品数据管理不可或缺的部分。ALM 可帮助企业实现软件开发的全过程管理,包括从需求分析开始,历经项目规划、项目实施、配置管理、测试管理等阶段,直至最终交付或发布。
(1)合规:实现安全合规和敏捷开发、DevOps 的融合,形成创新的软件开发体系,驱动产品创新。
(2)变更管理:“软件定义产品”意味着软件的变更和更新频率较高。ALM 提供了变更管理功能,帮助团队有效地管理软件变更。通过版本控制、配置管理和变更跟踪等功能,ALM可以确保变更的可追溯性和可管理性,减少潜在的错误和冲突。
(3)协同:“软件定义产品”通常涉及多个团队和多个开发环境的协同工作。ALM 提供了协同开发和集成的功能,使不同团队能够有效地协作。它可以集成不同的开发工具和系统,提供统一的工作流程和协作平台,促进团队之间的信息共享和协同开发。
(4)软硬件一体化:打造软硬件一体化解决方案。将 ALM 与 PLM 相结合,形成完整的软硬件一体化管理方案,使得软件在频繁迭代过程中能够与硬件版本保持一致。
(5)完整的产品数字主线:在产品 BOM 的基础上,将软件加入其中,实现完整的产品数字主线,构建完整的闭环链路,确保产品数据的准确性、一致性,实现产品数据的端到端追溯和一体化变更。
对于中国的工业企业而言,“软件定义产品”的时代也正在到来。就如PTC 全球资深副总裁兼大中华区总裁刘强曾经讲过的那样:软件驱动创新的趋势,意味着软件将进一步驱动整个产品的研发模式的转变,因此,企业需要一个现代、集成、互联的ALM平台来整合整个产品研发流程,从整体上建立起以软件为核心的创新动力模式,才能真正实现颠覆性的创新,从而建立自己不可动摇的市场竞争力。