Belgian surrealist René Magritte created a series of paintings known as The Treachery of Images. One painting depicts an image of a pipe with the declaration Ceci n’est pas une pipe (It is not a pipe) painted below.
Magritte’s image reminds us that any abstracted symbolic representation is by definition, a limited view. Magritte commented
If I had written on my picture ‘This is a pipe,’ I’d have been lying!
The map is not the territory.
There’s a difference between a model of something and the actual thing. Author Jerry Weinberg
tweeted an applicable heuristic that inspired this post
If the terrain and the map do not agree, follow the terrain ~Swedish army manual
Similarly with software, we can plan ’till the cows come home
. But, once the action starts, stuff happens!
Are you going to follow the plan or react to unforeseen circumstances? Often the map and the terrain don’t agree.
Given Patrick Reilly
‘s recognition that the optimal model of a system is THE system,
and his admission that that ill-formed premises can be modeled and validated
, why do we spend so much time planning, designing, and modeling?
I admit I have a soft spot for software prototyping.With prototyping
, discrete activities of planning, designing, and modeling are compressed into cycles of develop and review. It’s been my limited experience that the closer the review is to the user, the better the software.
During the cycles of develop and review, stuff happens. Inevitable stuff. Stuff like important discoveries. Valuable discoveries occur that we likely wouldn’t have or couldn’t have known before hand.
Discovery consists of seeing what everybody has seen and thinking what nobody has thought. ~Albert Szent-Gyorgi
Planning isn’t always amendable to discovery. Planning usually occurs before action occurs. And before action, there might not be anything to critically observe.
Highfalutin plans can often be condensed into a concise phrase similar to the military concept of Commander’s Intent (cf. my post Team Decisions and Commander’s Intent). Troops in the field must often act without a script because stuff happens.
Most of us are adept empiricists. We understand things best when we experience them…
i have a THANKING cloak that bounces THANKS back to the emitter
Steve R says:
what does a “you’re welcome” do?
just threw an unhandled exception
that was an edge case I couldn’t have planned for.