Emergent software projects: genome analogy
Steven Johnson quotes, in Emergence, science writer Matt Ridley:
As Ridley writes, “The great beauty of embryo development, the bit that human beings find so hard to grasp, is that it is a totally decentralized process. Since every cell in the body carries a complete copy of the genome, no cell need wait for instructions from authority; every cell can act on its own information and the signals it receives from its neighbors.”
If we use the genome as an analogy for emergent design projects, the fact that it is copied to each cell suggests that it plays the role of a shared vision for where the entire “organism” wants to go, about what it wants to be. An emergent project needs such a shared vision. I don’t think the Extreme Programming system metaphor is enough here. It’s about a larger system of values and principles. The values in Extreme Programming: simplicity, feedback, courage, and communication – are probably in there too; as are design principles such as High Cohesion and Low Coupling.
Follow-up: Later, I began thinking about this in terms of “team culture”.