The following typographical conventions are used in this book:
Indicates new terms, URLs, email addresses, filenames, and file extensions.
Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, environment variables, statements, and keywords.
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values or by values determined by context.
This element signifies a tip or suggestion.
Safari (formerly Safari Books Online) is a membership-based training and reference platform for enterprise, government, educators, and individuals.
Members have access to thousands of books, training videos, Learning Paths, interactive tutorials, and curated playlists from over 250 publishers, including O’Reilly Media, Harvard Business Review, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Adobe, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, and Course Technology, among others.
For more information, please visit http://oreilly.com/safari.
Please address comments and questions concerning this book to the publisher:
We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at http://oreil.ly/2eY9gT6.
To comment or ask technical questions about this book, send email to email@example.com.
For more information about our books, courses, conferences, and news, see our website at http://www.oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://www.youtube.com/oreillymedia
The authors maintain a companion website for this book at http://evolutionaryarchitecture.com
Neal would like to thank all the attendees of the various conferences at which he has spoken over the last few years to help hone and revise this material live. He would also like to thank the technical reviewers who went above and beyond to provide excellent feedback and advice, especially Venkat Subramanium, Eoin Woods, Simon Brown, and Martin Fowler. Neal would also like to thank his cats Winston, Parker, and Isabella for providing useful distractions that always lead to insights. He thanks his friend John Drescher, all his ThoughtWorks colleagues, Norman Zapien for his crafty ear, his yearly Pasty Geeks vacation group and neighborhood Cocktail Club for support and friendship. And finally, he’d like to thank his long-suffering wife, who endures his travel and other professional indignities with a smile.
Rebecca would like to thank all of the colleagues, conference attendees and speakers, and authors who have, over the years, contributed ideas, tools, and methods and asked clarifying questions about the field of evolutionary architecture. She would echo Neal’s thanks to the technical reviewers for their careful reading and commentary. Further, Rebecca would like to thank her co-authors for all the enlightening conversations and discussions while we worked together on this book. In particular, she thanks Neal for the great discussion, or perhaps debate, they had several years ago regarding the distinction between emergent and evolutionary architecture. These ideas have come a long way since that first conversation.
Patrick would like to thank all of his colleagues and customers at ThoughtWorks, who have driven the need and provided the testbed to articulate the ideas in building evolutionary architecture. He would also like to echo Neal and Rebecca’s thanks to the technical reviewers, whose feedback helped to improve the book immensely. Finally, he would like to thank his co-authors for the past several years and for the opportunity to work closely together on this topic, despite the numerous time zones and flights that made meeting in person the rare occasion.