Chapter 13. Your Platforms Manage Complexity
We must design for the way people behave, not for how we would wish them to behave.
Donald A. Norman, Living with Complexity
We started this book by describing the “why” behind platform engineering. What is the problem to be solved? The rapid increase of complexity in technology is slowing application engineering teams down, and the business is getting less value per developer over time. Why do we need platform engineering? Because it takes a holistic approach to the problem of complexity, allowing a team of software and systems experts to reduce the drag of complexity on the application teams.
This does not mean that platforms remove all complexity. Platforms generate leverage by effectively managing complexity, not eliminating it; as a leader of a platform team you must become very comfortable addressing complexity in everything you do.
In this chapter, we’ll highlight four areas where complexity needs to be managed to ensure you are on a successful path:
-
Accidental complexity, where attempts by a platform to address complexity in fact just move the problem somewhere else, often creating new work for humans
-
Shadow platforms, which are a delicate game of letting application organizations be agile, without ending up with a complex outcome of many similar shadow platforms
-
Uncontrolled growth, where the only way a platform organization manages complexity is under an assumption it can hire new engineers tomorrow to deal with the ...
Get Platform Engineering now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.