Can you build something you can’t draw?
I grew up in a construction family and spent my summers building and repairing bridges up and down the central I-5 corridor while I was in college. But for the last roughly 20 years I have spent my time building and repairing software (among other things). Anyone who has worked with me knows I that I love analogies — especially ones that involve physical construction. I draw many parallels between software construction and physical construction. I also note many distinct differences. Here is my most recent musing on a difference:
During my summers building and repairing bridges I can’t recall a single time when I wasn’t able to draw a picture of the finished product using a piece of keel on some smooth concrete or a piece of plywood. In other words I always knew what “done” looked like before I picked up my hammer.
In contrast it has been a rare occasion in my experience when the team could walk up to a white board and draw a picture of what done looks like before construction of some new software. While we always end up building something I can’t help but wonder if we would be more efficient if we were able to draw that picture before we started?