You probably want to go to the updated version of this post.
The paradigm shift that brought us lean-agile has swept across many fields such as architecture, art, literature, philosophy, and ultimately science. It has been a confusing, scary, wonderful and stunning wide-scale far-reaching cultural & social change started at the beginning of the twentieth century, and with many roots in the past.
Software developers have been among the firsts to wait for it and to enjoy its appearence, embracing it.
This shift took all of us from the industrial age into the information age, from the manufacturing mass-production task-work into the creative knowledge-work.
Before that, in the society, in the arts, in the sciences, in philosophy, and in software development, we lived under the tyranny of the illusion of a “rational design” by an omniscient designer that has all the information needed and enough time to analyse all of it, that knows it all, and that controls everything. And we lived under the illusion of a single law that entails and governs everything that happens.
This illusion influenced organisations’ structure and culture, their governance, management approaches, job roles, and way of working, in ways that never fitted modern software development.
The new paradigm shift came across with the awareness that there is no omniscient designer, we don’t have all the information or enough time to analyse all of it, we don’t know it all, and we can’t control everything.
It came with the awareness that, in professional software development and in the design of interactive digital products and services, there are not even first principles nor a single law that govern everything. Instead we learn as we go.
And still, we can make decisions effectively and take actions comfortably, at work as well as in our life: we participate in a human creative endeavour in a process of continuous experimentation, discovery, adaptation, and refinement, where the finale is not written until the end.
These are two key components of this exciting paradigm shift that replace the omniscient designer and the single law entailing everything:
– Co-creation: a form of deep collaboration where a pair, a group, or a crowd of people work closely together in a sequence of very short and focused iterations, sharing the creative space of their thought process, producing, reviewing, testing, and refining the outcomes of their collaboration;
– Co-evolution: a human creative endeavour where the understanding of the problem and the discovery of a solution evolve in concert. A solution is gradually developed and delivered to improve the understanding of the problem itself, that in turn leads to the next discovery of a new refined solution. This double act continues until a working solution is fully discovered and developed, and the problem is fully understood.
Co-creation and co-evolution combined together, enable us to effectively make sense of the many problems we face nowadays in software development.
The experience of collaborating and creating something together, with another human being, in a safe and creative space, is a wonderful, energising, and liberating experience. Once you have tried it and you have seen it at work, you don’t wanna go back to the old world anymore.
Co-creation and co-evolution, together with continuous learning, context awareness, and compassion, are among the social abilities and skills that are unique to humanity and are alien to artificial intelligence. All those very human abilities will be at the core of the next paradigm shift and the next revolution.