ENGLISH

Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture

Book information

Publisher
O'Reilly Media
Year
2022
ISBN
1098112237, 9781098112233
Language
english
Format
PDF
Filesize
8 MB (8780906 bytes)
Edition
1
Pages
215\218
Time added
2022-07-10 09:34:01

Description

Software architecture metrics are key to the maintainability and architectural quality of a software project and they can warn you about dangerous accumulations of architectural and technical debt early in the process. In this practical book, leading hands-on software architects share case studies to introduce metrics that every software architect should know. This isn't a book about theory. It's more about practice and implementation, about what has already been tried and worked. Detecting software architectural issues early is crucial for the success of your software: it helps mitigate the risk of poor performance and lowers the cost of repairing those issues. Written by practitioners for software architects and software developers eager to explore successful case studies, this guide will help you learn more about decision and measurement effectiveness. Through contributions from 10 prominent practitioners, this book shares key software architecture metrics to help you set the right KPIs and measure the results. You'll learn how to: • Measure how well your software architecture is meeting your goals • Choose the right metrics to track (and skip the ones you don't need) • Improve observability, testability, and deployability • Prioritize software architecture projects • Build insightful and relevant dashboards Copyright Table of Contents Preface What Will You Learn? Who This Book Is For Conventions Used in This Book O’Reilly Online Learning How to Contact Us Acknowledgments Christian Ciceri Dave Farley Neal Ford Andrew Harmel-Law Michael Keeling Carola Lilienthal João Rosa Alexander von Zitzewitz Rene Weiss Eoin Woods Chapter 1. Four Key Metrics Unleashed Definition and Instrumentation Refactoring Your Mental Model Pipelines as Your First Port of Call Locating Your Instrumentation Points Capture and Calculation Display and Understanding Target Audience Visualization Front Page Discussions and Understanding Ownership and Improvement Conclusion Chapter 2. The Fitness Function Testing Pyramid: An Analogy for Architectural Tests and Metrics Fitness Functions and Metrics Fitness Functions: Test Coverage Fitness Functions: Integration Tests with Network Latency Introduction to Fitness Function Categories Mandatory Fitness Function Categories Optional Fitness Function Categories Fitness Function Categories: Catalog Overview The Testing Pyramid The Fitness Function Testing Pyramid The Top Layer The Middle Layer The Bottom Layer Examples and Their Full Categorization Fully Categorizing Top-Layer Examples Developing Your Fitness Functions and Metrics Conclusion Chapter 3. Evolutionary Architecture: Guiding Architecture with Testability and Deployability The Importance of Learning and Discovery The Tools of Sustainable Change Testability: Creating High-Quality Systems Deployability: Scaling Development of Our Systems Conclusion Chapter 4. Improve Your Architecture with the Modularity Maturity Index Technical Debt Origination of Technical Debt Assessment with the MMI Modularity Hierarchy Pattern Consistency Calculating the MMI Architecture Review to Determine the MMI Conclusion Chapter 5. Private Builds and Metrics: Tools for Surviving DevOps Transitions Key Terms CI/CD DevOps The “Ownership Shift” Empowering the Local Environment Again The Private Build Case Study: The Unstable Trunk Bug A1 Bug A2 Bug A3 Bug A4 Case Study: The Blocked Consultant Metrics Time to Feedback Evitable Integration Issues in the Deployed Application per Iteration Time Spent Restoring Trunk Stability per Iteration The Cost of Private Builds Metrics in Practice High Time to Feedback, High Evitable Integration Issues, Low Time to Trunk Stability Low Time to Feedback, High Evitable Integration Issues, Low Time to Trunk Stability High Time to Feedback, Low Evitable Integration Issues, Low Time to Trunk Stability Low Evitable Integration Issues and High Time to Trunk Stability Conclusion Chapter 6. Scaling an Organization: The Central Role of Software Architecture YourFinFreedom Breaks the Monolith Implementing a Distributed Big Ball of Mud Seeking Direction From Best Effort to Intentional Effort Increasing Software Architecture Intentionality, Guided by Metrics Managing Expectations with Communication Learning and Evolving the Architecture And What About Anna? Conclusion Chapter 7. The Role of Measurement in Software Architecture Adding Measurement to Software Architecture Measurement Approaches Runtime Measurement of Applications and Infrastructure Software Analysis Design Analysis Estimates and Models Fitness Functions Measuring System Qualities Performance Scalability Availability Security Getting Started Hypothetical Case Study Pitfalls Conclusion Chapter 8. Progressing from Metrics to Engineering The Path to Fitness Functions From Metrics to Engineering Automation Operationalizes Metrics Case Study: Coupling Case Study: Zero-Day Security Check Case Study: Fidelity Fitness Functions Conclusion Chapter 9. Using Software Metrics to Ensure Maintainability The Case for Using Metrics Entropy Kills Software The Toxicity of Cyclic Dependencies How Metrics Can Help Why Are Metrics Not More Widely Used? Tools to Gather Metrics Useful Metrics Metrics to Measure Coupling and Structural Erosion Metrics to Measure Size and Complexity Change History Metrics Other Useful Metrics Architectural Fitness Functions How to Track Metrics over Time A Few Golden Rules for Better Software Conclusion Chapter 10. Measure the Unknown with the Goal-Question-Metric Approach The Goal-Question-Metric Approach Create a GQM Tree Prioritize Metrics and Devise a Data Collection Strategy Case Study: The Team That Learned to See the Future System Context Incident #1: Too Many Requests to the Foo Service Incident #2: Seeing the Future Reflection Run a GQM Workshop Workshop Summary Workshop Steps Facilitation Guidelines and Hints Conclusion Index About the Authors Colophon

Similar books