Post-Architecture: Premature Abstraction Is the Root of All Evil

submited by
Style Pass
2024-07-18 08:00:04

At this point, I’ve written a fair bit about Post-Architecture. Previous posts focused more on the values underpinning Post-Architecture and why following a Post-Architecture approach may be beneficial to you:

To recap: Post-Architecture is a method of defining architecture incrementally, rather than designing it upfront. It prioritizes velocity during the early phases of development and minimizes the risk of making the wrong architectural decisions.

With this post I want to take a bit of a different direction, instead focusing on how we can apply Post-Architecture in a practical sense. To do so, I want to use this post to dive into the shadow side of abstraction. People who work with code architecture a lot often view abstraction as a useful tool to model complex problems. And they’re not wrong. Where it goes wrong however is when people try to apply abstractions prematurely. In fact, I would adapt one of Donald Knuth’s famous quotes to say:

If abstraction is applied too soon in the process, it has a tendency to hinder rather than help maintainability. So even though abstraction is regarded as a useful tool for maintainbility, it’s very much a double-edged sword. Make one wrong decision, and you achieve the opposite of what you intended.

Leave a Comment