实施GJB5000,要知其然还要知其所以然

前日健身的时候,有个教练A说我做的引体向上的动作不对,在旁边指点我把头仰起,把胸挺起……这时候另外一个教练B过来,说这个教练说的不对,然后,他自己做了几个动作,说是练上臂的,让A教练指点,结果这个教练支支吾吾说不出来。

私下里,我和B教练交流了一下,认为A教练只知道使用这个器械的一种标准动作,但他不清楚这个动作练的是哪块肌肉,知其然而不知其所以然。

我们实施GJB5000B时也有类似现象。

比如:

在配置管理活动中,一种做法是清库——当工作产品从开发库入到受控库后就将其从开发库中清除掉,从受控库入到产品库后就将其从受控库中清除掉;另一种做法是不清库——当工作产品从开发库入到受控库后仍然在开发库中保留,从受控库入到产品库后在受控库中仍然保留。

如果你学习配置管理时,专家告诉你应该清库,那么你会不会认为清库的做法是正确的,不清库的做法就是错误的?

要回答这个问题,我们首先要理解为什么会有清库这个动作。

实际上,清库的目的就是为了更好地版本控制,防止软件工作产品的版本被误用、滥用。当工作产品从开发库入到受控库之后,将其从开发库中清掉,就可以防止项目组人员私自从开发库中取错误版本的工作产品使用,强迫他们从受控库中出库正确版本的工作产品。

可是,即便采取清库的做法,又如何防止项目组人员使用本机存放的工作产品呢?

但是,如果不清库就会影响版本控制吗?

答案是否定的。

一个工作产品的使用过程是先获取再使用。获取途径可以从开发库自行检出、可以从受控库或产品库出库,甚至可以从项目组人员的本机获取——清库活动只能在一定程度上限制了工作产品的获取途径,不清库也差不了太多。要做好版本控制,更重要地是在工作产品使用前的“就绪”验证。

不管工作产品从哪个途径获得,只要在使用之前有专人对其进行“就绪”验证,确认使用的是正确的工作产品,那么就不会出现工作产品版本误用、滥用的情况。比如使用工作产品之前,QA对使用的工作产品进行确认,检查是否履行了出库流程,工作产品的版本与受控库或产品库中是否一致(入库的工作产品带有校验码,QA核对校验码是否一致)。

所以,版本控制不在于清库或者不清库,更重要的是使用前的“就绪”验证。那么,清库或者不清库的做法都是可以接受的。

实施GJB5000,要知其然还要知其所以然,这样我们可以知道做什么活动是为了达成什么目的;而且GJB5000中各个实践域的目标才是必需实现的部件,实践、活动、工作产品都是可以裁剪的、可以替代的,只有想清楚怎么实现目标,才能更好地实施GJB5000。

这正是:

活动为啥要清楚,不要迷信不糊涂

目标实现为根本,标尺只有此一根

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

实施GJB5000,要知其然还要知其所以然》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/3580.html