Acknowledgments Preface I
Patterns of Quality 1. What Is Quality? Why Is It Important?
1.1 A Tale of Software Quality 1.2 The Relativity of Quality 1.3 Quality
Is Value to Some Person 1.4 Precision Cribbage 1.5 Why Improving Is So
Difficult 1.6 Software Culture and Subculture 1.7 Helpful Hints and Suggestions
1.8 Summary 1.9 Practice 2. Software Subcultures
2.1 Applying Idea to Software 2.2 Six Software Subcultural Patterns
2.3 Pattern 0: Oblivious 2.4 Pattern 1: Variable 2.5 Pattern 2: Routine
2.6 Pattern 3: Steering 2.7 Pattern 4: Anticipating 2.8 Pattern 5: Congruent
2.9 Helpful Hints and Suggestions 2.10 Summary 2.11 Practice 3.
What Is Needed to Change Patterns? 3.1 Changing Thought
Patterns 3.2 Using Models to Choose A Better Pattern 3.3 Opening Patterns
to Information 3.4 Helpful Hints and Suggestions 3.5 Summary 3.6
Practice II Patterns of Managing 4. Control
Patterns for Management 4.1 Shooting at Moving Target
4.2 Aggregate Control Model 4.3 Patterns and Their Cybernetic Control Models
4.4 Engineering Models 4.5 From Computer Science to Software Engineering
4.6 Helpful Hints and Suggestions 4.7 Summary 4.8 Practice 5.
Making Explicit Management Models 5.1 Why Things Go Awry
5.2 Linear Models and Their Fallacies 5.3 Diagram of Effects 5.4
Developing a Diagram 5.5 Nonlinearity Is The Reason Things Go Awry 5.6
Helpful Hints and Suggestions 5.7 Summary 5.8 Practice 6.
Feedback Effects 6.1 The Humpty Dumpty Syndrome 6.2
Runaway, Explosion, and Collapse 6.3 Act Early, Act Small 6.4 Negative
Feedback - Why Everything Doesn't Collapse 6.5 Helpful Hints and Suggestions
6.6 Summary 6.7 Practice 7. Steering Software
7.1 Methodologies and Feedback Control 7.2 The Human Decision Point
7.3 It's Not the Event That Counts, It's Your Reaction to the Event 7.4 Helpful
Hints and Suggestions 7.5 Summary 7.6 Practice 8.
Failing to Steer 8.1 I'm Just a Victim 8.2 I Don't
Want to Hear Any of That Negative Talk 8.3 I Thought I Was Doing the Right
Thing 8.4 Helpful Hints and Suggestions 8.5 Summary 8.6 Practice III
Demands That Stress Patterns 9. Why It's Always Hard to Steer
9.1 Game of Control 9.2 Size / Complexity Dynamic in Software Engineering
9.3 Helpful Hints and Suggestions 9.4 Summary 9.5 Practice 10.
What Helps to Stay in Control 10.1 Reasoning Graphically
About the Size / Complexity Dynamic 10.2 Comparing Patterns and Technologies
10.3 Helpful Interactions 10.4 Helpful Hints and Suggestions 10.5 Summary
10.6 Practice 11. Responses to Customer Demands
11.1 Customers Can Be Dangerous to Your Health 11.2 The Cast of Outsiders
11.3 Interactions with Customers 11.4 Configuration Support 11.5 Releases
11.6 Helpful Hints and Suggestions 11.7 Summary 11.8 Practice IV
Fault Patterns 12. Observing and Reasoning About Errors
12.1 Conceptual Errors About Errors 12.2 Misclassification of Error Handling
Process 12.3 Observational Errors About Errors 12.4 Helpful Hints and
Suggestions 12.5 Summary 12.6 Practice 13. The Failure
Detection Curve 13.1 The Difference Detection Dynamic
13.2 Living with the Failure Detection Curve 13.3 Helpful Hints and Suggestions
13.4 Summary 13.5 Practice 13.6 Chapter Appendix: Official Differences
Between the Pair Pictures in Figure 13-1 14. Locating the
Faults Behind the Failures 14.1 Dynamics of Fault Location
14.2 Circulation of STI's Before Resolution 14.3 Process Faults: Losing STI's
14.4 Political Time: Status Walls 14.5 Labor Lost: Administrative Burden
14.6 Helpful Hints and Suggestions 14.7 Summary 14.8 Practice 15.
Fault Resolution Dynamics 15.1 Basic Fault Resolution Dynamics
15.2 fault Feedback Dynamics 15.3 Deterioration Dynamics 15.4 Helpful
Hints and Suggestions 15.5 Summary 15.6 Practice V
Pressure Patterns 16. Power, Pressure, and Performance
16.1 The Pressure / Performance Relationship 16.2 Pressure to Find the
Last Fault 16.3 Stress / Control Dynamic 16.4 Forms of Breakdown Under
Pressure 16.5 Management of Pressure 16.6 Helpful Hints and Suggestions
16.7 Summary 16.8 Practice 17. Handling Breakdown Pressures
17.1 Shuffling Work 17.2 Ways of Doing Nothing 17.3 The Boomerang
Effect of Short-Circuiting Procedures 17.4 How Customers Affect Boomerang
17.5 Helpful Hints and Suggestions 17.6 Summary 17.7 Practice 18.
What We've Managed to Accomplish 18.1 Why Systems Thinking?
18.2 Why Manage? 18.3 Estimating Our Accomplishments 18.4 What Each Pattern
Has Contributed 18.5 Meta-Patterns 18.6 Helpful Hints and Suggestions
18.7 Summary 18.8 Practice Notes Listing
of Laws, Rules, and Principles Author Index Subject
Index Return to Book
Page
|