|
Acknowledgments xv
Permissions Acknowledgments xvii
Foreword xxi
Preface xxiii
Introduction xxix
top
Part 1 1
1: Software Ascents 3
A Historical Perspective 4
Monumental Software Development 5
Accidental Software Development 7
A Rebirth in World View 9
Complex Adaptive Systems 10
A New World View of Software Development 11
The Challenge of Understanding 13
Components of Adaptive Software Development 14
The Adaptive Conceptual Model 15
The Adaptive Development Model 17
Thriving on Speed and Change 18
The Adaptive (LeadershipCollaboration) Management
Model 20
Integrating the Models 22
The Road Ahead 23
Summary 24
top
2: Thriving at the Edge of Chaos 27
People as Agents 29
Emergence and the Flocking of Boids 31
Characteristics of Complex Adaptive Systems
33
Orderly, Chaotic, and Complex Realms 35
The Adaptive Development Model 37
The Evolution of Software Life Cycles 38
SpeculateCollaborateLearn 41
Speculate 42
Speculating on a Mission 44
Collaborate 45
Learn 45
Working in a Complex Environment 46
Summary 49
top
Part 2 51
3: The Project Mission 53
Identify the Mission 55
A Need to Focus 57
A Need to De-Focus 58
Create Mission Artifacts 59
The Project Vision (Charter) 62
The Project Data Sheet 65
The Product Mission Profile 66
The Product Specification Outline 69
Share Mission Values 71
Quality 74
Evaluate the Mission Every Day 77
Focus on Results 77
Summary 79
top
4: Planning Adaptive Development Cycles
81
Characteristics of Adaptive Cycles 83
Adaptive Cycles Are Mission-Driven 84
Adaptive Cycles Are Component-Based 84
Adaptive Cycles Are Iterative 85
Adaptive Cycles Are Time-Boxed 88
Adaptive Cycles Are Risk-Driven and Change-Tolerant
89
Adaptive Planning Techniques 90
Defining Versions, Cycles, and Builds 91
Cycle Planning Steps 91
Step 1: Conduct the
Project Initiation Phase 93
Step 2: Determine the Project Time-Box 94
Step 3: Determine the Optimal Number of Cycles
and the Time-Box for Each 94
Step 4: Write an Objective Statement for Each
Cycle 96
Step 5: Assign Primary Components to Cycles
97
Step 6: Assign Technology and Support Components
to Cycles 98
Step 7: Develop a Project Task List 99
Cycle Reviews 100
Cycle Replanning 103
A Hypothetical Cycle Example 103
Cycle 1: Demonstrate Project Viability 104
Primary Components
105
Technology Components 106
Support Components 107
Cycle 2: Explore the Features 107
Primary Components
108
Support Components 108
Cycle 3: Refine Features and Insure Performance
109
Cycle 4: Finalize All Product Components 109
The Evolving World of Components 110
Summary 111
top
5: Great Groups and the Ability to
Collaborate 113
Barriers to Collaboration 115
The Essence of Great Groups 117
Using Complexity Concepts to Improve Collaboration
120
Control Parameters 121
The Management Challenge 126
Building Collaborative Groups 126
The Groan Zone 127
Core Values 129
Collaboration's Pitfalls 132
Rancorous Collaboration 134
Joint Application Development 135
Facilitation 136
JAD Roles 137
Techniques for Successful JADs 139
Prepare 139
Conduct the Session 140
Produce the Documents 140
Stable Change 140
Summary 141
top
6: Learning: Models, Techniques, and
Cycle Review Practices 143
What Is "Learning"? 144
Senge's Learning Model 147
A CAS Learning Model 149
Innovation and Change 151
Learning Techniques 154
Customer Focus-Group Reviews 156
A Partnership with Customers 157
Objectives of CFG Reviews 160
Preparing for the CFG Session 163
Preparation Tips 163
Conducting the CFG Session 164
Conducting Tips 165
Evaluating Focus-Group Results 166
Software Inspections 167
Preparing for the Inspection 169
Conducting the Inspection 170
Inspection Tips 170
Evaluating Inspection Results 170
Project Postmortems 171
Preparing for the Postmortem 172
Conducting the Postmortem Session 173
Evaluating Postmortem Results 174
Summary 174
top
Part 3 177
7: Why Even Good Managers Cause Projects to
Fail 179
Disruptive Technologies 180
High Change 182
No Silver Bullet 185
Are Organizations True Complex Adaptive Systems?
188
Requisite Variety 190
Project Ecosystems 190
Value Disciplines 191
Tornado Marketing 193
The Technology Adoption
Life Cycle 194
The Chasm 196
Implications 197
Simplicity and Complexity 199
Summary 200
top
8: Adaptive Management 202
The Adaptive (LeadershipCollaboration)
Management Model 205
Leadership 209
Collaboration 211
Accountability 212
Creating an Adaptive Culture 213
Distributed Governance 214
Poise 216
Compromise 217
Managing the Emotional Roller Coaster 219
Holding Anxiety 221
Accidental Success 222
Balance 223
The Progression from Process to Pattern 223
A Process Classification 225
Rigorous Processes
227
Flexible Processes 228
Problem-Solving Processes 229
Patterns 229
Poised at the Edge of Chaos 232
Summary 233
top
9: Workstate Life Cycle Management
235
Breaking the Workflow Mindset 239
The Workstate of a Component 241
Using Partial Information 241
Component Life Cycles 245
Component Types and States 249
1. Outline (Conceptual)
State 249
2. Detail (Model) State 249
3. Reviewed (Revised) State 250
4. Approved (Available) State 250
Constructing an Advanced Adaptive Life Cycle
250
Cycles (Phases) 252
Milestones (Gates) 254
Managing Component Rigor 255
Increase Component Rigor 256
Increase Emphasis on Dependencies 257
Refine State Transitions 258
Managing Workflow in an Adaptive Environment
258
Summary 259
top
10: Structural Collaboration 261
The Critical Distinction Between Content and
Context 264
Collaboration Services and Tools 268
Large Projects and Virtual Teams 268
Nodes and Links 271
Organic Growth 273
Push and Pull 275
Who and What 275
Collaboration Tools 276
The Collaboration Facilitator 280
Collaboration and Emergence 281
The Boundaries of Self-Organization 283
Order for Free 284
Tuning Collaboration Networks 286
Why Optimization Stifles Emergence 287
Eight Guidelines for Applying Rigor to Project
Work 289
Summary 292
top
11: Managing Project Time Cycles 294
A Project Management Model 295
Initiate the Project 296
Identify the Project Team 298
Create the Project Mission Data 299
Define the Project Approach 300
Increase Speed by Starting Early 301
Plan the Project 301
Time-Boxing Projects 303
Staff Fragmentation 305
Define the Work 307
Develop the Project Schedule 307
Analyze the Resource Requirements 308
Assess Project Risk 309
Manage the Project 311
Persisting 311
Monitoring Progress 312
Finishing Strong 315
Containing Change 316
Bounding Change 317
Ignoring Change 317
Postponing Change 318
Filtering Change 318
Replanning Based on Change 318
Buffering the Project Schedule 319
Close the Project 319
Summary 319
top
12: Dawdling, McLuhan, and Thin Air
321
Dawdling 322
McLuhan 323
What Does Adaptive Software Development Enhance?
323
What Does Adaptive Software Development Make Obsolete?
324
What Does Adaptive Software Development Bring
Back? 325
What Does Adaptive Software Development Flip Into?
325
Organizational Growth 326
Surviving in Thin Air 331
top
Bibliography 333
Index 349
Go to the
Book Page
|