Chapter 31. Coupling Versus Decoupling
Why don’t you just decouple all the things? Why have any coupling at all?
Coupling, like the Lego piece in the night, often isn’t obvious until you step on it. You go to make a behavior change, then notice, “Oh, if I change this, I will have to change that, and that too.” Or worse, you change this, put it in production, break things, and realize, “Oh, I guess I also have to change that and that.” You’re not aware what unconscious assumptions you’re making.
Discounted cash flows account for some coupling. There’s a quick, coupled way to implement some behavior, and a longer, more expensive, decoupled way. At the time, you made the economically correct decision to implement it with coupling—revenue sooner, expenses later. Now it’s later.
Another legitimate reason to have coupling in a system is because it wasn’t a problem until just now. The boulder that was perched on the hill decided now was a good time to roll down. “Who knew that we would have to translate this into any other language?” And you didn’t. Until you did.
A final reason to have coupling is that some coupling is just inevitable. I’m afraid I don’t have a better argument for this than “confident assertion.” I’ll work on it.
It doesn’t really matter why the coupling is there. You’re faced with a choice today: pay the cost of coupling or pay the cost of decoupling. “Tidy first?” is this decision in miniature (although only some messes are made of coupling).
Let’s take a look at ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access