Share E-Book
Scan to open this page

Scan with your phone to open this page

AuthorChristian Ciceri, Dave Farley, Neal Ford, Andrew Harmel-Law, Michael Keeling, Carola Lilienthal, João Rosa, Alexander von Zitzewitz, René Weiss, Eóin Woods

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

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
# Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture ## 【One-Line Pitch】 A practical, practitioner-driven collection of case studies showing how leading software architects measure, track, and improve architectural quality using metrics, fitness functions, and the four key metrics from *Accelerate*. Essential reading for software architects and senior developers who want to move beyond theory and adopt proven measurement practices. ## 【Book Arc】 - **Opening (~0%–9%)**: Establishes the core premise—architecture metrics are essential for detecting technical debt and quality issues early—and previews the book's structure, including chapters on fitness functions, maintainability metrics, and the Goal-Question-Metric approach. - **Early (~9%–28%)**: Introduces the four key metrics (deployment frequency, lead time for changes, change failure rate, and time to restore service) as a mental model for measuring delivery performance, with detailed guidance on instrumentation, target audiences, and dashboard design. - **Early–Middle (~28%–38%)**: Explores fitness functions as a testing analogy, showing how to define architectural tests with metrics, execution triggers, and quality attribute requirements, including concrete examples like integration tests with simulated network latency. - **Middle (~38%–47%)**: Categorizes fitness functions across dimensions (breadth of feedback, execution trigger/location, metric type, automation, quality attributes, static/dynamic) and demonstrates full categorization with real-world examples, including an online shop revenue monitoring function. - **Late (~47%–end)**: Moves into broader maintainability metrics—coupling, structural erosion, size, complexity, change history—and discusses tools, golden rules, and how to track metrics over time, plus the Goal-Question-Metric approach for measuring the unknown. ## 【Key Takeaways】 - **The four key metrics measure delivery throughput and stability** (Early): Deployment frequency and lead time measure throughput; change failure rate and time to restore service measure stability. Together they form a pipeline mental model from code push to production service. - **Instrumentation requires only three raw data points** (Early): Start/end times for changes, deployment timestamps, and change failure tickets. You can start with manual tickets and refine later—perfect is the enemy of good. - **The "highest environment" substitutes for production when needed** (Early): If you're not doing continuous deployment, treat your staging or SIT environment like production, with testers as "users" and test failures as real failures. - **Fitness functions are architectural tests with explicit metrics** (Early–Middle): Each fitness function combines a metric to meet, a context (like simulated latency), an execution trigger, and a failure condition—making quality attributes testable and automated. - **Quality attributes drive fitness function design** (Middle): ISO 25010 provides a catalog of quality attributes (functional suitability, performance efficiency, compatibility, usability, etc.) that should shape what you measure and test. - **Fitness functions have a pyramid shape, not a flat distribution** (Middle): Unlike unit tests, don't create as many fitness functions as possible—each adds overhead. Follow the pyramid: more atomic tests at the base, fewer holistic ones at the top. - **Categorize fitness functions across six dimensions** (Middle): Breadth of feedback, execution trigger, execution location, metric type, automation level, and static/dynamic nature—this categorization helps you design and communicate them effectively. - **Maintainability metrics target coupling, size, complexity, and change history** (Late): These metrics reveal structural erosion and cyclic dependencies, which are "toxic" to software health, and tools exist to gather them automatically. ## 【Reading Tips】 - **Deep-read Chapter 1 (Early, ~19%–28%)** for the four key metrics: this is the most actionable content, with concrete instrumentation guidance and dashboard design principles. Skim the acknowledgments and preface. - **Study the fitness function examples carefully (Early–Middle, ~34%–47%)**: The worked examples (network latency integration tests, online shop revenue monitoring) show exactly how to structure a fitness function. The categorization breakdowns are worth memorizing. - **Pay attention to the "highest environment" discussion (Early, ~25%)**: This is a pragmatic workaround for teams not yet doing continuous deployment—directly applicable if you're in a regulated or legacy environment. - **Skim the maintainability metrics chapter (Late, ~47%+)**: The list of useful metrics (coupling, size, complexity, change history) is valuable as a reference, but you can return to it when you need specific metrics rather than reading it linearly. - **Expect some unevenness**: With 10 contributors, chapters vary in depth and style. If one chapter feels too abstract, skip ahead—the case studies and examples are where the practical value lives. ## 【Coverage Limits】 This guide covers the opening through the middle sections (~47% of the book), including the four key metrics, fitness functions, and their categorization. The later chapters on maintainability metrics, Goal-Question-Metric, and additional case studies are only partially covered based on available excerpts. ##
Excerpt 1
oão Rosa, Alexander von Zitzewitz, Rene Weiss & Eoin Woods SSooffttwwaarree AArrcchhiitteeccttuurree MMeettrriiccss Ciceri, Farley, Ford, Harmel-Law, Kee...
View in text
Page 16
scuss the benefits of architecture that runs in production. Definition and Instrumentation Paradigms are the sources of systems. From them, from shared socia...
View in text
Excerpt 3
in the most fully featured dashboard I’ve ever worked with. It was constructed with Microsoft PowerBI (because the client was all in with Azure DevOps). Afte...
View in text
Excerpt 4
e fitness function in Example 2-5 down into its categories: Breadth of feedback (atomic or holistic): Holistic The measure is a direct measurement of the who...
View in text
Excerpt 5
with one another is low and the modularity is not well done. Unlike cohesion, coupling is measurable. Names If the program units of a system are modular, you...
View in text
Excerpt 6
ent team, meanwhile, doesn’t know how to unblock themselves. They start to deliver features based only on unit/integration testing. After the consultancy com...
View in text
Excerpt 7
direction of the product and how they can contribute to it. Anna presents a potential solution: implementing metrics and clear boundaries in the architecture...
View in text
Excerpt 8
gh-performing teams. However, each team operates in its own context, and there are other relevant metrics that product engineering teams can and should use.
View in text
Tags
AI categories
Software ArchitectureDevOpsTechnology
ISBN: 1098112237
Publisher: O'Reilly Media
Publish Year: 2022
Language: English
Pages: 218
File Format: PDF
File Size: 8.4 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…