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
|