Hexagonal architecture
GOTO Copenhagen 2025Hexagonal, or more correctly called "Ports & Adapters" architecture is as misunderstood as it is popular to quote.
This is the goal: "Create your application to work without either a UI or a database so you can run automated regression-tests against it, change connected technologies, protect it from leaks between business logic and technologies, work when the database becomes unavailable, and link applications together."
In this one-day workshop, learn how to do it properly.
The day starts with reviewing "decisions as inventory", how they build up to cause delays and costs in your organization. That section of the day climaxes with the infamous "Elephant Carpaccio" exercise, in which you have to ship code every 8 minutes! Intense, but you learn how and why to do nano-incremental development.
We apply that in the afternoon to the "hexagonal" question (Why is it a hexagon? You'll learn why.) The afternoon starts with the 'why' of the architecture, what pains drove it to be constructed, how to do it in Java and Ruby, the advantages and disadvantages.
But learning comes from programming, not listening. The afternoon is for programming. We start with a small problem, which you will program in your favorite language (bring your environment), acceptance-test-first, in nano-increments. You will create the architecture run by tests, then plug in new drivers and drivens of your choice, and learn how easy that becomes.
You will show your code, how you set it up in folders and tests. If you come with colleagues, you will have a chance to discuss and set up team conventions for your project.
Get your questions answered, and go home with running, tested, properly Ports & Adapters sample code.
You will get two Heart of Agile Academy Level A certificates from this workshop: one for the Elephant Carpaccio exercise, and one for Hexagonal Architecture.