I’m closing out, for now, my series on questions at the heart of development with an analysis of when we need more abstraction. For example, taking the advice from @germsvel about architecting more accurate models can reduce future bugs.

Why is this hard?
This article is part of the series JEG2's Questions. In a previous article of this series I talked about how we must remain ever vigilant against what is making it into our code. I talked about the need to always analyze the cost of everything we are agreeing to carry forward. But there are two sides to every coin. Now we need to talk about when you need to fight to add more code, process, and infrastructure. This is the second concern that I always try to keep in my thoughts.