我们经常说“版本发布”、“版本上线”、“部署上线”,但是“发布”和“上线”的定义、区别以及关系往往大家并不是弄的很清晰。有的公司针对发布和上线两个环节有明确的定义,尤其是一些TOB的公司,往往会把产品发布和产品上线两个阶段划分的非常清晰;有的公司只有发布,比如产品交付的公司,像前不久“宋大腿”的IQOO手机发布,手机是没有上线一说的;有的公司呢只有上线,比如互联网公司,尤其是devops成熟度高的公司,大家说的最多的就是“测试通过,自动化上线”。那么,我们是否可以这么理解,发布和上线这两个阶段其实是跟产品形态、交付模式等有关?如果要保证交付到客户(用户)手上的产品能够给客户(用户)比较好的体验,必须保证产品的质量,那么就需要在发布、上线这两个阶段里去进行质量控制。如果一个公司有很多产品,且产品形态、交付模式差别都比较大,那么怎么从组织层面去制定质量策略呢?
我们在实际的业务摸索过程中,提炼了一个比较简单的策略,概括起来就是“一个货架两个标准两个评审”。先理解一下这个策略,然后看怎么运用到不同产品的质量控制上。
“货架”是将公司的所有产品和技术,按照一定的层级结构统一管理起来,以利于产品开发时方便地共享以前的成果。说人话就是,放软件产品的虚拟货架,销售就从这个货架上拿东西去卖。以货架为中心,往左是发布流程,往右是上线流程。发布流程指的是一个产品版本从测试通过,达到发布质量标准,“放”到货架的过程。上线流程指的是从货架拿一个版本部署到客户(用户)环境并对客户(用户)发生作用的的过程。
两两个标准指的是“发布质量标准”和“上线质量标准”。发布质量标准指的是一个对外发布的产品版本应该符合的质量要求,里面往往包含一些过程产物要求、测试指标要求等。上线质量标准指的是一个产品是否能够在客户现场进行上线应该达到的质量要求。说到这里,可能大家会有点疑惑,既然产品已经有了“发布质量标准”,为什么还需要有“上线质量标准”呢?还有这两个标准是怎么制定的呢?“发布质量标准”往往是产品角度去进行设定,“上线质量标准”是交付角度去进行设定。举个例子,鞋厂生产了一批鞋子,它会为这个鞋子去定一些质量指标,达到了它就可以放到仓库货架,等待销售拿去卖。这些质量指标构成了发布质量标准。同样一批鞋子,有的销售拿到女儿国去卖,有的销售拿到水泊梁山卖。拿到女儿国卖的销售会说“这批鞋子都是男鞋,我卖不了”。拿到水泊梁山卖的销售会说“虽然都是男鞋,但我需要耐磨的,还要再验证下”。看到差别了吗?厂家在设定质量标准的时候往往不能充分考虑一个产品的销售对象和使用场景,只有拿去到客户现场或者对客户现场非常熟悉才能知道还需要达到什么样的质量要求。当然,如果一个厂家足够牛,它能精准的考虑到产品的销售对象和使用场景,确实是可以结合这些制定出一套质量标准,同时满足发布和上线。也其实也就解释了在一些情况下,“发布质量标准”和“上线质量标准”其实是可以合并的。
Now,发布和上线的两个阶段(流程)讲清楚了,也有了发布和上线的质量标准,那么接下来应该讲怎么控制了。我们在两个阶段分别加上了一个评审点,一个叫“发布评审”,一个叫“上线评审”。发布评审有点类似于IPD(集成产品开发流程)中发布决策评审,思想是一样的,做法也基本一样,可以认为是一种简化的做法,某种程度上来讲可以理解成是一样的。通过发布评审,决定这个产品是否可以上货架,也就是说除了达到质量标准,还要通过发布评审。为什么要这样做呢?不是应该达到标准了就可以发布了么?其实产品达到质量标准并不能表示它可以进行发布,比如说某手机厂商为了清库存,它会决定新款手机的延迟发布。这个决策的过程其实就是一个发布评审,它需要在评审中去评估库存的影响、新手机延迟发布的影响以及其他商业风险,决策者往往就是整个发布的项目负责人,同时也是质量的第一责任人。上线评审是上线阶段非常重要的一个步骤,这几乎是有点质量常识的公司都会采取的一个质量控制方式。通过上线评审来决定这个产品是否可以交付给客户。同样的,达到发布质量标准并不意味着可以上线,也是需要上线评审来决定。举个例子,一款医疗电子病例软件需要升级新版本,版本也达到了发布质量标准,但是在上线评审环节的时候,现场的实施人员说“现在是中午,升级风险太大,万一不成功,会影响下午医生的使用,导致门诊停诊”,最终现场的项目经理决定延迟新版本的上线。上线评审和发布评审是整个发布上线流程中非常关键的两个质量控制点,很多时候这两个控制点也是可以合并的,这个在后面讲策略如何运用到不同的产品和更复杂的发布上线过程的时候详细展开讨论。
请关注
(喜欢请转发,谢谢!)
加入爱测未来qq群,获取更专业的技术知识分享:
274166295 (爱测未来二群)
610934609 (爱测未来三群)
195730410 (爱测未来四群)
更多精彩文章: