Evolve Or Die?

Anyone involved in the creation of software has likely used or heard the word “evolution” to describe change processes for a software product or team.

Many have also realized – and had a chuckle – the many parallels between biological and technological system evolution. The similarities usually run along the lines of adaption to the environment through the speed of change – agility.

Software Development
Starlings co-ordinate to create beautiful and complex patterns – without a Visio Diagram.

Technology companies that adapt rapidly enough survive, and those that don’t, join the ever-expanding list of case studies made infamous by the likes of Kodak and Blackberry.

Nature, however, seems to have another lesson for us in the area of dynamic system complexity. In software development, the human environment is guaranteed to be dynamic and complex with the pressure of having teams act in a cohesive way to deliver high-quality code rapidly and often. Turns out this complex challenge has been solved by nature – and in a seemingly unlikely way.

Back in 1987, programmer Craig Reynolds created Boids, a program that sought to and successfully recreated the complex motion of a starling murmuration. A murmuration of starlings is a swooping mass of thousands of birds whirling in the sky.

Turns out the key to this display of scaled cohesive complexity is the interaction of individual agents (the Boids, in this case) following three simple rules:

  1. Separation: steer to avoid crowding local flockmates;
  2. Alignment: steer towards the average heading of local flockmates;
  3. Cohesion: steer to move towards the average position (center of mass) of local flockmates.

(Source: https://en.wikipedia.org/wiki/Boids)

No choreography, no rehearsal, and no Visio diagrams – three simple rules followed by each individual create beautiful, cohesive complexity.

At BET, our software development Teams are guided by principles (rules if you are a “Boid”), which describe and support how we behave as individuals. In complex, fluid situations these allow us to make the right decisions that reliably result in the delivery of world-class software.

Share on facebook
Share on Facebook
Share on twitter
Share on Twitter
Share on linkedin
Share on LinkedIn

Leave a Comment

Follow Us

Recent Posts

Let’s Meet For Coffee, Out on a Coffee Date|Let's Meet For Coffee

Let’s Meet For Coffee

Latte. Cappuccino. Espresso. Moccha. Macchiato. Americano. Which one do you choose, on that notorious first date? Coffee doesn’t have to be complicated. Let’s unpack it for you. You can thank us in advance for that second date, loading.

Read More »

Senior BI Engineer

We want you to manage our data retrieval and analysis within the company, by providing us with clean and comprehensible data to the end-user that can be efficiently used to create KPIs.

Read More »