当前位置: 首页 > Web前端 > HTML

团队新人多,稳定性经验不足,研发质量如何保证?|TakinTalks讨论

时间:2023-03-28 19:07:47 HTML

一分钟花絮在研发和维稳过程中,人与设备、程序、组织的互动是一个复杂的过程。虽然人们很少会出现恶意错误,但是由于某些情况下,由于实际情况的影响,人为错误也是时有发生的,那么如何尽可能的减少这些错误的发生呢?如何保证研发质量和系统稳定性?《TakinTalks系列》12月刊第三期即将发布,敬请期待!当我们通过代码、工具或数据等可能会出错的地方实施强有力的有效管控,就可以防止人为因素随意破坏系统的稳定性,这表明系统稳定性建设的成熟度已经达到了一个相对较高的水平。高水平。高层,在稳定性建设领域,越来越多的公司都在朝这个方向优化迭代。本文来自TakinTalks稳定性社区“年度专家会议杭州站”,来自酷家乐、飞书、婚礼纪、浙江华为、阿里云的五位稳定性管理者,关于人事管理和“管控”会的“有效15条经验建议”分享给大家,酷家乐-手人SRE组长有什么有效的手段来减少人为因素带来的稳定性问题呢?为了减少人为因素带来的稳定性问题,我总结一下3个关键点——1.自动化工具覆盖规范整个研发流程,当团队新人较多时,我们必须通过自动化工具覆盖人为变更,包括设计、编码、测试、发布、监控、变更、重保、应急等。里面的DevOps流程工具统称为稳定性工具,通过工具的覆盖,可以保证稳定性。2.意识比工具更重要。需要自上而下提高稳定意识。您可以考虑将稳定性工作和性能联系起来。拥有工具只能减少稳定性问题,但不能完全消除。我认为自上而下强调稳定性很重要,比工具本身更重要。那么,如何提高人的意识呢?从人的角度来看,没有压力就没有动力。我认为稳定的工作需要与每个员工的绩效挂钩。如果没有来自高层的政治压力,一线人员很难完全愿意使用这套维稳工具,因为从开发、测试到线上应急响应,再到最后的故障恢复等等,里面至少有十几个DevOps工具,还有限流降级、熔断的演练和压测,让一个开发同学可以留业务开发本身就得熟悉这套工具,而且它的管理成本比较高,所以我们需要用一定的“压力”来增加大家的积极性。3.设置稳定的联系人,绑定业绩和业务线故障。现在我们每个业务条线都有一个类似于“稳定联系人”的角色。联络人需要一直驻扎在业务线团队中,与性能层面的Fault绑定进行沟通,需要对业务的稳定性负责。这个人可以是横向的职能团队,也可以来自应用运维,比如SRE部门,但必须要驻扎在业务线。飞书-邓敏研发技术团队负责人团队新人多,稳定性经验不足。研发质量如何保证?1、必须遵守工艺规范。是研发质量总体稳定的刚性条件。不管是老手还是新人,我们在Byte内部都做了一些规范,包括DevOps工具的使用,以及稳定性保障的流程体系规范。这些都是硬性条件,目的是为了掩盖底线或者提高整体的确定性。2、允许新人犯错,年轻人要“见猪跑”,踩够坑,才能快速成长。新人的特点是不够成熟,体会经验,包括处理问题。我最好的经验是允许他犯错误。早年在阿里的时候,作为一个新人,我也犯过很多错误。当时整个工具平台还不完善。从我自己的经验来看,我已经犯了足够多的错误,或者看到了足够多的其他人犯的错误。新的人才会迅速成长。这是新人成长为旧人的必经过程。不犯错误是不可能成长的。3、内部设置“师兄制”1V1导师制,帮助新人快速融入稳定文化。那么新人进来后如何快速成长为老人呢?除了系统的培养,我们一方面鼓励新人多尝试,另一方面我们也会在导师机制上提出更多的要求,即每个新人都会分配一位资深导师,师兄需要对新人做更多的教育和底线,让新人在实操过程中逐渐培养稳健的经验。WeddingJi-FengYongxiang测试组组长有哪些有效的方法来减少人为因素带来的稳定性问题?我从测试团队管理的角度分享一些我正在实施的策略和方法。1、对修复的bug做回归测试,并不断review,避免再次引入故障。对于测试过程中发现的问题,我们在完成测试环境和预发布环境的测试后,会对之前发现的所有问题重新做一次回归测试,将问题作为用例运行,以确认没有引入新的错误或导致其他代码出错。2、每周五定期review,从业务线的角度去review失败的风险我们每周五都会进行review。评审时,我们会邀请包括产品、研发、测试等愿意参与评审的公司我们会邀请参与项目的人,我们会提前设定评审主题,比如我们投资的业务线,大家会发现这个业务线的问题和隐患;我们从用户的角度来看。如果我们了解业务,我们从业务角度看它,并检查库存。这样,我们就会发现很多隐患,并努力在团队内部消除。3、单项业务多人备份,避免人员流失带来的风险。我们不允许将单一业务或单一模块完全交给一个人。多人熟悉这部分业务,避免了当人员出现丢失或未能及时响应时,导致业务链条断开。目前,我们正在按照这种基于个人能力和员工意愿的模式推进跨业务。浙江华为-鞠新宇测试组主管减少人为因素导致稳定性问题的有效方法有哪些?我的理解是,稳定性问题的保障主要来自三个方面——人防、技术防、流程防。1.人防:定期训练提升能力,排行榜激发潜能。在人防层面,一方面需要培训,提高人员能力;励磁。比如对于开发者,可以针对代码曲线密度或者引入的问题等数据整理一个排行榜,定期做数据晾晒;对于测试人员,还可以针对问题未命中率、测试执行效率或测试用例设计效率进行排名。榜单之后,数据会定期播出。这些每日排名与个人绩效相关后,可以在一定程度上促进个人积极提高工作质量。2.技术防御:自动化工具部分替代人工,最大限度减少人为干预。技防主要是利用一些自动化的工具,比如监控,来减少一部分人工投入。因为自动化不需要人工输入,你可以让它一直运行,发现一些问题。3、流程预防:细化优化流程规范,对重要动作进行交叉评审,制定线上发布系列流程,如bug修复后运行预发布环境,发布前;再比如,为了防止部分研发人员因疏忽自检而导致的故障,在项目结束时或上线前,提交修改的代码需要由团队中能力较强的成员进行review,以及然后合并到我们的分支进行生产。这样,通过在很多细节上的工艺规范设计,工艺就可以避免人为因素导致的故障。阿里云-草谷微服务引擎稳定团队新人较多,缺乏稳定经验。研发质量如何保证?我觉得我们可以从三个方面来做研发质量保证——1.给新人设立一个保护期,期间前辈负责负责,推动前辈为新人提供更稳定的文化输入。每个新人初入阿里云时,都会分配一个小弟,小弟的机制会起到传递团队稳定经验的作用,帮助新人快速了解团队中的稳定文化。同时对新人会有一个保护期,即在新人成长之前,任何可能导致上线失败的问题都需要师兄们承担主要责任,以此来反推师兄们,并且必须将帮助传递给新人。2.需要快速熟悉现有机制,严格遵守重要的发布和变更规范。在机制上,任何系统的任何在线变更和上线,都必须有一个清晰的流程机制。比如开发组对开发有质量保证流程,对线上变更有3个类似的变更。这些在新人工作中必须严格遵守。3、新人的稳定意识来自于对故障的重视,需要不断的输入,建立对故障的敬畏心。新人对网络故障的意识需要不断加强,即每次出现网络故障时,都要让他们意识到。问题,对整个团队、公司、用户/客户的影响,这是我们要不断灌输给新人的理念,让他们意识到线上稳定的重要性,这样新人上线自然就不会出现毛刺产生令人敬畏的想法。更多稳定技术实践和管理经验,欢迎扫描二维码回复“交流群”进行实时互动(请备注“群+企业+城市”)。微信公众号后台回复【交流】进入读者交流群声明:本文由公众号“TakinTalks稳定社区”及社区达人原创。如需转载请在后台回复“转载”获得授权。