I can't say I believe in the "software as house building metaphor" (unless it's expedient for a particularly recalcitrant client of course), and in any case Steve Yegge brilliantly describes why, if the metaphor does fit, you're doing it wrong. Software is far too complex for a mere house or even skyscraper analogy to work. I do think there are parallels with city development though. The history of Canberra, the capital of Australia, maybe has some pointers.
The first step (1901 CE) was the statement of the initial requirements:
The Seat of Government of the Commonwealth … shall be within the State of New South Wales and be distant not less than one hundred miles from Sydney.
Next they defined their scope and implementation requirements (1902-8):
Forty districts were proposed, 23 of these inspected and the choice narrowed to seven. Albury, Bombala, Lake George, Lyndhurst, Tumut, Dalgety and Yass-Canberra were all examined with regard to adequate water supply, climate and landform suitable for the building of a 'garden city' Finally in 1908 the Yass - Canberra area was selected as it best filled these requirements, and 2,368 km² were set aside as the Australian Capital Territory, with access to the sea at Jervis Bay.
In 1911 they launched their tender process in order to receive bids from parties able to design and build the project:
An international competition for a city plan was launched, attracting 137 entries. First prize was awarded to American landscape architect Walter Burley Griffin from Chicago whose plan established a city for a population of 25,000 which he expected in time would grow to 75,000.
The main modules were mapped out and communication protocols designed:
Dominating Griffin's plan was a central artificial lake and a 'parliamentary triangle' in which the most important national buildings were to be placed. The surrounding residential areas had a geometric street pattern, circular and radial in shape, all fitting well into the general topography.
The First World War (1914-18) of course caused shortages and a slow down, but they were still able to put in place some of the key infrastructure that the rest of the project would require:
In 1914 the railway was extended from Queanbeyan to the south-east comer of Canberra, a power station was built at Kingston, brick-works were opened at Yarralumla and in 1915 Cotter Dam was completed.
The last person I knew who came from there hated the city. Nowhere in the process was usability tested, let alone user feedback solicited. Of course it's hard to do this with a green field project. Hard enough with software, but when people have to invest significant portions of their lives (and those of their children) to test your plans it's probably impossible.
I find it interesting that the problems we face in building new systems are not new. As a species we've been working on these problems for a long time and still not found a great way to solve them. Some of this is a refusal to learn from the past, but I suspect that a large part of it is because the problems really are hard. That's no excuse for not trying to solve them though.
Of course many people love Canberra. It's changed and it's changed the people who live there. This happens with any system that lasts. For better or worse the systems you build that are lucky enough to survive the test of time will effect the lives of others, for better or for worse.
Let's hope it's for better…