Software and Construction

June 2008

Matt over at 37 Signals has a recent post on the difference between a fifty- year-old carpenter and a novice. As 37 Signals is a software company, the parallel between software development and a construction project is thinly veiled. I’d like to think it supports my own assertion that these two professions are not all that unlike each other.

The excerpt from Matt’s post notes that:

Members can be moved around before they are firmly in place. All those detailed design decisions which can never be worked out in advance on paper, can be made during the building process.

Perhaps this is exposing my own naivete or lack of understanding about different approaches to development, but the parallel in software development that jumps to mind is that of agile development approach as opposed to a traditional or “waterfall” approach. Like the expert carpenter who doesn’t set anything in stone and is constantly able to adapt to changing requirements and be creative in every step of the process, agile developers are free from rigid requirements and processes.

On a related note, I’ve begun a small side project, a volunteer effort at work for a non-profit. I’ll have a decent amount of responsibility in most of the technical and design aspects of a web application. Already I’m beginning to see the stark contrast between myself and the members of the team that have been schooled in the waterfall school of thought - I think it will certainly be a challenge to integrate these two different philosophies.