Texture
Texture (source: Pxhere public domain)

In this episode of the O’Reilly Programming Podcast, I talk with Michael Nygard, a software architect at Cognitect. He has spoken about “architecture without an end state” at numerous O’Reilly Software Architecture events, and he is the author of the book Release It! Design and Deploy Production-Ready Software.

Discussion points:

  • Architecture without an end state means accepting that “changes you’re starting now will co-exist with changes that started last year and the year before,” Nygard says. “If you adopt that perspective, then you stop trying to rip up the pavement and do something completely new, and you focus a lot more on incremental change.”
  • Quoting Mary Poppendieck, Nygard says that changes in scope should be embraced as an opportunity. “It’s not only reality that we’re going to have technical disruptions to our systems; we’re going to have business disruptions as well,” he says.
  • “Embracing plurality” is one of Nygard’s eight rules for architecting systems that are built to accept change. “When you build a service, it should allow for many consumers, some of whom you have no prior knowledge about— they just show up and start using your system,” he says.

Other links: