Muutke küpsiste eelistusi

Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture [Pehme köide]

  • Formaat: Paperback / softback, 250 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 03-Jun-2022
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1098112237
  • ISBN-13: 9781098112233
Teised raamatud teemal:
  • Pehme köide
  • Hind: 63,19 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 74,34 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 250 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 03-Jun-2022
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1098112237
  • ISBN-13: 9781098112233
Teised raamatud teemal:

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 vii
1 Four Key Metrics Unleashed
1(20)
Definition and Instrumentation
2(1)
Refactoring Your Mental Model
3(1)
Pipelines as Your First Port of Call
4(2)
Locating Your Instrumentation Points
6(4)
Capture and Calculation
10(2)
Display and Understanding
12(1)
Target Audience
13(1)
Visualization
13(4)
Front Page
17(1)
Discussions and Understanding
18(1)
Ownership and Improvement
18(1)
Conclusion
19(2)
2 The Fitness Function Testing Pyramid: An Analogy for Architectural Tests and Metrics
21(22)
Fitness Functions and Metrics
21(2)
Fitness Functions: Test Coverage
23(1)
Fitness Functions: Integration Tests with Network Latency
24(1)
Introduction to Fitness Function Categories
25(1)
Mandatory Fitness Function Categories
25(3)
Optional Fitness Function Categories
28(2)
Fitness Function Categories: Catalog Overview
30(1)
The Testing Pyramid
30(2)
The Fitness Function Testing Pyramid
32(1)
The Top Layer
33(1)
The Middle Layer
34(1)
The Bottom Layer
34(1)
Examples and Their Full Categorization
35(2)
Fully Categorizing Top-Layer Examples
37(2)
Developing Your Fitness Functions and Metrics
39(2)
Conclusion
41(2)
3 Evolutionary Architecture: Guiding Architecture with Testability and Deployability
43(6)
The Importance of Learning and Discovery
44(1)
The Tools of Sustainable Change
44(1)
Testability: Creating High-Quality Systems
45(2)
Deployability: Scaling Development of Our Systems
47(1)
Conclusion
47(2)
4 Improve Your Architecture with the Modularity Maturity Index
49(16)
Technical Debt
49(1)
Origination of Technical Debt
50(2)
Assessment with the MMI
52(1)
Modularity
53(1)
Hierarchy
54(2)
Pattern Consistency
56(1)
Calculating the MMI
57(4)
Architecture Review to Determine the MMI
61(2)
Conclusion
63(2)
5 Private Builds and Metrics: Tools for Surviving DevOps Transitions
65(16)
Key Terms
66(1)
CI/CD
66(1)
DevOps
67(1)
The "Ownership Shift"
68(1)
Empowering the Local Environment Again
69(1)
The Private Build
70(2)
Case Study: The Unstable Trunk
72(1)
Bug A1
72(1)
Bug A2
73(1)
Bug A3
73(1)
Bug A4
73(1)
Case Study: The Blocked Consultant
74(1)
Metrics
75(1)
Time to Feedback
76(1)
Evitable Integration Issues in the Deployed Application per Iteration
76(1)
Time Spent Restoring Trunk Stability per Iteration
77(1)
The Cost of Private Builds
78(1)
Metrics in Practice
78(1)
High Time to Feedback, High Evitable Integration Issues, Low Time to Trunk Stability
78(1)
Low Time to Feedback, High Evitable Integration Issues, Low Time to Trunk Stability
79(1)
High Time to Feedback, Low Evitable Integration Issues, Low Time to Trunk Stability
79(1)
Low Evitable Integration Issues and High Time to Trunk Stability
79(1)
Conclusion
80(1)
6 Scaling an Organization: The Central Role of Software Architecture
81(24)
Your Fin Freedom Breaks the Monolith
83(2)
Implementing a Distributed Big Ball of Mud
85(2)
Seeking Direction
87(1)
From Best Effort to Intentional Effort
88(3)
Increasing Software Architecture Intentionality, Guided by Metrics
91(8)
Managing Expectations with Communication
99(3)
Learning and Evolving the Architecture
102(2)
And What About Anna?
104(1)
Conclusion
104(1)
7 The Role of Measurement in Software Architecture
105(20)
Adding Measurement to Software Architecture
106(2)
Measurement Approaches
108(1)
Runtime Measurement of Applications and Infrastructure
108(1)
Software Analysis
109(1)
Design Analysis
109(1)
Estimates and Models
109(1)
Fitness Functions
110(1)
Measuring System Qualities
110(1)
Performance
111(2)
Scalability
113(1)
Availability
114(2)
Security
116(2)
Getting Started
118(1)
Hypothetical Case Study
119(2)
Pitfalls
121(2)
Conclusion
123(2)
8 Progressing from Metrics to Engineering
125(18)
The Path to Fitness Functions
125(2)
From Metrics to Engineering
127(3)
Automation Operationalizes Metrics
130(2)
Case Study: Coupling
132(4)
Case Study: Zero-Day Security Check
136(2)
Case Study: Fidelity Fitness Functions
138(3)
Conclusion
141(2)
9 Using Software Metrics to Ensure Maintainability
143(28)
The Case for Using Metrics
143(1)
Entropy Kills Software
144(2)
The Toxicity of Cyclic Dependencies
146(1)
How Metrics Can Help
147(1)
Why Are Metrics Not More Widely Used?
148(1)
Tools to Gather Metrics
149(1)
Useful Metrics
150(1)
Metrics to Measure Coupling and Structural Erosion
150(10)
Metrics to Measure Size and Complexity
160(2)
Change History Metrics
162(1)
Other Useful Metrics
163(2)
Architectural Fitness Functions
165(2)
How to Track Metrics over Time
167(1)
A Few Golden Rules for Better Software
168(1)
Conclusion
169(2)
10 Measure the Unknown with the Goal-Question-Metric Approach
171(15)
The Goal-Question-Metric Approach
172(1)
Create a GQM Tree
172(2)
Prioritize Metrics and Devise a Data Collection Strategy
174(3)
Case Study: The Team That Learned to See the Future
177(1)
System Context
177(2)
Incident #1 Too Many Requests to the Foo Service
179(2)
Incident #2 Seeing the Future
181(1)
Reflection
182(1)
Run a GQM Workshop
182(1)
Workshop Summary
182(2)
Workshop Steps
184(1)
Facilitation Guidelines and Hints
185
Conclusion 186(3)
Index 189