<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/software-architecture-s-biggest-enemy-not-what-you-think--y3fextm0t" -->

---
title: Software Architecture&#x27;s Biggest Enemy (Not What You Think)
description: Coupling is the single biggest factor in the cost of software change. Rather than eliminating it (impossible), the goal is to manage it deliberately. Michael...
canonical: https://daily.dev/posts/software-architecture-s-biggest-enemy-not-what-you-think--y3fextm0t
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Software Architecture&#x27;s Biggest Enemy (Not What You Think) | daily.dev
og:description: Coupling is the single biggest factor in the cost of software change. Rather than eliminating it (impossible), the goal is to manage it deliberately. Michael...
og:url: https://daily.dev/posts/software-architecture-s-biggest-enemy-not-what-you-think--y3fextm0t
og:image: https://api.daily.dev/og/posts/Y3FexTM0T.png
og:image:alt: Software Architecture&#x27;s Biggest Enemy (Not What You Think)
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Software Architecture's Biggest Enemy (Not What You Think)

**[Continuous Delivery](https://daily.dev/sources/continuousdelivery)** · 18 min read · 54 upvotes · 1 comments

## Summary

Coupling is the single biggest factor in the cost of software change. Rather than eliminating it (impossible), the goal is to manage it deliberately. Michael Nygard's five types of coupling provide a useful framework: operational (runtime dependency), developmental (must change together), semantic (shared meaning without shared code), functional (duplicate logic that drifts apart), and incidental (accidental, no justification). Strong coupling to stable things is fine; coupling to unstable, invisible, or unintended things is what causes pain. Two tools exist to cope: better design (information hiding, event-driven architecture, API boundaries) and faster feedback (continuous integration). The danger zone is strong coupling combined with slow feedback — the 'big ball of mud' — which teams drift into accidentally. TDD is highlighted as a practical coupling detector, since hard-to-write tests signal excessive dependencies.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=grPtnrOTP_4>

## Community discussion

Top comments from developers on daily.dev.

**@petercheung** · 1 upvotes

> i think hong kong is already broken these 5 coupling rules. Whatevery the softwares are coupling or decoupling, no way to maintanence them.

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#cicd](https://daily.dev/tags/cicd), [#microservices](https://daily.dev/tags/microservices), [#tdd](https://daily.dev/tags/tdd)

[View this post on daily.dev](https://daily.dev/posts/software-architecture-s-biggest-enemy-not-what-you-think--y3fextm0t)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Software Architecture's Biggest Enemy (Not What You Think)","url":"https://daily.dev/posts/software-architecture-s-biggest-enemy-not-what-you-think--y3fextm0t","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/software-architecture-s-biggest-enemy-not-what-you-think--y3fextm0t"},"datePublished":"2026-07-01T18:14:36.132Z","dateModified":"2026-07-02T06:17:29.486Z","description":"Coupling is the single biggest factor in the cost of software change. Rather than eliminating it (impossible), the goal is to manage it deliberately. Michael...","image":"https://i.ytimg.com/vi/grPtnrOTP_4/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/grPtnrOTP_4/sddefault.jpg","isAccessibleForFree":true,"articleSection":"Continuous Delivery","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Continuous Delivery","logo":"https://media.daily.dev/image/upload/s---b6TAqpH--/f_auto/v1730404995/logos/continuousdelivery","url":"https://daily.dev/sources/continuousdelivery"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/software-architecture-s-biggest-enemy-not-what-you-think--y3fextm0t","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":54},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"architecture,cicd,microservices,tdd","timeRequired":"PT18M","video":{"@type":"VideoObject","name":"Software Architecture's Biggest Enemy (Not What You Think)","description":"Coupling is the single biggest factor in the cost of software change. Rather than eliminating it (impossible), the goal is to manage it deliberately. Michael...","thumbnailUrl":"https://i.ytimg.com/vi/grPtnrOTP_4/sddefault.jpg","uploadDate":"2026-07-01T18:14:36.132Z","duration":"PT18M","url":"https://api.daily.dev/r/Y3FexTM0T","embedUrl":"https://www.youtube.com/embed/grPtnrOTP_4"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Continuous Delivery","item":"https://daily.dev/sources/continuousdelivery"},{"@type":"ListItem","position":3,"name":"Software Architecture's Biggest Enemy (Not What You Think)"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/software-architecture-s-biggest-enemy-not-what-you-think--y3fextm0t","comment":[{"@type":"Comment","text":"i think hong kong is already broken these 5 coupling rules. Whatevery the softwares are coupling or decoupling, no way to maintanence them.","datePublished":"2026-07-03T04:12:48.705Z","url":"https://daily.dev/posts/Y3FexTM0T#c-KbpMgl95V","author":{"@type":"Person","name":"Peter Cheung","url":"https://daily.dev/petercheung","image":"https://lh3.googleusercontent.com/a/ACg8ocI-jk0hCrzyGwbK3v4C_UNMCXAe6FbRQjL_Z_54ywvVMjaCIRLxBw=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}}]}
```

