热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

深度解读7个场景,破解研发效能障碍

深度,解读,7,个,场景,破

伴随着数字化与信息化的发展,研发效能和降本增效日渐成为企业管理焦点。尤其对于研发型团队而言,快速地、保质保量地交付价值是优先级最高的任务,但在实际的开发过程中,我们总会遇到技术债务、并行冲突等影响研发效能的情况。

在告别野蛮生长,主张精耕细作的今天,企业/组织应该如何解读种种效能障碍,制定可复制的解决方案?本篇文章将从7 个常见的研发场景出发,分享有关研发效能提升的心得与经验。

场景一:并行开发导致代码冲突

组内/组间并行,或由代码回退/合并等造成的各种并行开发导致代码冲突是常见的效能问题之一。并行化的分支管理和版本管理是比较重要的议题,而合并策略、Feature分支管理、变更管理都可能影响研发效能。

解决这个问题,可以考虑以下三种优化方式:

1. 时序串行管理

以时间为轴,串起整个版本主线,代码对版本负责,版本对功能负责。

对同一系统而言,代码是并行开发的,但最终的交付物/发布物是顺序发布的;对不同系统而言,主要考虑相互间的依赖关系,影响面以及发布顺序。

2. 功能化整为零

按照敏捷迭代方式将大功能化整为零,更好地应对变化。 如遇到迭代周期内需求必须变更的情况,需要确定好变更的影响范围和需求优先级。

3. 需求分而治之

技术/优化需求和跟版迭代需求可能需要采用不同的发布策略和分支管理。 这样既可以保证业务目标按期、有效地达成,还能保障各种优化和支撑工作灵活地进行和并行。

场景二:技术债与架构腐化

技术债是一个老生常谈的话题。企业在平常的研发管理中,应重视「好习惯」的培养,若等到技术债堆积成山,系统病入膏肓才着手解决,恐怕就为时已晚了。

建议在日常的研发管理中,加强代码审核机制,实行代码的P3C规范化检查;前期对业务的技术方案也应作出合理取舍。

另外,架构设计应结合实际业务和资源进行充分考虑,谨防过度设计。 好的架构是演化而来的,没有一劳永逸的完美架构。

场景三:频繁的故障排除任务

并行协同时,配置和资源文件的不同步也是造成冲突和问题的重要因素。为避免额外的排除工作影响研发效能,企业可以考虑提升配置和资源的独立性以及简化性。

第一,尽量按时间顺序管理需求配置的唯一值;如果不能保证唯一配置,则推荐按分组逻辑管理各组的修改值(不冗余其他组的原有配置)。

比如,按时间序列管理或分组并列管理,待确定提测节点后再进行合并。这样可以较清晰地发现冲突项,防止互相覆盖。

此外,除公共配置外,考虑按功能进行分组配置,不要将全部内容写在一个配置文件里。

第二,配置合并时,签入签出流程要尽可能短。 配置的合并过程需要审核,但配置调整的流程时间窗口不易过长,以免造成额外的等待成本,诱发潜在的冲突。

场景四:生产问题排查与数据安全性

许多时候,生产环境的数据必须脱敏,但同时,研发团队又需要验证生产问题或缩小问题的影响面。这种情况应该如何解读和解决?

1. 用脱敏后的非敏感数据完成验证

生产环境的客户数据脱敏后,记录部分非敏感的ID参数、异常等日志仍可以作为有效数据,完成特定场景下的分析诉求。

2. 在Pre准生产环境同步非客户数据

准备一个与生产环境相对一致的「克隆体」——Pre准生产环境,同步并通过非客户数据完成生产环境的验证。

非客户数据包括部分生产测试的数据、经客户允许的可搜集的部分数据,以及经过合规完全脱敏后的数据等等。

3. 采用A/B测试,先行渗透运行

通过少量客户渗透,或对部分特定租户进行生产环境的短时渗透运行, 稳定后再投入大规模部署。

场景五:环境复杂度

研发过程中,开发环境和部署环境的复杂度也会影响研发效能。因此,建议尽可能地降低自测、联调、环境部署的复杂度,以及同一个服务的代码量和复杂度。

举个例子,有些系统仅是启动就要耗时 30 分钟,那么每位开发者每天花在应对环境、应对启动的时间成本也显著增加了。

场景六:生产问题和潜在问题

不可否认地,没有一款产品、一项服务能永远不出问题。因此,搭建有效、可快速反应的业务监控和运维监控体系非常重要。

不管选用哪种监控平台系统,核心目的都是监控核心目标,并实现关键指标的及时预警和通知。有效、直接、快速地反应和处理发现的问题,比丰富的监控方案更为重要。

其次,重视测试环节。 考虑补充多种测试手段,尽可能地发现问题,比如针对接口的自动化测试、针对场景的集成测试、对大型系统的压测环境等等。

场景七:非技术影响因素

在研发流程管理过程中,非技术因素也会对研发效能产生重要的影响。

  • 研发流程的简洁性与合理性
  • 产品持续输出与合理的需求粒度
  • 会议效率和沟通协调的成本及损耗
  • 性格不同导致的有效沟通方式的差异
  • 长期的紧绷状态
Liga总结

研发流程管理是研发效能提升领域中重要的议题。管理者可以以鸟瞰视图,分析和判断研发全生命周期的运转情况,并借助智能化的监控和预警工具,发现问题、解决问题、避免问题,做出更可靠的管理干预和引导。

了解更多敏捷开发、项目管理、行业动态等消息,关注我们 LigaAI@oschina 或点击LigaAI - 新一代智能研发协作平台,在线申请体验我们的产品。


推荐阅读
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 隐藏的威胁:你的供应链是否真正安全?
    在网络环境日益复杂的当下,诸如网络钓鱼、DNS欺骗、勒索软件和中间人(MITM)攻击等威胁手段已司空见惯。这些攻击手段无孔不入,对供应链的安全构成了严重挑战。企业必须加强安全意识,采取多层次的防护措施,以确保供应链的每一个环节都得到有效保护。 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 本文总结了设计、开发和部署Web应用程序时应遵循的一些最佳实践,这些实践结合了个人经验和权威资料,旨在帮助开发者提高Web应用的安全性。 ... [详细]
  • 8个IDC大数据基础定义解析丨IDC
    本文针对IDC数据行业相关名词术语进行解析,分为4组相关概念,希望大家读完 ... [详细]
  • 本文通过思维导图的形式,深入解析了大型网站技术架构的核心原理与实际案例。首先,探讨了大型网站架构的演化过程,从单体应用到分布式系统的转变,以及各阶段的关键技术和挑战。接着,详细分析了常见的大型网站架构模式,包括负载均衡、缓存机制、数据库设计等,并结合具体案例进行说明。这些内容不仅有助于理解大型网站的技术实现,还能为实际项目提供宝贵的参考。 ... [详细]
  • Python ATM与购物车项目实战:深入解析三层架构设计
    本文详细解析了Python ATM与购物车项目的三层架构设计,重点介绍了MVC(Model-View-Controller)模式的应用。在用户界面层,系统通过图形化界面与用户进行交互,接收并处理用户的输入数据,随后将这些数据传递给控制层进行进一步处理。该层不仅负责展示信息,还承担了用户请求的初步处理任务。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 老杨谈IT运维 | 快速实现日志异常检测与根源分析
    在智能运维领域,指标和日志是最常用的数据来源,能够有效反映系统的运行状况和健康状态。通过对这些数据的深入分析,可以为监控和告警系统提供关键信息,帮助快速实现日志异常检测与根源分析,提升整体运维效率。 ... [详细]
  • 本文探讨了使用Python进行微服务架构设计的合理性和适用性。首先,介绍了微服务的基本概念及其在现代软件开发中的重要性。接着,通过具体的业务场景,详细分析了Python在微服务架构设计中的优势和挑战。文章还讨论了在实际应用中可能遇到的问题,并提出了相应的解决方案。希望本文能够为从事Python微服务开发的技术人员提供有价值的参考和指导。 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • 夸克网盘电脑版上线,实现三端同步备份与高效编辑播放功能 ... [详细]
author-avatar
feloveyu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有