When I am at my most productive as a computer programmer, I don’t write code; I sculpt virtual objects from it.
Any computer system exists to fulfill a purpose in the real world. To do so it recreates in code those aspects of the world that are relevant to its purpose. What transformed the creation of that model from the laborious, procedural task of writing instructions into the seamless creative flow that I liken to sculpting was Martin Fowler‘s conception of “refactoring”.
We need similar tools to support the evolution of adaptable, resilient cities in the 21st Century.
Those cities will exist in a world that is ever more changeable, and ever less certain. The techniques to provide the flexibility in the physical environment required to accommodate that variability are already emerging - Kelvin Campbell's "Smart Urbanism", and technologies such as 3D printing and 3D cutting. We now need to evolve similar techniques for providing flexible information infrastructures for Smarter Cities.
I explore how those techniques might emerge from concepts such as refactoring, nucleation and incubation from domains as diverse as software engineering, the physical sciences and economics in this article on my blog: