As an agile writer, I like to write articles in multiple iterations. Feedback from readers is essential to me. There’s no such thing as gettings things right the first time around. Not for programmers, and not for writers. So I’ve decided to give the readers of this site a chance to be the first to read my latest article.
The article is called Project Change, a Way of Life (PDF, 2.27MB) In this article I try to link complexity science with agile software development. I attempt to show why there is no such thing as a best software development method, why managing scope is a too simplistic interpretation of “embracing change”, why corporate standards for processes are a bad thing, and why you will never get things exactly right.
The article includes comparisons to biology and other types of complex systems, several little nuggets of wisdom, and some personal experiences involving my car. Here’s a little sample of what you can expect…
For biological systems the search across the fitness landscape is not an intelligent one. DNA is mutated in random ways, and species do their adaptive walks in all directions, including every wrong one. But natural selection comes to the rescue by making sure that the individual organisms that happen to have landed (blindly) on a higher position on the fitness landscape are the ones most successful in reproducing themselves. Human-made systems apply a different strategy. We cannot afford to simply try out every combination of features, resources and processes. In our case not natural selection but conscious selection comes to the rescue. Humans have the intellectual capacity to make an educated guess on where the higher peaks are, even though the fitness landscape is an abstract thing. We balance features against qualities, we fire and hire employees, we discard and select tools, and we add and rework the processes in our software projects, hoping (and often expecting) to walk in the right direction, improving the fitness of our systems along the way.