Software systems always express some form of architecture. Many times those architectures reflect the mere circumstances and microtrends prevailing at various times. But long-term success doesn’t happen by accident. When approached deliberately, software architecture and design can produce benefits for teams in a variety of ways.
James Thompson demonstrates how to assess approaches and make decisions based on what matters to your team and your projects by answering the following guiding questions:
These questions give you a framework for thinking about how to do software architecture in a collaborative way. Software development is a collaborative effort, and software architecture should be also. Software architecture is something that every developer should be equipped and empowered to engage with—leading to a more collaborative way of developing and maintaining your software systems.
James Thompson is a principal software engineer at Mavenlink, where he is committed to helping engineering teams become more deliberate in how they build software through developing strong learning cultures, principled engineering practices, and holistic architectural thinking. He has worked with web technologies since 2003.
©2019, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org