乔梁:我们先追溯一下相关的历史。最开始的时候,记得是2009年,社区中有人总结了一个持续集成成熟度模型。然后,在这本书中提出了一个持续交付成熟度模型,被认为是1.0版。Jez根据近一年的实际应用,对其进行了一些修订,于是又有了1.2版。这个模型本身是普适的,并没有说特定的某个领域适用,所有的软件团队都可以拿过来做解读,用这把尺子量一量现在在哪儿,下一个目标在哪儿。也就是说,它是用于团队自我改进,而非用于团队间的横向评比。
但是,有人把它与CMMI做类比,用来衡量团队达到了几级。这其实是一种不当的用法,因为,这个模型是贡献给社区的一个参照,并未想过要成为一个用来衡量团队绩效的标准。我们在百度也只是用来衡量团队持续集成实践的成熟度,以便发现团队的下一个改进目标。
而且,它是对持续交付实践过程的一种度量,不是对业务结果的度量。所谓对过程的度量,就是指各维度的实践做得怎么样。但是这样的实践之后,对业务有什么样的贡献,是周期缩短了还是bug减少了,最终还是服务于这些业务目标。假如在每一个维度上的级别都很高,但业务的贡献度却没有那么高,我觉得那一定是有问题的。
1