Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture
- Length: 215 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2022-06-28
- ISBN-10: 1098112237
- ISBN-13: 9781098112233
- Sales Rank: #2836103 (See Top 100 Books)
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
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 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 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 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 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 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 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 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 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 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 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
Donate to keep this site alive
How to download source code?
1. Go to: https://www.oreilly.com/
2. Search the book title: Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture
, sometime you may not get the results, please search the main title
3. Click the book title in the search results
3. Publisher resources
section, click Download Example Code
.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.