veryard projects - innovation for demanding changesystems engineering for business process change

software and system evolution

this page survival of the fittest - or the survival of the fit

unsurvival of the unfit

software & business co-evolution

evolution and progress - convergent or divergent

genetic articulation

religious perspective - does evolution need a guiding hand?

other material flexible architectures & co-evolution

component-based business

internet - evolution or revolution?


other links FACE network
home [veryard project home page]

[contact us]

Something interesting emerges (develops, unfolds) from a large number of small changes and interactions.
Evolution may either be seen as moving towards an envisioned goal, or moving away from a mess.
Natural selection requires the unsurvival of the unfit.
Biodiversity promotes evolution. Evolution increases biodiversity. (But only under certain ecological conditions.)

Software and business are two different life-forms, often found yoked together in a quasi-symbiotic relationship. In this context, it seems to make sense to talk about co-evolution - both software and business are changing (evolving) over time, and these changes are somehow linked, with causal influences in both directions.  However, not all change counts as evolution.

It is often useful to model systems as if evolution worked, providing an effective optimization mechanism.  However, there are crucial areas where optimization fails. In evolution, there is no one optimal strategy.

Many discussions of software evolution - especially in the context of software maintenance - imply the goal of managing and controlling evolution.  How far this goal can be realised remains debatable. There are certainly some useful pragmatic steps that can be taken, but you need to start with a clear understanding of what evolution is, or could be, in the context of software and systems. That is the purpose of this page.

veryard projects is happy to provide practical help - please contact us

veryard projects - innovation for demanding change

Evolving Intelligence - Get smarter with beer

veryard projects > sebpc > evolution > intelligence

A herd of buffalo can only move as fast as the slowest buffalo and when the herd is hunted, it is the slowest and weakest ones that are killed first. This natural selection is good for the herd as a whole, because the general speed and health of the whole group keeps improving by the regular attrition of the weakest members.  In much the same way, the human brain can only operate as fast as the slowest brain cells. Excessive intake of alcohol, we all know, kills brain cells, but naturally it attacks the slowest and weakest brain cells first. In this way, regular consumption of beer eliminates the weaker brain cells, making the brain a faster and more efficient machine.  This is why you always feel smarter after a few beers!

veryard projects - innovation for demanding change

Evolution and Survival

veryard projects > sebpc > evolution > survival

survival of the fittest, nonsurvival of the unfit, survival of the fit
What is evolution anyway?

Darwinian evolution is often expressed as the survival of the fittest. As Bateson pointed out, it is more accurate to speak of the survival of the fit. This phrase is deliberately ambiguous: it could mean either the survival of fit individuals and species, or the survival of the fitness relationship between the entity and its environment - in other words, it is the fitness relationship itself that is preserved, while the species itself may change almost beyond recognition.

There is an important trade-off here between evolution and efficiency. Efficiency assumes a secure position in a fixed ecological niche - in other words, an unchanging identity. Evolution involves a dynamic engagement with the Fit - in other words, a constant challenging of who and what and why as well as how.

Evolution implies that something may evolve. But what is this thing? In biology, are we talking about the individual, the species, the gene, the genome, or something else? In software, are we talking about lumps of program code, assemblies of software components, or something more abstract?

veryard projects - innovation for demanding change

Evolution and Death

veryard projects > sebpc > evolution > death

Survival of the fit is only meaningful in relation to the non-survival of the unfit. In other words, evolution entails death.

Sometimes this means the death of unfit individuals within a species. If the slowest or weakest antelopes get eaten by lions, this improves the average speed and strength of the remaining antelopes. Over time, evolution "encourages" those attributes within a species that are linked to survival and reproduction, but this only works if there is a selection mechanism. (Nietzsche's principle: what doesn't kill you makes you stronger.)

Sometimes evolution involves the extinction of an entire species or genetic line, as incapable of surviving within a given ecological niche. Many recent examples involve native species unable to compete with or escape from imported species - red squirrels driven out by grey squirrels, water voles driven out by mink, even earthworms.

If we are serious about software evolution, we have to have an effective mechanism for killing "bad" software - not just tweaking it for year-2000 compliance.

software / business co-evolution

Software and business are two different life-forms, often found yoked together in a quasi-symbiotic relationship. In this context, it seems to make sense to talk about co-evolution - both software and business are changing (evolving) over time, and these changes are somehow linked, with causal influences in both directions. The alignment or coupling between two or more life-forms may sometimes help and sometimes hinder change. Often the IT world needs to develop something that has no direct relevance to business, but is intended to enhance future IT capability. Excessively tight coupling, or strictly enforced business/IT alignment, may inhibit investment in IT infrastructure.
In talking about co-evolution of software and business, we should try to be clear about the granularity and the logical level of the entities involved. Are we talking about an evolving but permanent relationship between an individual of one species and an individual of another species: this software solution in this company? Or are we talking about a relationship between two species, in which individuals of one species may have temporary or transient interactions with individuals of the other species: this collection of software components and services used within this market?

veryard projects - innovation for demanding change

Evolution and Progress

veryard projects > sebpc > evolution > progress

Evolution may either be seen as moving towards an envisioned goal, or moving away from a mess. Evolution may therefore be convergent or divergent.

Similar considerations apply to discussions of related topics, including progress and enlightenment.

When engineers talk about the evolution of engineered systems, they may mean several different things. These differences reveal different notions of what exactly is supposed to be evolving.

veryard projects - innovation for demanding change

Genetic articulation & coupling

veryard projects > sebpc > evolution > principles

In biology, there are some features whose evolution is difficult or impossible to explain in isolation - these features represent a significant cost or burden while initially conveying little apparent benefit.

The development of these features is sometimes explained by a form of genetic coupling or feature interaction. One feature piggy-backed on another feature, until it reached a point where it was providing some selective benefit in its own right.

“Evolutionary explanations do not take the narrow form ‘Feature X exists because it maximizes the genetic fitness of the organism.’ Rather their general form is ‘X exists because it is part of a package solution that at some time maximized the genetic fitness of the organism.’ The latter form allows for two facts that the former excludes. First, there is the omnipresent phenomenon of pleiotropy. A tendency to conform to a social norm might detract from genetic fitness and yet be retained by natural selection if it is the by-product of a gene whose main product is highly beneficial. Second, the general form allows for time lags. A social norm may be maladaptive today and yet have been adaptive at the stage in history when the human genome evolved and, for practical purposes, was fixed.”
 [Jon Elster, The Cement of Society (CUP, 1989) pp 149-150]
This raises the important question of clustering - how is genetic or software material articulated, to provide appropriate connections and separations. How are developments bundled, so that interesting opportunities are not prematurely selected out? Strategic management and change management often require that some necessary changes and developments are kept invisible, bundled with other stuff, and are not subjected to the harsh demands of the marketplace or to board-level supervision. (This is sometimes known as skunk works.)
more Articulation

biological evolution
from engineering to religion

Use of the term evolution invites comparison with biological evolution. Does evolution need a guiding hand?

Some people believe that God steers biological evolution. Perhaps the engineer can steer the evolution of a very simple technical system. But many of the situations of interest, in which engineered systems are supposed to evolve, are complex ones where no human engineer could be expected to steer the evolution with omnipotent and omniscient mastery.

Other people believe that God's role was to set the evolution process going, but not to intervene in the micro development of individual genes and species. This suggests a different role for the Engineer as well - either to compete, or to provide the tools and environment for others to compete.

Other people again - notably the neo Darwinians such as Richard Dawkins - deny any role for God in the process.

From both extremes of the religious debate, we can arrive at the conclusion that the Engineer is neither necessary nor sufficient for the evolution and survival of large complex systems. If God is managing everything, then engineers are redundant, and if God is managing nothing, then engineers are otiose.


veryard projects home page

veryard projects - innovation for demanding change

This page last updated on February 22nd, 2002
Copyright © 1999-2002 Veryard Projects Ltd


Please make contact