研发过程中有各种需求的评审、审批流和质量卡点,有的是为了质量把关,有的是为了彰显权力,还有一些是为了信息告知。本文主要讨论在软件开发过程中涉及的评审、审批和质量卡点三种情况,同时探讨对研发流程的影响,在这过程中如何去提效。
同团队之间的评审包括产品团队内部的PRD评审,RD团队内部的方案、架构评审,QA团队内部的测试用例评审、运维内部的方案评审等。团队内部之间的评审的主要目的是确保工作的正确性、准确性、
团队内部之间的评审有助于
主要是涉及资源申请、占用和安全评估
资源管控和安全相对来说,不如产研协作那么紧密。当产研协作过程中需要这方面支持的时候才会引入对应的团队。而资源的占用和安全评估,对于产品和公司来说又是一个非常重要,不能忽视的问题,所以会形成审批。
通常情况下不同团队间还主要是「评审」,而不是「审批」。这样做也助于团队协作,高效产出。「评审」更像是大家都在想办法努力做好一件事,而「审批」更像是某种权力的彰显,级别的象征。
质量卡点的设计要格外小心。好的质量卡点能及时发现问题,避免风险和及时止损,但是过多、过于繁重的质量卡点也会延缓软件研发流程的进度,尤其是这些过多、过于繁重的质量卡点本身质量较差、服务不稳定、成本较高、且很耗时。
变更评审,如果不涉及团队间的协作,团队内部告知即可,是一种「周知」的性质。如果变更涉及到团队间的协作,这个时候就需要团队间的评审。这个时候就要视情况来拉通、对其范围,总的原则是取最小集合,小范围内决策大范围周知,不要拉大会去讨论。
比如产品更变了一个需求按钮的颜色,对各方工作量的影响不大,此时仅仅需要设计师变更颜色后,拉上前端小伙伴和QA,四方一起确认下即可。
比如产品需要在原先的需求上多展示一个数据,样式可以沿用之前的设计,但是这个数据需要后端接口的支持,涉及前后端联调、QA验证,这个时候就需要产品、项目经理、前后端研发、QA来进行评审和确认。
比如产品上线后访问量激增,服务负载较高,这个时候就需要研发提交一个扩容的变更申请,在资源允许范围内直接扩容即可;如果超过资源允许范围就会比较麻烦,需要和运维小伙伴沟通资源情况,同时需要业务负责人介入,因为已经涉及成本核算、增加预算问题。
对于公司人力、行政、财务、法务、采购过程中流程,经常有上下级间的审批流,但是对于产品-研发-测试-运营活动过程中,强制加入上下级的审批,如果上级领导的审批不能给这个流程增加价值,只是为了彰显手中的权力,我觉得这是很奇葩的。
举个例子,团队之间代码评审完非要找老板点个确认按钮,很少针对业务逻辑,代码质量、规范、可读性、可维护性等提出观点,那这样的评审的意义不大。只是拉长这个流程、拖延进度、浪费时间、彰显权力的审批没有任何意义。
整体上我倾向于打散团队,形成一个扁平化的组织,提供上下文,团队内部可以自行高效决策。让一线人员决定炮火打向哪里,而不是坐在后方的办公室人员。对于各种各样的审批流,除了合规、设计、安全等因素外尽量缩短,没有带来任何价值的审批节点能省则省,这样才能切实的提效。
相关文章
DevOps|从腾讯TEG CDC解散聊技术中台
DevOps|中式土味OKR与绩效考核落地与实践
DevOps|研发效能+项目经理PMO
AI DevOps | ChatGPT 与研发效能、效率提升(中)
DevOps|AGI : 智能时代研发效能平台新引擎(上)