Sometime is the last year I had a conversation with a colleague who was not yet convinced about the value of agile development processes. This particular individual was a good engineer who had made it his practice to write top quality code when provided with a detailed specification. He just couldn’t imagine that we could write good software without such a specification. As is often the case when talking about software we eventually worked our way around to a construction analogy when he asked if I could imagine building a bridge with less than a detailed spec. I responded at the time that the analogy doesn’t really hold up. In software we have the option to build a less than complete product and test it’s acceptability as we progress toward completeness. This is mostly made possible by the fact that the most expensive resources in software engineering are time and knowledge. Spending those resources to develop a product that is not yet complete but is usable enough to evaluate our approach is not likely to be a big risk. In real world construction the cost of real materials as well as the safety risks force us to do everything we can to build the bridge completely and correctly the first time.
Paulo Caroli at Agile Tips does my response one better though and turns the analogy around showing just how bridges can be and likely actually are built using agile processes. He also throws in a few bridges that failed to get built with more traditional processes.
-
Agile Tips - Agile Bridge Analogy
Post a Comment