In recent years, software has become a lot more interconnected. Functionality is no longer delivered by monolithic systems but by smaller systems and components that exchange data and communicate with each other. Developments like microservice architectures mean the notion of what can be considered a system is becoming both less clear and less relevant.
However, most teams applying software quality techniques still primarily focus on individual systems. While this is great to ensure the system remains maintainable and flexible, it is also useful to focus on the maintainability of the landscape as a whole. The way the communication between systems is implemented influences the flexibility at which those systems can be changed. Moreover, it also determines the way the teams working on those systems will communicate with each other.
Dennis Bijlsma and Haiyun Xu explain how to measure the maintainability of software landscapes that consist of many systems communicating with each other—and what that means for the teams working on them. Along the way, they explore a number of trade-offs to consider when designing the landscape and share best practices for modern software landscape architectures.
Dennis Bijlsma is a senior consultant at the Software Improvement Group (SIG). In the past few years, he has interviewed over 200 software development teams working on projects in various industries, focusing on how to improve software quality.
Haiyun Xu is CSO at the Software Improvement Group (SIG). Haiyun has a background in electrical engineering and computer science. She also contributes innovation research in software security, security risk assessment, data analysis and benchmarking, statistical analysis, software quality, and software economics.
Comments on this page are now closed.
©2018, O’Reilly UK Ltd • (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