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

news/发布时间2024/6/17 21:13:31

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

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

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

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

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

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

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

软件开发生命周期

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

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

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

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

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

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

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

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

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

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

有许多方法可以捕获错误

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

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

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

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

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

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

结论

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系宁远站长网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

linux3-管道符、重定向、环境变量

1.>输出重定向1 [root@linuxprobe~]# man bash > readme.txt //将bash的使用手册写入readme.txt2 [root@linuxprobe~]# cat readme.txt3 BASH(1) General Commands Manual BASH(1)4 覆盖重定向5 [root@linuxprobe~]# echo "Welcome to LinuxProbe.Com" > re…

团队作业4 第七天

第七天会议任务分配:前端和后端:对所完成模块进行测试 修复发现的问题和bug。 还没有全部完成,后面再继续做困难:测试中可能发现较多之前未注意到的问题。 生产环境的配置和部署可能会遇到一些环境差异导致的问题。总结:模块的部分测试完成,问题和bug得到修复。 回顾了开…

基础 IO (Linux学习笔记)

Linux下文件系统,语层的缓冲区,重定向,软硬链接,磁盘的结构基础IO 1.重谈文件空文件在磁盘也要占据空间 文件 = 内容 + 属性 文件操作 = 对文件内容+对属性 or 对文件内容加属性 标定一个文件,必须使用文件路径加文件名【唯一性】 如果没有指明对应得文件路径,默认是在当…

wireshark抓包学习

ip 过滤 ip.src_host ip.dst_host ip.addr mac 过滤 eth.src eth.dst eth.addr 端口过滤 tcp.port tcp.srcport tcp.dstport 协议类型过滤 arp dhcp 规则组合 and or 文件导出 导出特定分组all packets 为把抓到的所有包都保存 而 select packet 为保存我们鼠标点击选中的包也就…

语义搜索相关配置

1.打开services项目,在pom文件中引入依赖如下<dependency><groupId>com.hankcs</groupId><artifactId>hanlp</artifactId><version>portable-1.8.3</version> </dependency>2.在hanlp github下载语言模型,放入项目根目录下3.在…