You are previewing Adaptive Software Development: A Collaborative Approach to Managing Complex Systems.
O'Reilly logo
Adaptive Software Development: A Collaborative Approach to Managing Complex Systems

Book Description

This is the digital version of the printed book (Copyright © 2000).

Winner of the 2001 Software Development Jolt Product Excellence Award

This innovative text offers a practical, realistic approach to managing high-speed, high-change software development projects. Consultant James A. Highsmith shows readers how to increase collaboration and adapt to uncertainty.

Many organizations start high-speed, high-change projects without knowing how to do them–and even worse, without knowing they don’t know. Successful completion of these projects is often at the expense of the project team.

Adaptive Software Development emphasizes an adaptive, collaborative approach to software development. The concepts allow developers to “scale-up” rapid application development and extreme programming approaches for use on larger, more complex projects.

The four goals of the book are to 

  • support an adaptive culture or mindset, in which change and uncertainty are assumed to be the natural state–not a false expectation of order

  • introduce frameworks to guide the iterative process of managing change

  • institute collaboration, the interaction of people on three levels: interpersonal, cultural, and structural

  • add rigor and discipline to the RAD approach, making it scalable to the uncertainty and complexity of real-life undertakings

Table of Contents

  1. About This eBook
  2. Title Page
  3. Copyright Page
  4. Also Available from DORSET HOUSE PUBLISHING CO.
  5. Dedication
  6. Contents
  7. Acknowledgments
  8. Permissions Acknowledgments
  9. Foreword
  10. Preface
    1. Goals of the Book
  11. Introduction
  12. Part 1
    1. Chapter 1. Software Ascents
      1. A Historical Perspective
      2. A Rebirth in World View
      3. Components of Adaptive Software Development
      4. The Road Ahead
      5. Summary
    2. Chapter 2. Thriving at the Edge of Chaos
      1. People as Agents
      2. Emergence and the Flocking of Boids
      3. The Adaptive Development Model
      4. Speculate
      5. Collaborate
      6. Learn
      7. Working in a Complex Environment
      8. Summary
  13. Part 2
    1. Chapter 3. The Project Mission
      1. Identify the Mission
      2. Create Mission Artifacts
      3. Share Mission Values
      4. Focus on Results
      5. Summary
    2. Chapter 4. Planning Adaptive Development Cycles
      1. Characteristics of Adaptive Cycles
      2. Adaptive Planning Techniques
      3. A Hypothetical Cycle Example
      4. The Evolving World of Components
      5. Summary
    3. Chapter 5. Great Groups and the Ability to Collaborate
      1. Barriers to Collaboration
      2. The Essence of Great Groups
      3. Using Complexity Concepts to Improve Collaboration
      4. Building Collaborative Groups
      5. Joint Application Development
      6. Stable Change
      7. Summary
    4. Chapter 6. Learning: Models, Techniques, and Cycle Review Practices
      1. What Is “Learning”?
      2. Senge’s Learning Model
      3. A CAS Learning Model
      4. Learning Techniques
      5. Customer Focus-Group Reviews
      6. Software Inspections
      7. Project Postmortems
      8. Summary
  14. Part 3
    1. Chapter 7. Why Even Good Managers Cause Projects to Fail
      1. Disruptive Technologies
      2. High Change
      3. No Silver Bullet
      4. Are Organizations True Complex Adaptive Systems?
      5. Requisite Variety
      6. Project Ecosystems
      7. Simplicity and Complexity
      8. Summary
    2. Chapter 8. Adaptive Management
      1. The Adaptive (Leadership-Collaboration) Management Model
      2. Creating an Adaptive Culture
      3. The Progression from Process to Pattern
      4. Poised at the Edge of Chaos
      5. Summary
    3. Chapter 9. Workstate Life Cycle Management
      1. Breaking the Workflow Mindset
      2. The Workstate of a Component
      3. Constructing an Advanced Adaptive Life Cycle
      4. Managing Component Rigor
      5. Managing Workflow in an Adaptive Environment
      6. Summary
    4. Chapter 10. Structural Collaboration
      1. The Critical Distinction Between Content and Context
      2. Collaboration Services and Tools
      3. Collaboration and Emergence
      4. Eight Guidelines for Applying Rigor to Project Work
      5. Summary
    5. Chapter 11. Managing Project Time Cycles
      1. A Project Management Model
      2. Initiate the Project
      3. Plan the Project
      4. Manage the Project
      5. Close the Project
      6. Summary
    6. Chapter 12. Dawdling, McLuhan, and Thin Air
      1. Dawdling
      2. McLuhan
      3. Organizational Growth
      4. Surviving in Thin Air
  15. Bibliography
  16. Index