Local vs. global analysis revisited

I posted that last item before having my coffee so it's really not suprising that I forgot to get around to my point.

My point is this: there are abundant tools (including the human brain) which are good at local analysis.  Global analysis is hard; this is why people with "architect" in their title tend to be stronger, broader thinkers than the rest of us people who "just" focus on shipping software.  Global analysis of the correct behavior of a piece of software is hard.  Factoring in the effect of minor local defects to the global behavior of a system is much much harder.

Almost any cost in order to convert a global correctness problem into a local correctness problem is valuable beyond your wildest dreams when you're trying to ship medium-to-large software systems.

Thus this continuing series.  People can't see their bugs any more.  Tools can't find them either.  We need to fix that.  If the belief that writing simple code should be simple is false, we need to communicate that.  If we need to make the statement true, we need to fix the tools and techniques we're applying so that you don't need the brain the size of a planet to understand all of the cascading failure modes in large long-lived software systems.