首页 > 其他分享 >敏捷开发时代,彻底结束了

敏捷开发时代,彻底结束了

时间:2024-06-17 15:43:13浏览次数:20  
标签:彻底 代码 手动 DevOps 开发 测试 自动化 敏捷

最近,我收到一位读者的私信,他最近“内耗”得非常厉害,他可能一时兴起把我的私信当作了吐槽箱。

他们公司一直实行敏捷的管理模式,复盘发现了一个问题:发布与迭代具有强相关性,一个迭代就发布一次,导致需求交付周期过长,严重超出团队和业务部门可接受的时限。现在他在考虑到底该如何改变,是选择SAFe还是DevOps。

卡尔·波普尔曾说:“新的基本原则是,为学会避免犯错误,我们必须从我们的错误中学习。”敏捷本身并不能带来投资回报。当改进开发流程而不改进部署时,我们最终不可避免会面临这些问题。我之前陆陆续续写过一系列DevOps文章,我的看法是选择DevOps。

大家可以先从了解DevOps入手,我已经在之前的文章《DevOps生命周期,你想知道的全都在这里了!》中已经详细说明了。敏捷和DevOps毫无疑问可以共存,DevOps很多时候被视为敏捷的延申,将敏捷的理念扩展到代码部署之外。

 

那我们该如何在敏捷团队中启用DevOps?

01 放弃使用手动
手动流程是最常见的错误和延迟源头。在软件开发过程中,我们需要注意“手动”一次,包括手动测试、手动部署、手动交付……这些都是浪费时间的蛛丝马迹。


02 找到瓶颈
在整个流水线中实施检测,查看代码在哪些地方受阻,然后集中精力消除瓶颈。没有什么能比通过最慢部分的速度更快。管道中其他地方的改进只会让瓶颈变得更糟,因为它们只会在堵塞点堆积更多的任务。要想取得进展,唯一的办法就是解决最大的瓶颈。


03 自动化测试
这是实现真正有效的敏捷的关键因素。我听说它被描述为黄金标准,但并非绝对必要。错。自动化测试是绝对必要的。它能让你永远快速。人们喜欢说他们做的是测试驱动开发(TDD),但通常他们只是说先写测试再写代码。真正的 TDD 是自动化的。而有效的 TDD 是立即完成的。人们常说以后再写测试。这永远不会发生。


如果你打算这么做(你应该这么做),现在就做。不仅要自动化 UI 测试,还要自动化集成测试、单元测试和验收测试。是的,在功能代码之上编写测试需要更长的时间,但从长远来看,这不会拖慢您的工作进度。事实上,自动化回归套件能帮助你实现持续和无限的速度,正如《敏捷宣言》所设想的那样。试图用手动测试来实现敏捷是失败的秘诀。尽一切努力实现自动化,并不惜一切代价保护它。


04 使用自动化工具
在选择配置管理工具时,我们应优先考虑支持基础设施即代码(IaaC)的工具,这是实施DevOps理念的关键。这种方法能够方便我们在多种平台上部署应用,避免重复的工作。


提高自动化程度至关重要,包括大部分代码、扫描流程,以及预防任何潜在的漏洞。我们应在存储库中构建工件,或者实施自动发布,以极大程度上减少基础设施和开发团队之间的协调工作。


同时,我们需要注重文档的记录。虽然在敏捷方法中,团队可能不会详细记录他们的会议纪要或其他交流内容,但在DevOps环境中,完整的设计文档和规范对于理解软件版本至关重要。

当然,企业转型DevOps难免会遇到一些“不可抗阻力”和“结果不尽如人意”,禅道提供DevOps咨询课程,帮助企业从持续集成、持续部署到自动化测试和监控的落地全方位DevOps流程。
 
既然我们已经知道了改进的方向,那么我们就该勇敢地尝试,最终形成能够持续交付和以客户为中心的团队,交付让客户满意的产品。正如培根所说:“世界上有许多做事有成的人,并不一定是因为他比你会做,而仅仅是因为他比你敢做。”
 
也不知道那位读者能不能看到我的回复!

标签:彻底,代码,手动,DevOps,开发,测试,自动化,敏捷
From: https://www.cnblogs.com/chenqiAaron/p/18252552

相关文章

  • 开发一个python工具,pdf转图片,并且截成单个图片,然后修整没用的白边及循环遍历文件夹全
    今天推荐一键款本人开发的pdf转单张图片并截取没有用的白边工具一、开发背景:业务需要将一个pdf文件展示在前端显示,但是基于各种原因,放弃了h5使用插件展示原因有多个,文件资源太大加载太慢、pdf展示兼容性问题、pdf展示效果不好、pdf字体有时缺失等等,所以将项目中的协议等,全部由p......
  • 生成式 AI 服务应用之Langchain 和 DashScope Reranker 彻底改变您的文档检索过程(教程
    介绍在当今信息泛滥的时代,找到所需的确切文档似乎是一件不可能完成的事情。传统搜索引擎经常让您在无关内容中苦苦挣扎,浪费宝贵的时间。但不要担心,因为有一对强大的组合正在等待彻底改变您的搜索体验:Langchain和DashScopeReranker。推荐文章《如何使用CodeLlama......
  • 团队开发sprint 第一天
    2024-04-19项目任务进展: 6小时(6/50)会议照片过去一天完成了哪些任务今日主要是对后续任务和工作的细化分配和对课程情况和空余时间的讨论与协调确定flutter+Springboot开发心理健康程序,并内置chat-gpt完成了环境的安装接下来的计划对flutter和Springboot进行学......
  • iOS开发之弹窗管理
    前言“千淘万漉虽辛苦,吹尽狂沙始到金。”在这快速变化的互联网行业,身边的朋友有的选择了勇敢创业,有的则在技术的海洋中默默耕耘。时常在深夜反思,作为一个开发者,我们的价值何在?答案或许就在那行代码中,润物细无声。以下是我在日常开发中封装的一个弹窗管理工具——CLPopoverManager......
  • 软件工程项目开发文档资料(规格说明书、详细设计、测试计划、验收报告)
      前言:在软件开发过程中,文档资料是非常关键的一部分,它们帮助团队成员理解项目需求、设计、实施、测试、验收等各个环节,确保项目的顺利进行。以下是各个阶段的文档资料概述:软件项目管理部分文档清单: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调......
  • SpringBoot开发Activiti工作流实现审批流程(全套源码)
    前言activiti工作流引擎项目,企业erp、oa、hr、crm等企事业办公系统轻松落地,一套完整并且实际运用在多套项目中的案例,满足日常业务流程审批需求。一、项目形式springboot+vue+activiti集成了activiti在线编辑器,流行的前后端分离部署开发模式,快速开发平台,可插拔工作流服务。工......
  • 大数据开发语言Scala入门
    大数据开发语言Scala入门指南在当今数据驱动的世界中,Scala语言因其在大数据领域的卓越表现而受到青睐,特别是在ApacheSpark等框架中。本文将为你提供一个Scala语言的入门指南,帮助你理解Scala的基本概念,并指导你如何开始使用Scala进行大数据开发。Scala简介Scala是一种多......
  • 开发框架表单设计器都有哪些突出的功能优势?
    想要实现提质增效的办公效果,可以一起来聊聊低代码技术平台、开发框架表单设计器在职场办公中的应用价值吧。随着社会的进步和行业之间的竞争加剧化,要想更好地利用数据资源,更好地避免信息孤岛,提高部门之间的协作效率,需要了解开发框架表单设计器的优势特点。今天,我们一起来看看开发......
  • VS插件开发实现简单的 ViewModel 和 View 之间的切换
    VS插件开发实现简单的ViewModel和View之间的切换1.前言我们在前面一篇中有介绍如何打开文件,如果和ViewModel与View的切换这个场景结合,那么我们也完全有能力写出一段代码来解决。2.代码目标进行*ViewModel.cs和*View.xaml之间的切换。3.可以预见的缺陷我们仅......
  • Python使用.NET开发的类库来提高你的程序执行效率(包括.NET Framework、.NET Standard
    Python由于本身的特性原因,执行程序期间可能效率并不是很理想。在某些需要自己提高一些代码的执行效率的时候,可以考虑使用C#、C++、Rust等语言开发的库来提高python本身的执行效率。接下来,我演示一种使用.NET平台开发的类库,来演示一下Python访问.NET类库的操作实现。类库演示包括.......