Preface xxi I Modeling How Change
Really Happens 1 1 Some Familiar Change Models 3
1.1 The Diffusion Model ..4 1.2 The Hole-in-the-Floor Model ..5 1.3
The Newtonian Model ..9 1.4 The Learning Curve Model 13 1.5 Helpful Hints
and Suggestions 14 1.6 Summary 15 1.7 Practice 17 2
The Satir Change Model 19 2.1 Overview of the Model 19
2.2 Stage 1: Late Status Quo 21 2.3 Stage 2: Chaos 24 2.4 Stage 3: Integration
and Practice 26 2.5 Stage 4: New Status Quo 28 2.6 Helpful Hints and Suggestions
29 2.7 Summary 32 2.8 Practice 34 3 Responses to
Change 37 3.1 Choice Points 37 3.2 Timing Change Interventions
with McLyman's Zone Theory 42 3.3 Patterns of Information Flow 45 3.4
Meta-change 47 3.5 Change in the Anticipating Organization 48 3.6 Helpful
Hints and Suggestions 49 3.7 Summary 51 3.8 Practice 53 II
Change Artistry in the Anticipating Organization 55 4 Change Artistry
57 4.1 Personal Responses to Change 58 4.2 Case Study:
Changing Geography 61 4.3 Case Study: Patching 63 4.4 Case Study: Knowing
What to Leave Alone 64 4.5 Helpful Hints and Suggestions 65 4.6 Summary
66 4.7 Practice 68 5 Keeping Most Things the Same 70
5.1 What Are You Maintaining? 70 5.2 Exposing the Theory in Use 74
5.3 Deterioration 75 5.4 Design Maintenance Debt 76 5.5 Change Artistry
Debt 78 5.6 Destroying Change Artistry 79 5.7 Simple Rules for Managers
81 5.8 Helpful Hints and Suggestions 81 5.9 Summary 82 5.10 Practice
84 6 Practicing to Become a Change Artist 86
6.1 Going to Work 86 6.2 Making One Small Change 88 6.3 Changing Nothing
90 6.4 Changing a Relationship 91 6.5 Being the Catalyst 93 6.6 Being
Fully Present 95 6.7 Being Fully Absent 97 6.8 Applying the Principle
of Addition 98 6.9 Organizing the Grand Tour 100 6.10 Learning from History
101 6.11 Putting Theory into Practice 102 6.12 Developing Yourself 104 III
Planning for the Future Organization 105 7 Meta-planning, Part I:
Information 107 7.1 Start by Meta-planning 108 7.2
Information Gathering 112 7.3 Mechanics 121 7.4 Helpful Hints and Suggestions
122 7.5 Summary 123 7.6 Practice 125 8 Meta-planning,
Part II: Systems Thinking 127 8.1 Problem Solving 128
8.2 Growth and Size 131 8.3 Risk and Reward 136 8.4 Trust 140 8.5
Moving Off a Dead Stop 141 8.6 Helpful Hints and Suggestions 144 8.7 Summary
146 8.8 Practice 149 9 Tactical Change Planning 150
9.1 What Is Tactical Change Planning? 151 9.2 Open-Ended Change Planning
152 9.3 Plans Are Made Backward 153 9.4 Choosing a New, Realistic Goal
155 9.5 Congruence from Start to Finish 158 9.6 Selecting and Testing
a Goal 159 9.7 What Stands in the Way of Achieving the Goal? 163 9.8 Models
for Planning in the Face of Unpredictability 165 9.9 The Feedback Plan 169
9.10 Helpful Hints and Suggestions 171 9.11 Summary 172 9.12 Practice
173 10 Planning Like a Software Engineer 175
10.1 What Engineering Control Means 176 10.2 The Fundamental Graph of Engineering
Management Action 183 10.3 Levels of Control 184 10.4 Helpful Hints and
Suggestions 188 10.5 Summary 190 10.6 Practice 191 IV
What Changes Have to Happen 193 11 Components of Stable Software
Engineering 195 11.1 Why Software Isn't Different 196
11.2 Why Software Costs So Much 197 11.3 Where Improvement Can Be Found 200
11.4 Why Software Projects Fail 201 11.5 Information Failures 202 11.6
Evolving Solutions to Information Failures 204 11.7 Action Failures 208
11.8 Helpful Hints and Suggestions 209 11.9 Summary 210 11.10 Practice
211 12 Process Principles 213 12.1
The Millionaire Test 214 12.2 The Stability Principle 216 12.3 The Visibility
Principle 218 12.4 The Measurability Principle 221 12.5 The Product Principle
223 12.6 Helpful Hints and Suggestions 225 12.7 Summary 226 12.8 Practice
227 13 Culture and Process 229 13.1
The Culture/Process Principle 230 13.2 Examples of the Interaction of Culture
and Process 231 13.3 Three Meanings of Process 235 13.4 What Creates the
Culture? 239 13.5 Helpful Hints and Suggestions 239 13.6 Summary 241
13.7 Practice 243 14 Improving Process 245
14.1 Three Levels of Process Improvement 246 14.2 An Example of Process
Improvement 246 14.3 Seeing the Invisible 251 14.4 Preventing Future Occurrences
252 14.5 Lessons 252 14.6 Sure, But We're Different 253 14.7 But It
Costs Too Much 255 14.8 Helpful Hints and Suggestions 257 14.9 Summary
258 14.10 Practice 260 15 Requirements Principles and
Processes 261 15.1 The Assumption of Fixed Requirements
261 15.2 The Zeroth Law of Software Quality 264 15.3 Process Models of
Requirements 265 15.4 The Twin Processes 268 15.5 Upward Flow of Requirements
269 15.6 Management's Attitude Toward the Requirements Process 271 15.7
Helpful Hints and Suggestions 272 15.8 Summary 273 15.9 Practice 275 16
Changing the Requirements Process 276 16.1 Measure the
True Cost and Value of Requirements 277 16.2 Gain Control of the Requirements
Inputs 280 16.3 Gain Control of the Requirements Outputs 286 16.4 Gain
Control of the Requirements Process Itself 288 16.5 Helpful Hints and Suggestions
292 16.6 Summary 293 16.7 Practice 296 17 Starting
Projects Correctly 297 17.1 Project Prerequisites 297
17.2 Desired Results 300 17.3 Guidelines 302 17.4 Resources 303 17.5
Accountability 305 17.6 Consequences 307 17.7 Helpful Hints and Suggestions
310 17.8 Summary 312 17.9 Practice 314 18 Sustaining
Projects Correctly 315 18.1 The Waterfall Model 316
18.2 The Cascade Model 317 18.3 Iterative Enhancement 319 18.4 Reusable
Code 320 18.5 Prototyping 322 18.6 Replanning 324 18.7 Helpful Hints
and Suggestions 328 18.8 Summary 331 18.9 Practice 333 19
Terminating Projects Properly 335 19.1 Testing 336
19.2 Testing versus Hacking 339 19.3 Ways to Know When a Project Is Failing
344 19.4 Rebirthing a Project 348 19.5 Helpful Hints and Suggestions 349
19.6 Summary 351 19.7 Practice 353 20 Building Faster
by Building Smaller 355 20.1 What Does Smaller Mean? 356
20.2 Reduce the Scope of the Specification 358 20.3 Eliminate the Worst Part
359 20.4 Eliminate As Early As Possible 363 20.5 Manage Late-Arriving
Requirements 365 20.6 Helpful Hints and Suggestions 368 20.7 Summary 369
20.8 Practice 372 21 Protecting Information Assets 373
21.1 Code Libraries 376 21.2 Data Dictionaries 376 21.3 Standards 378
21.4 Designs 379 21.5 Test Libraries and Histories 380 21.6 Other Documents
382 21.7 Improving Asset Protection 382 21.8 Helpful Hints and Suggestions
385 21.9 Summary 386 21.10 Practice 389 22 Managing
Design 390 22.1 The Life Cycle of a Design Innovation 391
22.2 Design Dynamics 392 22.3 The Sir Edmund Hillary School 397 22.4 The
Frank Lloyd Wright Syndrome 397 22.5 The Ted Williams Theory 398 22.6
Too Many Cooks 401 22.7 Oops! 402 22.8 Helpful Hints and Suggestions 403
22.9 Summary 403 22.10 Practice 406 23 Introducing Technology
407 23.1 Surveying the Tool Culture 408 23.2 Technology
and Culture 409 23.3 The Laws of Technology Transfer 413 23.4 From Crisis
to Calm Configuration Control 415 23.5 The Ten Commandments of Technology
Transfer 418 23.6 The Eleventh Commandment 423 23.7 Helpful Hints and
Suggestions 423 23.8 Summary 424 23.9 Practice 427 V
Epilogue 429 Appendix A: Diagram of Effects 433 Appendix B: Satir
Interaction Model 436 Appendix C: Software Engineering Cultural Patterns 437
Appendix D: Control Models 444 Appendix E: Three Observer Positions 449
Appendix F: The MBTI and Temperaments 451 Notes 457 Listing
of Laws, Rules, and Principles 470 Author Index 473 Subject
Index 475
Back to the Book Page
|