软件开发中的“左移”是什么意思?

我曾经有过一个经理,在讨论我们的项目时提到,我们需要尽可能地将我们的工作左移

几个月后,在一次面试中,面试官问我是否知道“左移”是什么意思。

除非有人没告诉我一个秘密的软件舞蹈,我现在就来告诉你左移是什么意思。

(本文视频讲解:java567.com)

在软件开发中左移是什么意思?

左移是一个技术术语,意味着尽早在你的软件项目生命周期中尝试识别问题。

'左’表示项目的开始,这个短语的意思就是“让我们尽可能早地发现我们的问题、阻碍和困难”。

软件开发生命周期

假设你在一家银行开始了一份新的软件工程师的工作。

你的软件开发生命周期可能如下所示:

image-110示例软件开发生命周期

  1. 首先,产品经理提供需求。
  2. 然后由业务分析师完成这项工作的分析。
  3. 为 UI 的外观创建设计。
  4. 开发人员现在做自己的规划。
  5. 然后开发人员开始工作!
  6. 逐步构建功能并进行测试。
  7. 项目在通往生产环境的过程中经过各个环境。它通过了开发、测试。它到达了预生产环境,并发布到生产环境。
  8. 项目进入维护期。您检查日志中的任何问题,修复任何出现的错误。

在这个周期中,将我们的工作向左移的一些示例可能包括以下内容:

  • 技术团队检查需求,以确保可以在预期的时间内完成所有要求的内容。
  • 架构师在规划阶段早期介入,试图制作技术文档并发现开发人员可能面临的任何边缘情况或问题。
  • 设计师可能根据设计制作基本原型,以明确期望的内容。
  • 当开发人员进行规划时,他们有足够的时间进行彻底的审查。这不是一个简短的 15 分钟会议。他们被期望制作类图、代码架构改进、准确的估算,他们为他们的单元测试套件制定计划,并确保相关文档得到更新。
  • 测试人员进行手动测试,以及自动化测试。他们像真正的用户一样使用软件!

我们通常在何时发现问题?

让我们想想在项目中常见的捕获错误的时间。试着想想你何时更愿意发现问题。

  • 在项目结束时,当所有代码都已编写并且已经发布到生产环境 2 周时
  • 当您将其发布到预生产环境时
  • 测试环境的测试人员
  • 开发人员正在编码中间时
  • 开发人员正在进行规划时
  • 设计正在创建时
  • 架构师正在制作他们的架构图时
  • 产品经理正在指定需求时

在这个时间线上,您可以最轻松地对问题做出响应,减少最少的时间,并迅速纠正问题的地方是在最开始。通过将工作向左移动,您可以帮助团队达到这个目标。

有许多方法可以捕获错误

左移是一个短语,但它基于一个整体方法,帮助我们尽早发现问题,实现快速迭代周期来交付软件。

那么,还有哪些步骤我们可以尝试来帮助我们将工作向左移

除了更好地规划事物之外,我们还能做什么?

  • 您可以对代码库进行语法检查,捕获拼写错误、常见错误和不良设计。
  • 您可以在您认为有益的代码库部分引入类型检查。
  • 您可以增加单元测试覆盖率。
  • 您可以增加集成测试覆盖率。
  • 您可以在团队中引入代码质量保证。
  • 您可以为部署引入日志记录和度量警报。

只需记住,您的项目流程越深入,从错误中恢复的难度就越大。尽可能在最左侧捕获问题!😉

因为如果您的团队找不到错误,您可以肯定一个用户会找到。

结论

我希望这对你有用,并解释了“左移”是什么意思。尝试将这种思维方式融入到你的开发生命周期中,看看会发生什么。

(本文视频讲解:java567.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/560938.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iview中基于upload源代码组件封装更为完善的上传组件

业务背景 最近接了一个用iview为基础搭建的vue项目,在开需求研讨会议的时候,我个人提了一个柑橘很合理且很常规的建议,upload上传文件支持同时上传多个并且可限制数量。当时想的是这不应该很正常吗,但是尴尬的是:只有…

YZ系列工具之YZ10:VBA_梦幻图像

我给VBA下的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套一部VBA手册,教程分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的…

一分钟成为点灯大师(超简单1行代码-STM32F407的HAL实现按键中断方式点亮LED灯)

一、开发环境 硬件:正点原子探索者 V3 STM32F407 开发板 单片机:STM32F407ZGT6 Keil版本:5.32 STM32CubeMX版本:6.9.2 STM32Cube MCU Packges版本:STM32F4 V1.27.1 使用STM32F407的HAL库实现按键中断方式读取按键…

HCF-Net:用于红外小目标检测的分层上下文融合网络

摘要 红外小目标检测是一项重要的计算机视觉任务,涉及在红外图像中识别和定位微小物体,这些物体通常仅包含几个像素。然而,由于物体尺寸极小以及红外图像中通常复杂的背景,这项任务面临困难。在本文中,我们提出了一种…

【漏洞复现】魔方网表mailupdate.jsp接口存在任意文件上传漏洞

漏洞描述 魔方网表帮助其搭建了支持信创环境的端到端的一站式数据智能填报系统,实现数据收集模板个性化定义,收集任务集中管控,结构化数据存储、分析及呈现等功能。魔方网表mailupdate.jsp接口存在任意文件上传漏洞 免责声明 技术文章仅供参考,任何个人和组织使用网络应当…

Tomcat源码解析——类加载机制

一、类加载器的创建 在之前的Tomcat启动源码中,简单的介绍了Tomcat的四种类加载器,再复习一遍。 类加载器 作用父加载器commonLoader(共同类加载器)加载$CATALINA_HOME/lib下的类加载器应用类加载器catalinaLoader(容器…

CAD小软件diy-读柴油机壳体装配图

读取一个柴油机壳体dxf图纸,一般这种装配体轮廓曲线都是用直线和圆弧拟合的,全部都是显示的白色实现,发现有线段间隙,拖动线段补上间隙。 这个测试放在蓝奏云上面 https://wwf.lanzout.com/ip1Xx1vvhbkh

08 SQL进阶 -- 集合运算 -- 表的连结(JOIN)

1. 连结(JOIN) 前一节我们学习了 UNION和INTERSECT 等集合运算, 这些集合运算的特征就是以行方向为单位进行操作. 通俗地说, 就是进行这些集合运算时, 会导致记录行数的增减。使用 UNION 会增加记录行数,而使用 INTERSECT 或者 EXCEPT 会减少记录行数。 但这些运算不能改变…

张大哥笔记:到底什么是轻创业?怎么才叫轻创业

大家好,我是张大哥,我在公众号反复强调,个人创业尽量去选择轻资产项目,要么不创业,要么轻创业!到底什么是轻创业?怎么才叫轻创业呢,本问为你揭晓: 刚开始创业&#xff0c…

nginx--Nginx转发真实的IP

Nginx转发真实的IP 前言给nginx.conf 设置proxy_set_headerjava 程序里获取 前言 在使用nginx的时候可能会遇到判断是不是本机在做操作,这样的话web端我们是可以通过ip和端口进行远程连接的这样的话我们就需要从后端获取到真实ip来判断是不是指定的机器了&#xff…

2023androidstudio

终于下定决心将studio升级到新版本使用了,在这总结下和之前的差别 问题一: 创建java类型的项目 在新版本studio中,创建android项目时,语言选择中没有java选项了,这让一直使用java开发的我摸索了好久,终于…

深入剖析图像平滑与噪声滤波

噪声 在数字图像处理中,噪声是指在图像中引入的不希望的随机或无意义的信号。它是由于图像采集、传输、存储或处理过程中的各种因素引起的。 噪声会导致图像质量下降,使图像失真或降低细节的清晰度。它通常表现为图像中随机分布的亮度或颜色变化&#…

不敢说懂你 - Glide硬核源码剖析

问题 Glide加载流程? Glide整体架构? Glide数据加载的来源? Glide缓存加载的流程? Glide线程切换原理? Glide如何感知Activity? Glide哪种情况会返回应用级的RequestManager? … 带着一些问题去阅读… 使用示例 本篇主要基于glide:4.12.0进行分析。下面是Gli…

LeetCode 11.盛最多谁的容器

目录 题目描述 方法一 双指针 思路: 代码: 题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的…

实验室三大常用仪器1---示波器的基本使用方法(笔记)

目录 示波器的作用 示波器的基础操作方法 示波器测量突变脉冲 示波器的作用 示波器能帮助我们干什么? 比如说某个电源用万用表测量是稳定的5V输出 但是用示波器一看确实波涛汹涌 这样的电源很可能回导致系统异常工作 又比如电脑和单片机进行串口通信时&#xf…

ubuntu在xshell中使用快捷方式操作命令,减少命令行的数入量

第一步 第二步 然后无脑确定 第三步 在xshell的显示方式 方式一 这样就会在每个窗格中进行显示 方式二 效果显示–> 这种窗格的显示是全局的 然后你双击这个process就会自动把命令打在命令行上,减少你的输入量

如何在本地服务器部署TeslaMate

文章目录 1.主要参考官方文档2.准备文件:docker-compose.yml3.运行4.成功后4.1 在这个链接,更具提示登录4.2 在这个链接可以看到电池健康和行车数据等 5.后续说明6.进行数据备份6.1 先将数据进行备份,参考链接6.2 数据迁移6.3 下图为我挂该数…

布隆过滤器初探

1、什么是布隆过滤器 布隆过滤器是一个很长的二进制向量和一系列随机hash函数。布隆过滤器可以用于检索一个元素是否在一个集合中。 常见的hash函数的应用hashMap、hashSet等 回顾一下hashMap的结构 hashMap由数组链表红黑树(java1.8后,链表元素长度大…

七月论文审稿GPT第4.5版:通过15K条paper-review数据微调Llama2 70B(含各种坑)

前言 当我们3月下旬微调完Mixtral 8x7B之后(更多详见:七月论文大模型:含论文的审稿、阅读、写作、修订 ),下一个想微调的就是llama2 70B 因为之前积攒了不少微调代码和微调经验,所以3月底apple便通过5K的paper-review数据集成功…

xilinx cpri ip 开发记录

CPRI是无线通信里的一个标准协议,连接REC和RE的通信。 Xilinx有提供CPRI IP核。 区别于其它通信协议,如以太网等,CPRI是一个同步系统。 这就意味着两端的Master和Slave应当是同源时钟的,两边不存在频差,并且内部延时…
最新文章