Agile2008 - Agile as a plank road?

The first session I went to at Agile2008 was Mary Poppendieck's presentation The 5 dimensions of systems. In it she talks about a lot of things but one of the things that made me think the most was when she asked if Agile is a 'plank road', or an expensive dead-end that will be replaced as its flaws are revealed. I'd never heard of a plank road before but I guess they were mostly East Coast things. They were early roads made from wood planks and paid for with tolls. The problem was that the investments made in plank roads were meant to pay off in 10 years but the roads themselves started to rot away and require huge maintenance expenses after only 4 or 5 years. Her point was that sometimes you don't know about the flaws in something as big as Agile until many years down the line.

My issue with this, which I asked her about in the Q&A at the end of the talk, was that even if something is a plank road technology and it gets replaced, you can't skip the plank road and go right to the next step in the evolution of the technology. You need the failures and intermediate steps to learn from and provide the investment for the next step. The lessons learned from the plank roads helped engineer the next roads. The people who invested in that road probably didn't go invest in farms or something, I'm sure some of them got involved in the next road technology. The plank roads did help immensely and they planted the idea of something better than dirt roads in people's minds. When I questioned her about this, she seemed to agree with me that you need the intermediate technology which kind of invalidates the plank road metaphor as she used it. To me the plank road is like the dot-com bubble. Yes, people were hurt financially and companies went out of business due to many, many practices I can't get into. But in the end, some people did get rich and some companies and infrastructure came out of it. A lot of people who made their money in the bubble went on to build really cool things, such as Doug Kaye of IT Conversations and Ev Williams of Twitter. In addition, a lot of people learned a lot in programming and systems design in that time that is now becoming very valuable.

The point of this is that you have to be willing to learn from failures and not just sweep them under the rug. "Fail faster" is one of my favorite sayings. If you invested in a plank road you can't just ignore it and pretend it didn't happen. Take what you can from it. Sometimes you won't even know what you learned until you do the next thing. I don't think Agile is a plank road no matter how you look at it, but even if it somehow is, we've learned a heck of a lot and the practice and profession of programming will never be the same. That's a success to me.