Balancing Agility and Discipline: A Guide for the Perplexed

Agility and discipline: These apparently opposite attributes are, in fact, complementary values in software development. Plan-driven developers must also be agile; nimble developers must also be disciplined. The key to success is finding the right balance between the two, which will vary from project to project according to the circumstances and risks involved. Developers, pulled toward opposite ends by impassioned arguments, ultimately must learn how to give each value its due in their particular situations.

Balancing Agility and Discipline sweeps aside the rhetoric, drills down to the operational core concepts, and presents a constructive approach to defining a balanced software development strategy. The authors expose the bureaucracy and stagnation that mark discipline without agility, and liken agility without discipline to unbridled and fruitless enthusiasm. Using a day in the life of two development teams and ground-breaking case studies, they illustrate the differences and similarities between agile and plan-driven methods, and show that the best development strategies have ways to combine both attributes. Their analysis is both objective and grounded, leading finally to clear and practical guidance for all software professionals--showing how to locate the sweet spot on the agility-discipline continuum for any given project.

1110946875
Balancing Agility and Discipline: A Guide for the Perplexed

Agility and discipline: These apparently opposite attributes are, in fact, complementary values in software development. Plan-driven developers must also be agile; nimble developers must also be disciplined. The key to success is finding the right balance between the two, which will vary from project to project according to the circumstances and risks involved. Developers, pulled toward opposite ends by impassioned arguments, ultimately must learn how to give each value its due in their particular situations.

Balancing Agility and Discipline sweeps aside the rhetoric, drills down to the operational core concepts, and presents a constructive approach to defining a balanced software development strategy. The authors expose the bureaucracy and stagnation that mark discipline without agility, and liken agility without discipline to unbridled and fruitless enthusiasm. Using a day in the life of two development teams and ground-breaking case studies, they illustrate the differences and similarities between agile and plan-driven methods, and show that the best development strategies have ways to combine both attributes. Their analysis is both objective and grounded, leading finally to clear and practical guidance for all software professionals--showing how to locate the sweet spot on the agility-discipline continuum for any given project.

42.99 In Stock
Balancing Agility and Discipline: A Guide for the Perplexed

Balancing Agility and Discipline: A Guide for the Perplexed

Balancing Agility and Discipline: A Guide for the Perplexed

Balancing Agility and Discipline: A Guide for the Perplexed

eBook

$42.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

Agility and discipline: These apparently opposite attributes are, in fact, complementary values in software development. Plan-driven developers must also be agile; nimble developers must also be disciplined. The key to success is finding the right balance between the two, which will vary from project to project according to the circumstances and risks involved. Developers, pulled toward opposite ends by impassioned arguments, ultimately must learn how to give each value its due in their particular situations.

Balancing Agility and Discipline sweeps aside the rhetoric, drills down to the operational core concepts, and presents a constructive approach to defining a balanced software development strategy. The authors expose the bureaucracy and stagnation that mark discipline without agility, and liken agility without discipline to unbridled and fruitless enthusiasm. Using a day in the life of two development teams and ground-breaking case studies, they illustrate the differences and similarities between agile and plan-driven methods, and show that the best development strategies have ways to combine both attributes. Their analysis is both objective and grounded, leading finally to clear and practical guidance for all software professionals--showing how to locate the sweet spot on the agility-discipline continuum for any given project.


Product Details

ISBN-13: 9780321623881
Publisher: Pearson Education
Publication date: 08/11/2003
Sold by: Barnes & Noble
Format: eBook
Pages: 304
File size: 5 MB
Age Range: 18 Years

About the Author

Barry Boehm has been trying to balance agility and discipline in software development since 1955. The TRW professor of software engineering and director of the USC Center for Software Engineering, he earlier served as director of the DARPA Information Science and Technology Office and as a chief scientist at TRW. Dr. Boehm's contributions to the field include the Constructive Cost Model (COCOMO), the Spiral Model of the software process, the Theory W (win-win) approach to software management and requirements determination, and his classic book, Software Engineering Economics (Prentice Hall, 1981).

Richard Turner, a research professor in engineering management and systems engineering at the George Washington University, approaches balanced software development and acquisition with broad industry and government experience and a skeptical attitude toward best practices. In support of the U.S. Department of Defense, he is responsible for identifying and transitioning new software technology into the development and acquisition of complex, software-intensive defense systems. Dr. Turner was on the original author team for Capability Maturity Model Integration (CMMI) and is coauthor off CMMI Distilled, Second Edition (Addison-Wesley, 2004).



Read an Excerpt

Why We Wrote This BookTrue believers represent software development alternatives

In the last few years, two ostensibly conflicting approaches to software development have competed for hegemony. Agile method supporters released a manifesto that shifts the focus from traditional plan-driven, process-based methods to lighter, more adaptive paradigms. Traditional methods have reasserted the need for strong process discipline and rigorous practices. True believers on both sides have raised strident, often antagonistic, voices.

This book is for the rest of us

We wrote this book for the rest of us—those caught in the middle of the method wars simply trying to get our projects completed and accepted within too-tight schedules and budgets. We hope to clarify the perplexity about the roles of discipline, agility, and process in software development. We objectively compare and contrast the traditional, plan-driven approaches to the newer, agile approaches and present an overview of their home grounds, strengths, and weaknesses. We then describe a risk-based approach to aid in balancing agility and discipline within a software development project.

Our goal is to help you in your business environment

We hope that this is a practical book. It is intended to be neither academic nor exhaustive, but pragmatic. It is based on our own development experiences, current and past literature, long conversations with proponents of agile and plan-driven approaches, teaching students how to balance discipline and agility, and years of observing and measuring software development in industry, government, and academia. We discuss the subjectmatter absent a need to choose sides. Our goal is to help you gain the understanding and information you need to integrate the approaches in a manner that best fits your business environment. Who Should Read This Book The perplexed—or just curious

This book is for perplexed software and management professionals who have heard the buzz about agile methods and want to separate the chaff from the wheat. Perhaps you have a CMM- or ISO-certified organization and want to know if and how agile methods can help you. Or perhaps some part of your organization has adopted agile methods and you are unsure of how they should fit in. Fundamentally, if you need to understand how the latest software development approaches can help meet business goals, this book is for you.

    Software project managers and mid-level executives should read this book to understand the agility/plan-driven controversy and learn how best to apply the new approaches in your organizations.

    Software developers should read this book to better understand how your field is evolving and what it means for your career.

    Computer science and software engineering students should read this book to better understand how to make choices about your own level of discipline, both in school and at work.

    Academicians should read this book to understand some of what your students are asking about, and how to help them make informed decisions.

    Proponents of both agile and plan-driven methods should read this book to dispassionately look at your opponent's ideas.

    CIOs and CEOs should read this book to help you understand what's going on in the software world and what implications it may have for your company.
How To Read This Book Several ways to read the book

Most of you are busy people, and "must-read" material attacks you from all sides, 24/7. Some of you want to quickly assess the material for later reflection. Others want to know how to implement the concepts we present. For that reason, we've tried to make this book easy to read quickly but with pointers to more in-depth material.

In a hurry? Use the fast track for a quick overview

If time is short, use the fast track summaries to scan the total content of the book, stopping to read things you find interesting or particularly applicable to your needs, and following the icons for specific technical information. If you find you need even more detailed material, there are references as well as a list of additional resources in Appendix F.

First and last chapters are key

You can also tailor your reading through chapter selection. Reading the first and last chapters gives a pretty good idea of the material at a familiarization level. You can read the chapters in any order. Here is a quick summary:

    The first chapter sets the stage for what follows. It introduces the main points and provides an executive summary of the book.

    Chapter 2 compares the agile and plan-driven approaches and provides insight into the type of projects where each has been most successful—their home grounds.

    Chapter 3 provides an experiential introduction to the approaches by describing how both a typical and not-so-typical day might be spent using each.

    Chapter 4 presents two project case studies that illustrate the limits of pure agile and pure plan-driven implementations and the benefits of integrating the approaches.

    Chapter 5 describes a risk-based approach for making methodology decisions that integrate agile and plan-driven practices, and illustrates it with representative examples.

    Chapter 6 summarizes the material and offers some final observations.

    Appendix A provides top-level descriptions of the major agile and plan-driven methods, highlighting their primary distinguishing factors, and a summary of those factors for comparison.

    Appendices B-E provide technical and background information to support our analyses and speak to specific technical topics.

    Appendix F supplies references and the endnotes are listed by chapter in Appendix G.

Table of Contents



Foreword by Grady Booch.


Foreword by Alistair Cockburn.


Foreword by Arthur Pyster.


Preface.


Acknowledgments.


Prelude.


1. Discipline, Agility, and Perplexity.

The Sources of Perplexity.

Multiple Definitions.

Distinguishing Method Use from Method Misuse.

Overgeneralization Based on the Most Visible Instances.

Claims of Universality.

Early Success Stories.

Purist Interpretations.

Clarifying Perplexity.

The Two Approaches.

Plan-Driven Methods.

Agile Methods.

Finding Middle Ground.



2. Contrasts and Home Grounds.

Application Characteristics.

Primary Goals.

Size.

Environment.

Management Characteristics.

Customer Relations.

Planning and Control.

Project Communication.

Technical Characteristics.

Requirements.

Development.

Testing.

Personnel Characteristics.

Customers.

Developers.

Culture.

Summary.

Home Grounds.

Misconceptions.

Five Critical Factors.



3. A Day in the Life.

Typical Days.

A Typical Day Using PSP/TSP.

A Typical Day Using Extreme Programming.

Crisis Days.

A Crisis Day with TSP/PSP.

A Crisis Day with XP.

Summary.

Differences.

Similarities.

Observations.



4. Expanding the Home Grounds: Two Case Studies.

Using Plans to Scale Up Agile Methods: Lease Management Example.

Assumption 1: The Effort to Develop or Modify a Story Does Not Increase with Time and Story Number.

Assumption 2: Trusting People to Get Everything Done on Time Is Compatible with Fixed Schedules and Diseconomies of Scale.

Assumption 3: Simple Design and YAGNI Scale Up Easily to Large Projects.

Agile Methods Scaleup: Summing Up.

Using Agility to Streamline Plan-Driven Methods: USAF/TRW CCPDS-R Example.

Individuals and Interactions over Processes and Tools: CCPDS-R.

Working Software over Comprehensive Documentation: CCPDS-R.

Customer Collaboration over Contract Negotiation: CCPDS-R.

Responding to Change over Following a Plan: CCPDS-R.

Summary.



5. Using Risk to Balance Agility and Discipline.

An Overview of the Method.

An Example Family of Applications: Agent-Based Planning Systems.

An Intermediate Application: Supply Chain Management.

Step 1: SupplyChain.com Project Risk Ratings.

Step 2: Compare the Agile and Plan-Driven Risks.

Step 4a: Individual Risk Resolution Strategies.

Step 4b: Risk-Based Strategy for SupplyChain.com System Development.

Small Application: Event Planning.

Step 1: Event Planning Project Risk Ratings.

Step 2: Compare the Agile and Plan-Driven Risks.

Steps 4a, 4b: Risk-Based Strategy for Event Planning System Development.

Very Large Application: National Information System for Crisis Management (NISCM).

Step1: NISCM Project Risk Ratings.

Step 2: Compare the Agile and Plan-Driven Risks.

Steps 3 and 4: Risk-Based Strategy for NISCM System Development.

Summary.



6. Conclusions.

The Top Six Conclusions.

No Agile or Plan-Driven Method Silver Bullet.

Agile and Plan-Driven Method Home Grounds.

Future Applications Will Need Both Agility and Discipline.

Balanced Agility-Discipline Methods Are Emerging.

Build Your Method UpÑDonÕt Tailor It Down.

Focus Less on MethodsÑMore on People, Values, Communication, and Expectations Management.

What Can You Do Next about Balancing Agility and Discipline?

Steps toward Balancing Software Development Agility and Discipline.

Afterword.



Appendix A. Comparing the Methods.

Scrum.

Thumbnail Sketch.

Comments.

References.

Adaptive Software Development (ASD).

Thumbnail Sketch.

Comments.

References.

Lean Development (LD).

Thumbnail Sketch.

Comments.

References.

Crystal.

Thumbnail Sketch.

Comments.

References.

eXtreme Programming (XP).

Thumbnail Sketch.

Comments.

Reference.

Dynamic Systems Development Method (DSDM).

Thumbnail Sketch.

Comments.

References.

Rational Unified Process (RUP).

Thumbnail Sketch.

Comments.

References.

Team Software Process (TSP).

Thumbnail Sketch.

Comments.

References.

Feature-Driven Development (FDD).

Thumbnail Sketch.

Comments.

References.

Capability Maturity Model Integration (CMMI).

Thumbnail Sketch.

Comments.

References.

Capability Maturity Model for Software (SW-CMM).

Thumbnail Sketch.

Comments.

References.

Personal Software Process (PSP).

Thumbnail Sketch.

Comments.

References.

Cleanroom.

Thumbnail Sketch.

Comments.

References.

Method Comparison Table.



Appendix B. Manifesto for Agile Software Development.

Principles behind the Agile Manifesto.



Appendix C. Capability Maturity Models.

A Short History of CMMs.

CMM Concepts.

Using Models to Improve Processes.



Appendix D. Tools for Balancing.

D1. The Spiral Model Anchor Point Milestones.

D2. Benefits Realization Analysis and the DMR Results Chain.

Benefits Realized.

Results Chain.

D3. Schedule as an Independent Variable.

Shared Vision and Expectations Management.

Feature Prioritization.

Schedule Range Estimation.

Architecture and Core Capability Determination.

Incremental Development.

Change and Progress Monitoring and Control.



Appendix E. Empirical Information.

E1. The Cost of Change: Empirical Findings.

E2. How Much Architecting Is Enough? A COCOMO II Analysis.

E3. Experiments and Studies of Agile and Plan-Driven Methods.

Overall Distribution of Project Size.

Process Improvement.

Team Software Process and Agile Methods.

Pair Programming.

Hybrid Agile/Plan-Driven Methods.



Notes.


References.


Index.

Preface

Why We Wrote This Book

True believers represent software development alternatives

In the last few years, two ostensibly conflicting approaches to software development have competed for hegemony. Agile method supporters released a manifesto that shifts the focus from traditional plan-driven, process-based methods to lighter, more adaptive paradigms. Traditional methods have reasserted the need for strong process discipline and rigorous practices. True believers on both sides have raised strident, often antagonistic, voices.

This book is for the rest of us

We wrote this book for the rest of us—those caught in the middle of the method wars simply trying to get our projects completed and accepted within too-tight schedules and budgets. We hope to clarify the perplexity about the roles of discipline, agility, and process in software development. We objectively compare and contrast the traditional, plan-driven approaches to the newer, agile approaches and present an overview of their home grounds, strengths, and weaknesses. We then describe a risk-based approach to aid in balancing agility and discipline within a software development project.

Our goal is to help you in your business environment

We hope that this is a practical book. It is intended to be neither academic nor exhaustive, but pragmatic. It is based on our own development experiences, current and past literature, long conversations with proponents of agile and plan-driven approaches, teaching students how to balance discipline and agility, and years of observing and measuring software development in industry, government, and academia. We discuss the subjectmatter absent a need to choose sides. Our goal is to help you gain the understanding and information you need to integrate the approaches in a manner that best fits your business environment.

Who Should Read This Book

The perplexed—or just curious

This book is for perplexed software and management professionals who have heard the buzz about agile methods and want to separate the chaff from the wheat. Perhaps you have a CMM- or ISO-certified organization and want to know if and how agile methods can help you. Or perhaps some part of your organization has adopted agile methods and you are unsure of how they should fit in. Fundamentally, if you need to understand how the latest software development approaches can help meet business goals, this book is for you.

    Software project managers and mid-level executives should read this book to understand the agility/plan-driven controversy and learn how best to apply the new approaches in your organizations.

    Software developers should read this book to better understand how your field is evolving and what it means for your career.

    Computer science and software engineering students should read this book to better understand how to make choices about your own level of discipline, both in school and at work.

    Academicians should read this book to understand some of what your students are asking about, and how to help them make informed decisions.

    Proponents of both agile and plan-driven methods should read this book to dispassionately look at your opponent's ideas.

    CIOs and CEOs should read this book to help you understand what's going on in the software world and what implications it may have for your company.

How To Read This Book

Several ways to read the book

Most of you are busy people, and "must-read" material attacks you from all sides, 24/7. Some of you want to quickly assess the material for later reflection. Others want to know how to implement the concepts we present. For that reason, we've tried to make this book easy to read quickly but with pointers to more in-depth material.

In a hurry? Use the fast track for a quick overview

If time is short, use the fast track summaries to scan the total content of the book, stopping to read things you find interesting or particularly applicable to your needs, and following the icons for specific technical information. If you find you need even more detailed material, there are references as well as a list of additional resources in Appendix F.

First and last chapters are key

You can also tailor your reading through chapter selection. Reading the first and last chapters gives a pretty good idea of the material at a familiarization level. You can read the chapters in any order. Here is a quick summary:

    The first chapter sets the stage for what follows. It introduces the main points and provides an executive summary of the book.

    Chapter 2 compares the agile and plan-driven approaches and provides insight into the type of projects where each has been most successful—their home grounds.

    Chapter 3 provides an experiential introduction to the approaches by describing how both a typical and not-so-typical day might be spent using each.

    Chapter 4 presents two project case studies that illustrate the limits of pure agile and pure plan-driven implementations and the benefits of integrating the approaches.

    Chapter 5 describes a risk-based approach for making methodology decisions that integrate agile and plan-driven practices, and illustrates it with representative examples.

    Chapter 6 summarizes the material and offers some final observations.

    Appendix A provides top-level descriptions of the major agile and plan-driven methods, highlighting their primary distinguishing factors, and a summary of those factors for comparison.

    Appendices B-E provide technical and background information to support our analyses and speak to specific technical topics.

    Appendix F supplies references and the endnotes are listed by chapter in Appendix G.
From the B&N Reads Blog

Customer Reviews