配置管理,最早是在PMP培训时,听说的这个概念,大体理解下来,也就是文档或产品的版本控制之类。Just so so,没什么可讲的。
现在回头想来,嗯,也没多大问题,但理解得还是粗浅了一点点。
当时,还处在机械制造行业,尽管也会有BOM、零部件、图纸及其他技术文档的版本控制概念,但由于机械领域的变更动辄都是模具的改动,对周期和成本的影响自然也是非常大的,变更是个比较大且少的事情,所以版本控制、追溯和配置管理的概念就没有那么强,毕竟脑子里也都能记清楚了,最多用几句话描述下,也能把这个事情变更的来龙去脉大体讲明白。
现在,进入了电子软件行业,完全不同于机械行业,开发的敏捷性,软件迭代和文档升级的快速性,都不可同日而语。这时,配置管理的价值就出来了。
讲了这么多,还没有讲配置管理到底是什么?
大家应该会有一个朴素的直观的理解,但具体怎么严谨地讲出来,还是有一点困难。
翻了一些资料,觉得这句话更恰当全面且易理解,“配置管理是为了系统地控制配置变更,在系统的整个生命周期中维持配置的完整性和可追踪性,而标识系统在不同时间点上配置的学科”。
这个解释在我看来有两个优点,一是从系统工程的视角来看待,我们在开发一件产品,并不仅仅是一团代码或者一个机械结构,其背后有很多支撑的东西,比如软件代码、开发工具、测试用例、FMEA、功能安全状态,以及开发计划、需求文档、测试计划等,总之它是一个系统工程,基于需求,可以提取出来各个单元,这些单元共同构成了这个交付系统,这也就是所谓的配置项。
二是,标识这个词用得很到位,后面也会提到,尽管理论上或学术上可能有很多价值,但实际使用中最大的意义就是在系统“标识”上。
此外,还有一个配置基线的概念,既然配置管理很大程度上来源于不断的变更,那么就需要有一个基准或叫基线,否则变更也就无从谈起,而所有配置项的某一个基准共同锁定了一个状态,它就构成了一个相对稳定的逻辑系统实体,这就是配置基线的概念。
举个更贴合生活的例子,比如我们去药店买了一盒药,这盒药有药片、包装盒、说明书,而药片、包装盒和说明书都有自己的演变过程,可能是针对不同人群不同版本的说明书,可能是适合不同环境气候的包装盒材料,也可能是用了不用配比的药片,而当下我们买到的这盒药就是在这三者特定版本下的配置基线。当生产商保证产品一致性时,当我们发现什么问题需要追溯原因时,或者需要基于此做一个新药开发时,都可能使用到此配置基线。
设想一个更直观的状态,多个镜头在记录这盒药的所有配置项随时间变化的状态,咔嚓一声,拍了一张照片,这张照片其实就是配置基线,它锁定了系统在整个生命周期上特定时间点的特定状态。
在汽车行业里会有各种质量阀来管控产品质量和释放,在这样的质量阀点,通常会审核项目的配置基线状态,用以确认这个节点上的各个配置项是否按要求完成并进行了冻结。
整体的思路大概这么多,前面也带过,但在最后还想说一句,话虽如此,实际上这仅仅是个管理工具,并没有那么大作用。
作者所处的公司是行业龙头,而且以流程详细且高标准著称,但这样的工具大多数沦落为一个检查清单和文档存档的作用。
据此,有三点小体会,一、隔行如隔山,莫以己度人;二、管理更是在管人性人心,工具仅仅是起到少量的辅助作用;三、简单的才是最好的,凡事能探究到第一性原理才是大牛。