👋 Hello, this is Valentina with the free edition of the Optivem Journal. I help Engineering Leaders & Senior Software Developers apply TDD in Legacy Code. To get these articles in your inbox every week, subscribe:
Discovering Hexagonal Architecture was a pivotal moment in my career.
That’s why I’m so excited that Alistair Cockburn will be joining us at the Tech Excellence Conference 2024 to revisit Hexagonal Architecture:
How Hexagonal Architecture impacted by career
When I started working in software development, I was surrounded by Legacy Code - they typically started as CRUD applications that evolved into Big Ball of Mud. Everything was tangled up, no separation of concerns.
There were even cases of extreme coupling whereby inside the REST API, it contained business logic, access to databases, access to external systems, and the REST API method was ultra long and unreadable.
This kind of code is problematic:
NO separation of concerns
NOT unit testable
That’s when I discovered Hexagonal Architecture. It enabled us to separate business logic away from the external world, enabling unit testability.
Unit testability is a prerequisite for applying TDD.
Alistair’s publications in 2023 & 2024
Alistair Cockburn published the original article on Hexagonal Architecture over a decade ago, to illustrate the key motivations and the concepts.
Furthermore, Juan Manuel Garrido de Paz wrote up a comprehensive Hexagonal Architecture website which was more detailed, like a handbook for practitioners. He also joined me on my YouTube channel to do livestreaming of his HA code demo.
One of the most exciting news of the last few years was that Alistair Cockburn and Juan Manuel Garrido de Paz were working together on the Hexagonal Architecture Explained book.
I also enjoyed reviewing Alistair’s article Configurable Receiver pattern, and our thought-provoking email discussions. One conversation with Alistair was particularly insightful which was on the topic of tests.
Alistair Cockburn is revisiting Hexagonal Architecture with us
Learn from it’s creator the rules and structure of the “Hexagonal”, more correctly called the Ports & Adapters architecture. In this lecture, Dr. Cockburn will describe why he created it, its benefits and also its costs, the UML description, and also some sample code. As an extra challenge, he will invite you to write your first Ports & Adapters application in your favorite language /during/ the talk!
Outline of the lecture:
Challenge to write a small application during the lecture
Short form what the code looks like
Costs, benefits, history: why was it needed
Viewing your application as a component
Development sequence
Examples in Ruby & Java with needed terminology
How to set up the folders
The various ways to set up the architecture
Why is it called /Hexagonal/?
Summary, checking in with people who accepted the challenge
📅 Friday, 22nd November 2024
About Alistair Cockburn
Dr. Alistair Cockburn (pronounced CO-BURN) was named as one of the “42 Greatest Software Professionals of All Times" in 2020, as a world expert on methodologies, project management, software architecture, use cases and agile development. He co-authored both the Agile Manifesto in 2001. Since 2015 he has been working on expanding agile to cover every kind of initiative, including social impact projects, governments, and families.
Dr. Cockburn developed the “Hexagonal” or Ports & Architecture over several decades out of frustration seeing projects suffer from not being able to swap drivers and databases easily. For his latest work, see https://alistaircockburn.com/.
Twitter: https://x.com/totheralistair
Personal site: https://alistaircockburn.com
Looking forward to joining Alistair Cockburn in revisiting Hexagonal Architecture!
P.S. I’d like to hear from you - how did Hexagonal Architecture impact you? Feel free to leave a comment below.
Want to apply TDD in practice?
You tried TDD, but it didn’t work. That's why I'm going to help you practice TDD step-by-step. Apply TDD on a sandbox project, and get my feedback and answers to your questions. Access TDD in Legacy Code.
Hexagonal Architecture is great - code is easier to understand and maintain, even in complex systems.
Jelena Cupac, thank you for this article. There being a typo.
He co-authored both the Agile Manifesto in 1002