|
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
|