Close

2022-09-23

Evolving a Clean, Pragmatic Architecture – A Software Crafter’s Guide

Evolving a Clean, Pragmatic Architecture – A Software Crafter’s Guide

In the mood for a closing brainstorm? Let’s critically review the major decisions in a typical enterprise application architecture and learn to balance pragmatism with design goals. Find out how to do just-in-time design to keep as many use cases as simple as possible (KISS).

We’ve all seen that without continuous refactoring, the simplistic design degenerates into a Big Ball of Mud under the assault of new features and bug fixes. Conversely, over-engineered code can burden the development start-up and then freeze the code in some rigid ‘a-priori’ design. It’s up to us to strike a balance that will preserve Developer Happiness™. To do that, we should regularly challenge the architecture of our system and seek ways to simplify it to fit our present needs with a pragmatic mindset.

“Architecture is the art of postponing decisions,” said Uncle Bob. This session takes this idea further and explains how to Evolve a Pragmatic, Clean Architecture (aka Onion), guiding the design by what Genetic Programming would call a fitness function. It’s the philosophy Victor applied to design and develop nine applications for IBM, a vital topic of the training he delivered at dozens of companies.

Along the way, you’ll also get an excellent review of the fundamental data structure types, how to keep the logic simple by two types of extractions, enforce boundaries using dependency directions, and craft a testable design, all in a fun, dynamic, and interactive session.