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
|