YOW! September 2021 Recap
Gregor Hohpe
Gregor’s talk was all around platforms and architecture, and the ways in which both can be utilised for good and bad alike. Architects, he proposed, are charged with seeing things in multiple directions. They should be able to zoom in and out at different levels of detail on a problem or domain, and provide their teams and organisations with the capability to make better decisions.
The context that an architect works in is also important, and there have been dramatic changes in our industry with the rise of Platform-as-a-Service offerings that mean once traditional tradeoffs no longer hold true. For example, once you had to choose between standardising on something, or choosing to innovate. The idea being that standardisation would drive safety and consistency, but stifle the ability to teams, individuals, and organisations to try new things. Hohpe posits that this is no longer the case;
“The AWS you get is the exact same AWS that your competitor gets. But it also gives you this massive platform for innovation - there is so much available for you to use to execute on your ideas… Platforms like this, they allow us to stand on the shoulder of giants.”
He continued by stating that platforms are nothing new; they’ve been around in other industries for many a year. The automotive industry have utilised platforms to rapidly release new generations of cars built around the same chassis; there is no need to design a brand new car every single year from the ground up. Indeed, even vaccines to various viruses are now developed using pre-existing platforms, rather than built from the ground up.
Continuing on this theme, Hohpe talked about the paradox of standardisation - in some cases, standards can be enabling, because they abstract away the unimportant and allow you to focus on what’s valuable. In other cases, standardisation done badly can be very restrictive and stifling - something that many within the IT industry would likely have personal experience with. Determining where this balance sits is a key part of successful platform design, and good architecture.
As an example, Gregor talked about the Great Baltimore Fire and how one of the key reasons the fire burned uncontrolled for so long was that fire departments racing to provide support from surrounding cities and states did not have equipment that was compatible with the fire hydrants in use in Baltimore. Ultimately, standards don’t mean that everything has to be 100% the same; it is more about understanding your use cases and settling on what you need.
So, with this in mind, Gregor listed his three E’s of good platform design:
- Enabling - Whatever you are trying to do, the platform makes it easier for you.
- Evolving - A platform is never static - it will evolve to meet the underlying needs of the user over time.
- Embracing - Platforms make use of other, lower level platforms; that is, they don’t try to reinvent the wheel by solving a problem already well solved by something else.
Hohpe finished by talking about the concept of determining where you wish to spend your teams’ time investing in your own platforms. Commonly, there can be a need for a team to make their own tooling to make their lives easier, because the platform they utilise does not provide this functionality. As per the above three E’s though, platforms change over time and this functionality may eventually appear.
At this point, you have two choices; you can maintain a sinking platform, whereby you keep investing money in maintaining something that is now provided in the platform, because you believe you have a strong point of difference. Alternatively, you work with a floating platform; jettisoning the maintenance of this tooling because the platform now provides this functionality. Such choices are not to be made lightly, but they are choices that need to be consciously made to avoid the slow creep of technical debt.
More of Gregor’s work can be found at The Architect Elevator.