Refurbish, do not rebuild
Rather than being razed and rebuilt, with the concomitant waste of resources and baleful impact on the environment, the blocks have been refurbished by the simple expedient of adding an external layer of winter gardens and balconies. The original facades have been stripped away and the flats opened up to an intoxicating rush of light, air and views. A new armature is created for myriad activities and residents are at liberty to furnish and use the extra space in any way they choose. Balconies are decked with plants, parasols, bikes, birdcages and assorted domestic minutiae. It’s urban living as a super-scale version of Rear Window, or a giant theatre, each apartment an individual loge, concealing and revealing its private goings-on. Now totally transformed, the 16-storey slab blocks are curiously dematerialised into a shimmering, fine-grained bas-relief of polycarbonate, glass, corrugated metal and silver solar curtains, more characteristic of light industrial or greenhouse construction than housing. Against this, the random colours and forms of the plants and other bricolage assume an unusual intensity.
There is a lot to be learn from architecture and urban design. One of the most important idea that we can learn from these fields is about reuse and retrofit.
Well, yes. They did. They did it by making the single worst strategic mistake that any software company can make:
They decided to rewrite the code from scratch.
Joel espoused the same idea back in 2000 when he warned about the danger of software rewrite.
Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services. As features from the legacy system are replaced, the new system eventually replaces all of the old system's features, strangling the old system and allowing you to decommission it.
- Software Engineering