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.
- 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.
- Nygard’s presentation Maneuverable Architecture from the 2016 O’Reilly Software Architecture Conference
- Nygard’s 2016 blog post on the “twilight period” in software development and deployment for cloud native systems
- Nygard’s workshop at QCon San Francisco on November 16th
- The book The Principles of Product Development Flow by Donald Reinertsen