我曾经有过一个经理,在讨论我们的项目时提到,我们需要尽可能地将我们的工作左移。
几个月后,在一次面试中,面试官问我是否知道“左移”是什么意思。
除非有人没告诉我一个秘密的软件舞蹈,我现在就来告诉你左移是什么意思。
(本文视频讲解:java567.com)
在软件开发中左移是什么意思?
左移是一个技术术语,意味着尽早在你的软件项目生命周期中尝试识别问题。
'左’表示项目的开始,这个短语的意思就是“让我们尽可能早地发现我们的问题、阻碍和困难”。
软件开发生命周期
假设你在一家银行开始了一份新的软件工程师的工作。
你的软件开发生命周期可能如下所示:
示例软件开发生命周期
- 首先,产品经理提供需求。
- 然后由业务分析师完成这项工作的分析。
- 为 UI 的外观创建设计。
- 开发人员现在做自己的规划。
- 然后开发人员开始工作!
- 逐步构建功能并进行测试。
- 项目在通往生产环境的过程中经过各个环境。它通过了开发、测试。它到达了预生产环境,并发布到生产环境。
- 项目进入维护期。您检查日志中的任何问题,修复任何出现的错误。
在这个周期中,将我们的工作向左移的一些示例可能包括以下内容:
- 技术团队检查需求,以确保可以在预期的时间内完成所有要求的内容。
- 架构师在规划阶段早期介入,试图制作技术文档并发现开发人员可能面临的任何边缘情况或问题。
- 设计师可能根据设计制作基本原型,以明确期望的内容。
- 当开发人员进行规划时,他们有足够的时间进行彻底的审查。这不是一个简短的 15 分钟会议。他们被期望制作类图、代码架构改进、准确的估算,他们为他们的单元测试套件制定计划,并确保相关文档得到更新。
- 测试人员进行手动测试,以及自动化测试。他们像真正的用户一样使用软件!
我们通常在何时发现问题?
让我们想想在项目中常见的捕获错误的时间。试着想想你何时更愿意发现问题。
- 在项目结束时,当所有代码都已编写并且已经发布到生产环境 2 周时
- 当您将其发布到预生产环境时
- 测试环境的测试人员
- 开发人员正在编码中间时
- 开发人员正在进行规划时
- 设计正在创建时
- 架构师正在制作他们的架构图时
- 产品经理正在指定需求时
在这个时间线上,您可以最轻松地对问题做出响应,减少最少的时间,并迅速纠正问题的地方是在最开始。通过将工作向左移动,您可以帮助团队达到这个目标。
有许多方法可以捕获错误
左移是一个短语,但它基于一个整体方法,帮助我们尽早发现问题,实现快速迭代周期来交付软件。
那么,还有哪些步骤我们可以尝试来帮助我们将工作向左移?
除了更好地规划事物之外,我们还能做什么?
- 您可以对代码库进行语法检查,捕获拼写错误、常见错误和不良设计。
- 您可以在您认为有益的代码库部分引入类型检查。
- 您可以增加单元测试覆盖率。
- 您可以增加集成测试覆盖率。
- 您可以在团队中引入代码质量保证。
- 您可以为部署引入日志记录和度量警报。
只需记住,您的项目流程越深入,从错误中恢复的难度就越大。尽可能在最左侧捕获问题!😉
因为如果您的团队找不到错误,您可以肯定一个用户会找到。
结论
我希望这对你有用,并解释了“左移”是什么意思。尝试将这种思维方式融入到你的开发生命周期中,看看会发生什么。
(本文视频讲解:java567.com)