Construction is nothing like software engineering and construction management is nothing like software project management. Jim Shore has told you so.
I was sitting in a seminar presented by a popular agile tools vendor recently [<cards on the table>These people have a product that competes with Team Foundation Server but this fact hasn't affected my opinion on what follows.</cards on the table>] and then... , I was suddenly set in to an involuntary spasm of cringing when the presenter said "Now imagine we were going to build an agile house" and went on, "If we were building it in iterations, we might decide to build the bathroom in the first iteration, and then the kitchen in the next iteration."
Now the agile landscape is changing but shame on us for continuing with this misleading idea. There might be ways you could bring agile ideas to house construction but it isn't the idea of building one room at a time. The answer is to pipeline work and delivery of materials. There is already the Lean Construction Institute and a movement for lean project management in construction led by Greg Howell and Hal Macomber. Truly self organizing construction can lead to a bazaar or a shanty town. An in-depth analysis of how unplanned ordinary development evolves over time is described in The Structure of the Ordinary by Habraken, while adaptive construction that reacts to changing requirements over time is well documented in How Buildings Learn by Brand.
From the agile manifesto, the only value that immediately jumps to mind as appropriate for home construction might be customer collaboration over following a plan. I fail to see what individuals and interactions over processes and tools, or working software over comprehensive documentation, have to do with construction (as we find it today, and I don't know enough about to solve those problems for them.) I think a vague case can be made for responding to change over following a plan but who would seriously contract with a construction company without an agreed plan. A garden shed, maybe, but a full house? C'mon, let's get real!
So at this year's Agile Conference closing dinner, let us make it more than a party and invite Jim Shore to give us two minutes, warning us of the dangers of the construction analogy and then have the audience take a pledge, that although we love, in itself, the idea that agile construction is possible we recognize that it is a different medium from software and must adopt its own practices that reflect the medium and nature of the work, the tools, the raw materials and the supply chain.
Everything counts in this difficult job of articulating the evolving agile story. We just simply need to shake the disease of using construction as an analogy for software development.
[Update: Glen Alleman continues to argue in his Herding Cats blog that I'm confused. Glen adds something to the conversation observing that an agile approach to construction ought to be possible and desirable. However, he misses the point that construction and software development are two different mediums. His focus is only on project management, while mine is on the technique of how software is built. You can't refactor a house very easily, nor do you check it in every night before you go home, or test its integration continuously. You specify, architect, design, build and test software completely differently from construction projects. Both the engineering approach and necessarily the project management approach are different. Glen asks if I've ever worked on a construction site, to which I'd reply, if he wants us to take him seriously as a commentator on building software, he might like to provide some evidence that he has written commercial software and is knowledgeable in the topic.
Getting back to the agile house analogy, it might be better if the first iteration provided shelter, the second heat, the third the non-functional requirement of robustness in all weather, the fourth water, the fifth light, and so on. At each stage the house is providing a valued function at the end of the iteration. Staying with the example from the seminar, a bathroom on its own does not function as a house. At best it might be a privy in the wilderness - that bizarre invention known as a backwoods latrine - but it isn't a house.]
[So how many of you aging 80's college/alternative music fans found a hidden layer in this post? Jim Benson got it and subtly added to it in his comment. Bonus points if anyone can spot the odd man out!] Technorati Tag: David+Anderson, Agile, Jim+Shore, Lean+Construction, Hal+Macomber, Greg+Howell, Glen+Alleman