{"id":1178,"date":"2026-04-10T10:00:00","date_gmt":"2026-04-10T09:00:00","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=1178"},"modified":"2026-04-10T10:00:00","modified_gmt":"2026-04-10T09:00:00","slug":"what-actually-slows-software-delivery-down","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/","title":{"rendered":"What Actually Slows Software Delivery Down"},"content":{"rendered":"<p>Software delivery usually does not slow down because people are writing code too slowly.<\/p>\n<p>It slows down because the work keeps getting stuck in the gaps around the code. Decisions take too long. Reviews pile up. Nobody is quite sure who owns the next step. Releases feel risky. Environments are awkward. Context gets broken every ten minutes. That is where the time goes.<\/p>\n<h2>Decision latency is the real tax<\/h2>\n<p>Most teams underestimate how much time gets lost before anyone actually commits to a direction.<\/p>\n<p>A problem gets noticed, then it sits in a Slack thread. Someone asks for more context. Someone else wants a meeting. Then the meeting happens, but nobody wants to make the call because the call has tradeoffs. So the discussion continues.<\/p>\n<p>That delay is expensive. Not because decisions have to be instant, but because indecision turns small problems into bigger ones. The cost of a wrong choice is usually lower than the cost of no choice at all.<\/p>\n<h2>Review bottlenecks are self-inflicted<\/h2>\n<p>Code review is useful. Slow code review is not.<\/p>\n<p>I usually see the same pattern: too many large PRs, too many comments about style, too many people expected to review everything, and too much uncertainty about what actually matters. Then the whole queue backs up and everyone starts acting like the process is the problem.<\/p>\n<p>Usually the process is just doing exactly what it was designed to do.<\/p>\n<p>If you want faster delivery, make review smaller and clearer. Split work earlier. Decide what needs approval and what does not. Stop treating every PR like a referendum.<\/p>\n<h2>Unclear ownership kills momentum<\/h2>\n<p>Nothing slows a team down like everyone being involved and nobody being responsible.<\/p>\n<p>When ownership is fuzzy, every decision becomes a handoff. Every bug becomes a question of who should look at it. Every deploy becomes a careful coordination exercise because no one wants to be the person who breaks something they do not fully own.<\/p>\n<p>That kind of system feels collaborative from the outside. In practice it just creates waiting.<\/p>\n<h2>Release fear makes teams timid<\/h2>\n<p>If releases are painful, teams stop wanting to ship.<\/p>\n<p>Then the whole delivery model changes shape. People batch more work because release day is annoying. They avoid cleanup because it feels risky. They keep old code around because nobody trusts the rollback path. They make conservative decisions for the wrong reason.<\/p>\n<p>At that point the release process is shaping the product more than the product team is.<\/p>\n<p>The fix is usually boring: smaller changes, better testing, clearer rollback, and enough observability that people are not guessing in production.<\/p>\n<h2>Bad environments waste attention<\/h2>\n<p>If local setup is painful, the team pays for it every day.<\/p>\n<p>If staging is unreliable, nobody trusts it. If config differs between environments, people waste time chasing ghost bugs. If secrets, feature flags, and deploy settings are all handled differently in different places, the team stops thinking about the system and starts thinking about the setup.<\/p>\n<p>That is not a small annoyance. It is a delivery drag.<\/p>\n<p>Good environments are boring. Bad environments are a permanent source of context switching.<\/p>\n<h2>Context switching is a productivity killer<\/h2>\n<p>People talk about deep work as if it is a luxury. In delivery work, it is more like a requirement.<\/p>\n<p>Every interruption has a cost. A meeting in the middle of a debugging session. A Slack question that pulls you into another thread. A priority change that sends you halfway across the board. By the time you get back to the original task, you have spent half your energy just remembering where you were.<\/p>\n<p>Teams that ship well usually protect focus better than they optimize raw busyness.<\/p>\n<h2>The practical answer<\/h2>\n<p>If software delivery feels slow, I would look at the system before I blamed the engineers.<\/p>\n<p>Ask whether decisions are getting made. Ask whether reviews are small enough to move. Ask whether ownership is clear. Ask whether releases feel safe. Ask whether environments are helping or wasting time. Ask whether the team can stay on one problem long enough to finish it.<\/p>\n<p>That is usually where the real slowdown is.<\/p>\n<p>If you fix those things, the code tends to move faster on its own.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software delivery usually slows down because of decisions, handoffs, fear, and bad environments, not because developers are typing too slowly.<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[25,24],"tags":[50,88,59,89],"class_list":["post-1178","post","type-post","status-publish","format-standard","hentry","category-software-engineer","category-work","tag-delivery","tag-engineering","tag-environments","tag-reviews"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Actually Slows Software Delivery Down - wade.one<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Actually Slows Software Delivery Down - wade.one\" \/>\n<meta property=\"og:description\" content=\"Software delivery usually slows down because of decisions, handoffs, fear, and bad environments, not because developers are typing too slowly.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-10T09:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1518\" \/>\n\t<meta property=\"og:image:height\" content=\"1506\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/10\\\/what-actually-slows-software-delivery-down\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/10\\\/what-actually-slows-software-delivery-down\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"What Actually Slows Software Delivery Down\",\"datePublished\":\"2026-04-10T09:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/10\\\/what-actually-slows-software-delivery-down\\\/\"},\"wordCount\":701,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"keywords\":[\"delivery\",\"engineering\",\"environments\",\"reviews\"],\"articleSection\":[\"Software Engineer\",\"Work\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/10\\\/what-actually-slows-software-delivery-down\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/10\\\/what-actually-slows-software-delivery-down\\\/\",\"name\":\"What Actually Slows Software Delivery Down - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"datePublished\":\"2026-04-10T09:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/10\\\/what-actually-slows-software-delivery-down\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/10\\\/what-actually-slows-software-delivery-down\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/10\\\/what-actually-slows-software-delivery-down\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What Actually Slows Software Delivery Down\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Actually Slows Software Delivery Down - wade.one","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/","og_locale":"en_GB","og_type":"article","og_title":"What Actually Slows Software Delivery Down - wade.one","og_description":"Software delivery usually slows down because of decisions, handoffs, fear, and bad environments, not because developers are typing too slowly.","og_url":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/","og_site_name":"wade.one","article_published_time":"2026-04-10T09:00:00+00:00","og_image":[{"width":1518,"height":1506,"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/"},"author":{"name":"","@id":""},"headline":"What Actually Slows Software Delivery Down","datePublished":"2026-04-10T09:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/"},"wordCount":701,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"keywords":["delivery","engineering","environments","reviews"],"articleSection":["Software Engineer","Work"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/","url":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/","name":"What Actually Slows Software Delivery Down - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"datePublished":"2026-04-10T09:00:00+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2026\/04\/10\/what-actually-slows-software-delivery-down\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"What Actually Slows Software Delivery Down"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1176,"url":"https:\/\/wade.one\/blog\/2026\/04\/08\/why-build-pipelines-become-part-of-the-product\/","url_meta":{"origin":1178,"position":0},"title":"Why Build Pipelines Become Part of the Product","author":"","date":"April 8, 2026","format":false,"excerpt":"Build pipelines stop being \"just internal tooling\" the moment they start deciding how fast you can ship, how often you break things, and how painful releases feel.","rel":"","context":"In &quot;Software Engineer&quot;","block_context":{"text":"Software Engineer","link":"https:\/\/wade.one\/blog\/category\/software-engineer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1159,"url":"https:\/\/wade.one\/blog\/2026\/03\/26\/why-most-software-projects-do-not-need-a-rewrite\/","url_meta":{"origin":1178,"position":1},"title":"Why Most Software Projects Do Not Need a Rewrite","author":"","date":"March 26, 2026","format":false,"excerpt":"Most rewrite discussions are really a sign that the team is frustrated, not that a full rebuild is the smartest technical decision. In most cases, incremental change is the better call.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1163,"url":"https:\/\/wade.one\/blog\/2026\/03\/30\/what-clients-actually-need-from-a-software-consultant\/","url_meta":{"origin":1178,"position":2},"title":"What Clients Actually Need From a Software Consultant","author":"","date":"March 30, 2026","format":false,"excerpt":"Clients do not really need a consultant who just says clever technical things. They need someone who can reduce risk, create clarity, and help them make better decisions.","rel":"","context":"In &quot;Software Engineer&quot;","block_context":{"text":"Software Engineer","link":"https:\/\/wade.one\/blog\/category\/software-engineer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1158,"url":"https:\/\/wade.one\/blog\/2026\/03\/26\/why-senior-engineers-still-matter-more-in-the-ai-era\/","url_meta":{"origin":1178,"position":3},"title":"Why Senior Engineers Still Matter More in the AI Era","author":"","date":"March 26, 2026","format":false,"excerpt":"AI can generate code faster, but that only makes direction, judgment, and accountability more important. Senior engineers still matter because the expensive mistakes are rarely typing mistakes.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1160,"url":"https:\/\/wade.one\/blog\/2026\/03\/27\/what-makes-a-legacy-system-dangerous\/","url_meta":{"origin":1178,"position":4},"title":"What Makes a Legacy System Dangerous","author":"","date":"March 27, 2026","format":false,"excerpt":"A legacy system is not dangerous just because it is old. It becomes dangerous when nobody can change it safely, nobody can see what it is doing, and the business depends on it anyway.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1100,"url":"https:\/\/wade.one\/blog\/2023\/03\/26\/years-later-starting-to-blog\/","url_meta":{"origin":1178,"position":5},"title":"Years later, starting to blog","author":"Wade","date":"March 26, 2023","format":false,"excerpt":"So time to start blogging again, years of not doing it, I'll slowly work up again so it will probably be a slow ramp up. I've had a rather comfortable life the last few years so let myself slip, as most of us are experiencing now, that is no longer\u2026","rel":"","context":"In &quot;Software Engineer&quot;","block_context":{"text":"Software Engineer","link":"https:\/\/wade.one\/blog\/category\/software-engineer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=1178"}],"version-history":[{"count":1,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1178\/revisions"}],"predecessor-version":[{"id":1201,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1178\/revisions\/1201"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=1178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=1178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=1178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}