<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Josh</title>
    <description>The latest articles on DEV Community by Josh (@joshlhughes94).</description>
    <link>https://dev.to/joshlhughes94</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2124427%2F184a9e48-dbc6-4695-94eb-5c3ba839e8c4.png</url>
      <title>DEV Community: Josh</title>
      <link>https://dev.to/joshlhughes94</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joshlhughes94"/>
    <language>en</language>
    <item>
      <title>Why Most Azure DevOps Pipelines Become Slow Over Time</title>
      <dc:creator>Josh</dc:creator>
      <pubDate>Thu, 16 Jul 2026 12:35:36 +0000</pubDate>
      <link>https://dev.to/joshlhughes94/why-most-azure-devops-pipelines-become-slow-over-time-neb</link>
      <guid>https://dev.to/joshlhughes94/why-most-azure-devops-pipelines-become-slow-over-time-neb</guid>
      <description>&lt;p&gt;*&lt;em&gt;When a project first starts, CI/CD pipelines are usually simple.&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Build the application.&lt;/p&gt;

&lt;p&gt;Run a few tests.&lt;/p&gt;

&lt;p&gt;Deploy somewhere.&lt;/p&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;Then six months pass.&lt;/p&gt;

&lt;p&gt;Another test gets added.&lt;/p&gt;

&lt;p&gt;Then another deployment step.&lt;/p&gt;

&lt;p&gt;A security scan.&lt;/p&gt;

&lt;p&gt;Performance tests.&lt;/p&gt;

&lt;p&gt;Notifications.&lt;/p&gt;

&lt;p&gt;More environments.&lt;/p&gt;

&lt;p&gt;Before long, a pipeline that once took five minutes now takes forty-five.&lt;/p&gt;

&lt;p&gt;I've seen this happen more than once, and it's rarely because Azure DevOps is the problem.&lt;/p&gt;

&lt;p&gt;It's usually because nobody ever stops to ask one simple question:&lt;/p&gt;

&lt;p&gt;Does this step still belong here?&lt;/p&gt;

&lt;p&gt;Everything Ends Up in the Same Pipeline&lt;/p&gt;

&lt;p&gt;One of the most common mistakes I see is trying to make a single pipeline do everything.&lt;/p&gt;

&lt;p&gt;Every Pull Request ends up running:&lt;/p&gt;

&lt;p&gt;Every unit test&lt;br&gt;
Every API test&lt;br&gt;
Hundreds of UI tests&lt;br&gt;
Security scans&lt;br&gt;
Deployment steps&lt;br&gt;
Report generation&lt;/p&gt;

&lt;p&gt;The result?&lt;/p&gt;

&lt;p&gt;Developers wait longer for feedback, releases become slower, and people eventually start ignoring failed pipelines because they happen too often.&lt;/p&gt;

&lt;p&gt;Fast Feedback Wins&lt;/p&gt;

&lt;p&gt;Not every test needs to run on every commit.&lt;/p&gt;

&lt;p&gt;A better approach is to think about the purpose of each pipeline.&lt;/p&gt;

&lt;p&gt;For a Pull Request, I want answers quickly.&lt;/p&gt;

&lt;p&gt;That usually means:&lt;/p&gt;

&lt;p&gt;Build the application&lt;br&gt;
Run unit tests&lt;br&gt;
Run a small smoke test suite&lt;br&gt;
Stop if something important fails&lt;/p&gt;

&lt;p&gt;Everything else can happen later.&lt;/p&gt;

&lt;p&gt;Long-running regression tests, cross-browser testing and other expensive checks are often better suited to scheduled or nightly pipelines.&lt;/p&gt;

&lt;p&gt;Pipelines Should Evolve&lt;/p&gt;

&lt;p&gt;A pipeline isn't something you build once and forget about.&lt;/p&gt;

&lt;p&gt;Every few months it's worth reviewing it.&lt;/p&gt;

&lt;p&gt;Ask yourself:&lt;/p&gt;

&lt;p&gt;Which step takes the longest?&lt;br&gt;
Which tests fail most often?&lt;br&gt;
Are there any tasks nobody remembers adding?&lt;br&gt;
Are we getting useful feedback, or just more output?&lt;/p&gt;

&lt;p&gt;Removing unnecessary work is just as valuable as adding new automation.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;Azure DevOps is an incredibly powerful platform, but even the best tools become frustrating if they're overloaded with unnecessary work.&lt;/p&gt;

&lt;p&gt;The goal isn't to build the biggest pipeline.&lt;/p&gt;

&lt;p&gt;It's to build one that gives your team confidence as quickly as possible.&lt;/p&gt;

&lt;p&gt;I'm a Technical Test Manager with over 10 years in QA and test automation. I recently put together a practical handbook covering Azure DevOps, CI/CD, enterprise testing strategies and software delivery from a QA perspective. If you'd like to take a look, you can find it here:&lt;/p&gt;

&lt;p&gt;📘 &lt;a href="https://joshhughes1.gumroad.com/l/byqlqp" rel="noopener noreferrer"&gt;https://joshhughes1.gumroad.com/l/byqlqp&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cicd</category>
      <category>automation</category>
      <category>security</category>
    </item>
  </channel>
</rss>
