研发过程中有各种需求的评审、审批流和质量卡点,有的是为了质量把关,有的是为了彰显权力,还有一些是为了信息告知。本文主要讨论在软件开发过程中涉及的评审、审批和质量卡点三种情况,同时探讨对研发流程的影响,在这过程中如何去提效。

同团队内部评审

同团队之间的评审包括产品团队内部的PRD评审,RD团队内部的方案、架构评审,QA团队内部的测试用例评审、运维内部的方案评审等。团队内部之间的评审的主要目的是确保工作的正确性、准确性、

团队内部之间的评审有助于

  • 有助于尽早发现方案、文档、代码、测试用例中的问题,这样可以用最小的代价去解决。保持每个人的工作质量保持在和团队整体一个水平上。
  • 有助于个人业务能力的提升。既然知道要团队内部评审,每个人会更注重工作质量,更能做到「想清楚、写出来、讲明白」。而不是「凑合」「差不多」,但凡评审前「凑合」的点,评审时多半也会被别人看出来。与其被指出来再去改,不如事先就解决掉,这样做会驱动每个人事先去多做功课。
  • 有助于团队内部知识共享。现在的企业中工作节奏都很快,每个人都负责相对比较窄、比较专业的一个方面,对其他人负责的内容了解的不多。通过团队内部的评审有助于大背景的了解,知识的共享,和团队整体的能力水平提升。
  • 也有助于团队成员之间做工作备份,互相支撑,一起把团队工作搞定。

不同团队间的评审

  • 不同团队间,从不同的角度去评审内容,给出意见和反馈,有助于更早地发现问题和解决问题
  • 从不同的专业角度去评审内容,而不仅仅是内容的正确性和完备性上,还包括评审内容带来的成本、影响的性能、涉及的安全等。
  • 有利于不同团队之间的合作。事前把事情说清楚,每个人都为做好事情做出贡献;而不是事后出了事情,互相指责,互相甩锅。

不同团队间的审批

主要是涉及资源申请、占用和安全评估

资源管控和安全相对来说,不如产研协作那么紧密。当产研协作过程中需要这方面支持的时候才会引入对应的团队。而资源的占用和安全评估,对于产品和公司来说又是一个非常重要,不能忽视的问题,所以会形成审批。

通常情况下不同团队间还主要是「评审」,而不是「审批」。这样做也助于团队协作,高效产出。「评审」更像是大家都在想办法努力做好一件事,而「审批」更像是某种权力的彰显,级别的象征。

质量卡点

质量卡点的设计要格外小心。好的质量卡点能及时发现问题,避免风险和及时止损,但是过多、过于繁重的质量卡点也会延缓软件研发流程的进度,尤其是这些过多、过于繁重的质量卡点本身质量较差、服务不稳定、成本较高、且很耗时。

变更评审

变更评审,如果不涉及团队间的协作,团队内部告知即可,是一种「周知」的性质。如果变更涉及到团队间的协作,这个时候就需要团队间的评审。这个时候就要视情况来拉通、对其范围,总的原则是取最小集合,小范围内决策大范围周知,不要拉大会去讨论。

比如产品更变了一个需求按钮的颜色,对各方工作量的影响不大,此时仅仅需要设计师变更颜色后,拉上前端小伙伴和QA,四方一起确认下即可。

比如产品需要在原先的需求上多展示一个数据,样式可以沿用之前的设计,但是这个数据需要后端接口的支持,涉及前后端联调、QA验证,这个时候就需要产品、项目经理、前后端研发、QA来进行评审和确认。

比如产品上线后访问量激增,服务负载较高,这个时候就需要研发提交一个扩容的变更申请,在资源允许范围内直接扩容即可;如果超过资源允许范围就会比较麻烦,需要和运维小伙伴沟通资源情况,同时需要业务负责人介入,因为已经涉及成本核算、增加预算问题。

上下级之间的审批

对于公司人力、行政、财务、法务、采购过程中流程,经常有上下级间的审批流,但是对于产品-研发-测试-运营活动过程中,强制加入上下级的审批,如果上级领导的审批不能给这个流程增加价值,只是为了彰显手中的权力,我觉得这是很奇葩的。

举个例子,团队之间代码评审完非要找老板点个确认按钮,很少针对业务逻辑,代码质量、规范、可读性、可维护性等提出观点,那这样的评审的意义不大。只是拉长这个流程、拖延进度、浪费时间、彰显权力的审批没有任何意义。

本篇总结

整体上我倾向于打散团队,形成一个扁平化的组织,提供上下文,团队内部可以自行高效决策。让一线人员决定炮火打向哪里,而不是坐在后方的办公室人员。对于各种各样的审批流,除了合规、设计、安全等因素外尽量缩短,没有带来任何价值的审批节点能省则省,这样才能切实的提效。

相关文章

DevOps|从腾讯TEG CDC解散聊技术中台
DevOps|中式土味OKR与绩效考核落地与实践
DevOps|研发效能+项目经理PMO
AI DevOps | ChatGPT 与研发效能、效率提升(中)
DevOps|AGI : 智能时代研发效能平台新引擎(上)

DevOps | 产研协同效能提升之评审、审批流、质量卡点的更多相关文章

  1. 拥抱开源,共建生态 - 开源生态与效能提升专场 | CIF 精彩看点

    随着软件技术日新月异的发展,GitHub 已经进化成为人类软件的基因库,遇到问题第一时间在 GitHub 上寻求合适的解决方案,已经逐渐变成工程师处理问题的常见方法.据 GitHub 年度报告显示,2 ...

  2. 十倍效能提升——Web 基础研发体系的建立

    1 导读 web 基础研发体系指的是, web 研发中一线工程师所直接操作的技术.工具,以及所属组织架构的总和.在过去提升企业研发效能的讨论中,围绕的主题基本都是——”通过云计算.云存储等方式将底层核 ...

  3. 基于微服务的DevOps落地指南 交付效率提升40%

    基于微服务的DevOps落地指南 交付效率提升40% 2015-2016年,珍爱线下门店已新增覆盖城市9个,与此同时,CRM系统大小故障却发生了数十起... ... 珍爱网是以“网络征选+人工红娘”模 ...

  4. 超线程技术——超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升,本质单核模拟双核!和异步编程的思想无异。

    超线程是Intel 所研发的一种技术,于2002年发布.超线程的英文是HT技术,全名为Hyper-Threading,中文又名超线程.超线程技术原先只应用于Intel Xeon处理器中,当时称为Sup ...

  5. 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践

    作者 | 万佳 嘉宾 | 杨皓然(不瞋) 导读:云的下一波浪潮是什么?杨皓然称"是 Serverless".作为一名阿里老兵,他早在 2010 年即加入阿里云,曾深度参与阿里云飞天 ...

  6. 新型赌博黑产攻击肆虐网吧: LOL博彩引流+棋牌盗号

    https://mp.weixin.qq.com/s/BxnovV6jKqPkYfHEzjd_FA 新型赌博黑产攻击肆虐网吧: LOL博彩引流+棋牌盗号 看雪学院 2019-04-21

  7. Java提升四:Stream流

    1.Stream流的定义 Stream是Java中的一个接口.它的作用类似于迭代器,但其功能比迭代器强大,主要用于对数组和集合的操作. Stream中的流式思想:每一步只操作,不存储. 2.Strea ...

  8. DevOps | 如何快速提升团队软件开发成熟度,快速提升研发效能?

    今天一个小伙伴问我,如何「快速提升」一个团队的软件开发成熟度?我犯难了.我个人理解一个团队的软件开发成熟度涉及的东西很多,但最简单最直接的方法就是发钱涨工资,可是估计很多公司不愿意,那就只有扣了. 快 ...

  9. DevOps|研发效能价值如何衡量

    现在很多公司都在做或者计划做研发效能,也知道研发效能工作很重要,能提高产研运同学的协同效率,提高员工的工作效率和质量,提高业务交付效率和交付质量,但是价值有多大?效率又有多高呢?因为不容易说清楚,所以 ...

  10. 京东 vue3 组件库震撼升级,如约而至!

    京东零售开源项目 NutUI 是一套京东风格的轻量级移动端 Vue 组件库,是开发和服务于移动 Web 界面的企业级产品.经过长时间的开发与打磨,NutUI 3.0 终于和大家见面了!3.0 版本在技 ...

随机推荐

  1. Springboot整合Flowable6.x导出bpmn20

    项目源码仓库 BPMN2.0(Business Process Model and Notation)是一套业务流程模型与符号建模标准,以XML为载体,以符号可视化业务,支持精准的执行语义来描述元素的 ...

  2. vue2中使用composition-api

    vue2中使用composition-api https://juejin.cn/post/6874927606820274184 vue3.0 watch 函数 https://www.jiansh ...

  3. Python_17 OSI模型和HTTP协议

    一.查缺补漏 1. Wireshark 抓报文 2. 要学习的所有博客: http://testingpai.com/member/haili/articles二.OSI模型 1. 物理层 2. 数据 ...

  4. OFFICE-利用Word邮件合并功能联动编辑《目标责任成本调整说明》

    正文 00.开始以及目标 0.1 开始 众所周知的原因,X建工的很多文档都提供了一个填写模板,这是个好事.但是捏,当他们把模板放下来要来填数的时候,你会发现所有的数据,都是在不同的文档中搬来搬去,这点 ...

  5. .NET周报 【5月第1期 2023-05-06】

    国内文章 聊一聊 Valgrind 监视非托管内存泄露和崩溃 https://www.cnblogs.com/huangxincheng/p/17374315.html. 只要是程序总会出现各种莫名其 ...

  6. Vue3项目的打包运行

    一.项目打包(vite创建的项目) 执行以下这条命令对项目进行打包 npm run build 生成dist文件夹,进入dist文件夹下的index.html文件,然后右键选择Open with Li ...

  7. 2023-02-28:moonfdd/ffmpeg-go是用go语言绑定ffmpeg的库,目前是github上最好用的库。请用go语言将yuv文件编码为h264文件。

    2023-02-28:moonfdd/ffmpeg-go是用go语言绑定ffmpeg的库,目前是github上最好用的库.请用go语言将yuv文件编码为h264文件. 答案2023-02-28: 使用 ...

  8. 2020-08-25:BloomFilter的原理以及Zset的实现原理。

    福哥答案2020-08-25: 布隆过滤器:哈希+位图.布隆过滤器重要的三个公式1.假设数据量为n,预期的失误率为p(布隆过滤器大小和每个样本的大小无关).2.根据n和p,算出BloomFilter一 ...

  9. 2022-09-26:以下go语言代码输出什么?A:{“Time“: “2020-12-20T00:00:00Z“, “N“: 5 };B:“2020-12-20T00:00:00Z“;C:{“N“:

    2022-09-26:以下go语言代码输出什么?A:{"Time": "2020-12-20T00:00:00Z", "N": 5 }:B: ...

  10. 2022-07-21:给定一个字符串str,和一个正数k, 你可以随意的划分str成多个子串, 目的是找到在某一种划分方案中,有尽可能多的回文子串,长度>=k,并且没有重合。 返回有几个回文子串。 来

    2022-07-21:给定一个字符串str,和一个正数k, 你可以随意的划分str成多个子串, 目的是找到在某一种划分方案中,有尽可能多的回文子串,长度>=k,并且没有重合. 返回有几个回文子串 ...