Use Principles in Software Development to Adapt and Thrive
Starlings co-ordinate to create beautiful and complex patterns – without a Visio Diagram. Image: David Cousins

Use Principles in Software Development to Adapt and Thrive

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 – at 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 – essentially, agility.

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 hierarchical ogranograms – three simple rules followed by each individual creates beautiful, cohesive complexity.

At BET, our software development Teams are guided by principles 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.

Des Cross

Head of Training at Hollywood Sportsbook

2 年

Alan, the analogy is appropriate in todays fast paced world. Thank you for a that. ??

要查看或添加评论,请登录

社区洞察

其他会员也浏览了