What does it mean to support, extend or even replace a monolith and should we even try? This time I explore the landscape as it is now - when we feel under pressure to "do microservices" yet we have something that works but is perhaps too much of a monolith for us to work with effectively.
This quote from the end of the episode perhaps sums it up:
"Emergent architecture is used for understanding and extending complex systems, which have arrived at their state through an unknown path."
01:25 - "emergent architecture is a smart way to say we built something and once we had a plan, but now we have to change it" [RB]
01:52 - "Documentation is of use in order for software archeologists to discover the business motivations for why we're built that way in the first place" [RB]
02:22 - "This is the very definition of the sunk cost fallacy. Those that have invested so much financially, emotionally, and reputationally, that they must double down on that approach until it's either universally accepted or until it's dead in the water. This approach, I call the "Abyss of Obsession", and it's a social construct" [RB]
03:19 - "it's important to dream big. We're all capable of it, and software is the perfect scaffolding for these dreams" [RB]
04:46 - "If you've ever tried to reverse engineer a system, then you will know that a complex system is exactly that, often intractable" [RB]
05:39 - "what you see from typical software projects is that either zero sum or significant upfront planning or design is made" [RB]
06:46 - "I call this cost to first 'gotcha'. The moment where we think, oh no, we forgot this fundamental thing" [RB]
08:07 - "Do not let our ideas become code." [RB]
09:41 - "Emergent architecture means that things change. We can be resilient to change, not just with how we build our applications physically, but also by expecting things to need to change." [RB]
10:30 - "This is why a legacy system is really every system we ever build" [RB]
11:03 - "I believe that just like a good domain model, we already have enough or perhaps too many words to describe the patterns that we see in enterprise systems and architecture." [RB]
12:02 - "Emergent architecture is used for understanding and extending complex systems, which have arrived at their state through an unknown path." [RB]