
配置管理之基线
基线是配置管理的核心内容,目的是有效控制工作产品变更。
如果基线没有做好的话,可能会发生如下情况:
场景1:
- 需求工程师于2020年1月10日,发布了”产品需求V1.0”,并宣布其为正式版
- 设计工程师信心满满的基于V1.0版本的产品需求,进行着产品设计~~
- 需求工程师于2020年3月10日,发布了”产品需求V1.1”,并对设计工程师说,只是小改动,不要担心哦
- 设计工程师对比了V1.0和V1.1后,内心是崩溃的,Response Time由原来的1s调整成1ms,产品架构需要做根本性调整……
- 设计工程师:为什么更改之前不和我打招呼?
- 需求工程师:只是小改动哦,为啥这么火大呢?喝杯凉茶先….
- ……
场景2:
- 开发团队于2020年1月10日,发布了搭载A, B, C功能的”SW V1.0”给测试团队
- 测试工程师对V1.0版本的SW,手工测试了10000条测试用例,很有成就感
- 开发团队于2020年3月10日,发布了”SW V2.0”给测试团队,是在V1.0的SW基础上增加了X, Y, Z功能,并对原来的A, B, C功能做了优化。
- 测试工程师:A, B, C功能的优化,影响范围是多少?增加的X, Y, Z功能对A, B, C功能有多大影响?
- 开发团队:&……%¥#####,代码给你,你自己看看?
- 测试工程师:*&……%%¥,之前手工测试的10000条测试用例,都白测了,我要刀了你…..
为避免项目团队中发生如上问题,本文谈谈基线中的一些比较重要的基本概念
(1)基线(baseline)
基线(baseline):一组经过正式评审并达成一致的规范或工作产品,作为进一步开发的基础,并且只能通过正式的变更控制程序进行更改。
A set of specification or work products that has been formally reviewedand agreed upon, that thereafter serves as the basis for further development,and that can be changed only through formal change control procedures (ISO/IEC24765:2009, CMMI-Dev V1.3)
基线的如上定义,可以看出,基线包括如下特征:
(1)工作产品经过正式评审,并在相关方之间达成一致。
(2)建立基线后的工作产品,需要经过正式的变更程序才能变更,即:变更需要获得相关方的同意后才能实施。
建立的基线,可以理解为是相关方之间的”Agreement承诺”,一旦缔结了”Agreement承诺”,工作产品的Owner在没有获得相关方同意后,无法对工作产品做更改的。
(2)识别基线(Identify baselines)
2.1 项目中需要识别哪些基线呢?
工程类的工作产品需要建立基线。项目计划相关的工作产品可以按照版本控制来管理。
参见如下文章了解版本控制和基线控制的区别:
工程类工作产品建立的基线,包括两种类型:
第一种称之为”配置项基线”
例如:系统工程师完成”系统需求规范”后,通过会议评审的方式,与客户、设计工程师、软件、硬件、测试等相关方就”系统需求规范”达成一致。建立了”系统需求规范基线”。建立基线的”系统需求规范”作为设计、软硬件开发、测试用例开发的基础。
第二种称为”发布基线”
例如:项目完成B样件阶段的开发测试工作后,建立了”B样件基线”,包括:需求、设计、Source Code、测试结果、软件包等。”B样件基线”内容是与客户、需求、设计、软件、硬件、测试等相关方达成一致的。建立的”B样件基线”是下一个阶段开发的基础。
2.2 基线建立的时机
基线建立的时机,是需要进行考虑的,例如如下的情况:
背景:
- 张工程师负责A模块的详细设计、编码和单元验证工作。
- 详细设计需要建立基线。
处理方式1:
如下图所示,如果”详细设计”在详细设计活动后立刻建立基线的话,在编码/单元验证过程中,如果发现详细设计的问题需要改详细设计,需要走正式的变更流程,变更被批准后,张工程师才能去变更详细设计。在编码/单元验证过程中,会触发很多与详细设计有关的变更。这样的做法有很大的时间及成本上的消耗。
结合基线定义来分析一下上述的方式:
- 基线是相关方之间的“承诺”
- 详细设计活动结束后,是张工程师自己在使用详细设计来进行编码,没有其他相关方使用详细设计。如果没有其他相关方的话,自己和自己之间需要建立”承诺”吗?
因此,可以考虑如下的处理方式2:
在单元验证活动结束后,建立详细设计的基线。在详细设计通过评审后,到详细设计建立基线前,采用版本控制的方式来控制详细设计。如下图所示:
(3)基线准则(criteria forbaselines)
基线准则是指满足什么条件,才可以建立基线。
例如:通过正式评审及配置审计,并获得Manager的批准。
(4)基线建立的步骤
基线建立的步骤也是需要考虑的,例如:
步骤1:CML被通知建立某基线
步骤2:CML获得该基线相关的工作产品
步骤3:CML实施配置审计,检查基线内容的完整性、一致性,并确认是否满足基线建立条件
步骤4:CML建立基线,将基线置于”受控库”,并编制基线发布相关文档
步骤5:Manager批准建立基线
步骤6:CML发布基线建立通知
推荐阅读:
- ASPICE VDA Guideline解读(19):SUP.8 配置管理
- 配置管理之配置项识别
- Automotive SPICE和Automotive SPICE评估的那些事
- 如何达到并维持Automotive SPICE能力度级别
- 浅谈Automotive SPICE Level 3
- 上海先起之仨人谈起公众号文章合集下载!
文章转载自公众号:仨人谈起
