Successfully reported this slideshow.
Your SlideShare is downloading. ×

Software Architecture: Lessons from Nature

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 50 Ad

Software Architecture: Lessons from Nature

Download to read offline

As human beings we tend to think rather highly of ourselves – software architects even more so! However, scientific discoveries from the last 150 years have revealed how our species is merely a bit-player in the grand, ongoing experiment in self-organisation that we call "Nature". This talk highlights some of the more significant ideas that have emerged from the discipline of software engineering over the last six decades, and examines how Mother Nature is usually one step ahead of us by a few hundred million years or so. It also invites us to imagine where natural paradigms might guide us in the future, if we are willing to listen.

As human beings we tend to think rather highly of ourselves – software architects even more so! However, scientific discoveries from the last 150 years have revealed how our species is merely a bit-player in the grand, ongoing experiment in self-organisation that we call "Nature". This talk highlights some of the more significant ideas that have emerged from the discipline of software engineering over the last six decades, and examines how Mother Nature is usually one step ahead of us by a few hundred million years or so. It also invites us to imagine where natural paradigms might guide us in the future, if we are willing to listen.

Advertisement
Advertisement

More Related Content

Advertisement

Software Architecture: Lessons from Nature

  1. 1. Software Architecture: Lessons from Nature Riccardo M Bennett-Lovsey Founder – Zametek.com
  2. 2. Source: https://www.youtube.com/watch?v=TfYf_rPWUdY
  3. 3. Source: https://insights.stackoverflow.com/survey/2020
  4. 4. “The definition of evolutionary architecture that we state here includes two critical characteristics: incremental and guided.” – Building Evolutionary Architectures
  5. 5. Change is inevitable (but never free)
  6. 6. Nature abhors a vacuum (no niche remains empty for very long)
  7. 7. Stress begets innovation (be a Raccoon, not a Panda)
  8. 8. Some mistakes can never be fixed (live with it!)
  9. 9. Source: https://www.app.pan.pl/archive/published/app57/app20110019.pdf
  10. 10. Volatility is a feature, not a bug! (find the sweet-spot between order and chaos)
  11. 11. Source: https://www.youtube.com/watch?v=xI8yKN-WoUs
  12. 12. Encapsulation
  13. 13. Modularity
  14. 14. Data Contract/API
  15. 15. Exceptions
  16. 16. Layered Architectures
  17. 17. Inheritance & Polymorphism
  18. 18. Engines Orchestrators Factories
  19. 19. A B A B A B
  20. 20. Source: https://www.nature.com/articles/s41598-018-37667-4 N = nodes K = average inputs P = bias function
  21. 21. • Ordered • Fixed pattern of behaviour • Chaotic • Random patterns of behaviour • Critical • Thin line between Order and Chaos • Exhibit spontaneous order • Multiple stable patterns of behaviour (Attractors) • 𝐴𝑡𝑡𝑟𝑎𝑐𝑡𝑜𝑟𝑠 ≈ 𝑁
  22. 22. Order Chaos We should be here
  23. 23. Source: https://twitter.com/phennex/status/1296052325266657281
  24. 24. Sustainable Criticality • Live projects need to achieve and maintain a state of Criticality • Change must be as easy as possible, but no easier • View the ability to accommodate change as an investment • Prepare your architecture for a graceful death • Architect: • Part Engineer • Part Gardener • Part Medic • Part Raccoon • Not a Panda
  25. 25. Recommended Reading • Biomimicry Institute • https://biomimicry.org/ • “Biomimicry: Innovation Inspired by Nature” • Janine Benyus • “Residuality Theory, random simulation, and attractor networks” • Barry O’Reilly, Procedia Computer Science, vol. 201 (2022), pages 639-645 • “The Edge of Organization: Chaos and Complexity Theories of Formal Social Systems” • Russ Marion

×