Home > Store

Agile Software Development with Distributed Teams: Staying Agile in a Global World

Register your product to gain access to bonus material or receive a coupon.

Agile Software Development with Distributed Teams: Staying Agile in a Global World

eBook (Watermarked)

  • Sorry, this book is no longer in print.
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Not for Sale


  • Copyright 2014
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-349198-6
  • ISBN-13: 978-0-13-349198-2

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

All software projects face the challenges of diverse distances -- temporal, geographical, cultural, lingual, political, historical, and more. Many forms of distance even affect developers in the same room. The goal of this book is to reconcile two mainstays of modern agility: the close collaboration agility relies on, and project teams distributed across different cities, countries, and continents.

In Agile Software Development with Distributed Teams, Jutta Eckstein asserts that, in fact, agile methods and the constant communication they require are uniquely capable of solving the challenges of distributed projects. Agility is responsiveness to change -- in other words, agile practitioners maintain flexibility to accommodate changing circumstances and results. Iterative development serves the learning curve that global project teams must scale.

This book is not about how to outsource and forget your problems. Rather, Eckstein details how to carefully select development partners and integrate efforts and processes to form a better product than any single contributor could deliver on his or her own. The author de-emphasizes templates and charts and favors topical discussion and exploration. Practitioners share experiences in their own words in short stories throughout the book. Eckstein trains readers to be change agents, to creatively apply the concepts in this book to form a customized distributed project plan for success.

Topics include:

Understanding Distributed Development
The Productivity Myth
Ensuring Conceptual Integrity
Trust and Mutual Respect
Iterations and Releases
Using Features to Steer the Development Effort
Team Velocity
Virtual Retrospectives
Dispersed Synchronization
Introducing Agility to Global Projects
and much more

Sample Content

Online Sample Chapter

Assessing Agility and Distributed Projects

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

Table of Contents

Preface xiii

Chapter 1 Getting Started    3

Focus      4

Intended Audience    4

Perspective   5

Roadmap to the Book      6

Chapter 2 Assessing Agility and Distributed Projects    9

Understanding Distributed Development     9

Working With Several Development Sites     10

Distributed and Dispersed Teams      10

Large Projects    11

Coordinating Companies    12

Different Sites    13

Customers and Distance     14

Centrally Coordinated or Globally Integrated     15

Overcoming the Distance     16

Understanding Agility    16

Core Value Pair Statements     .17

Systemic Approach  .19

Risk Reduction     19

The Productivity Myth     20

More Than Practices       21

Neither Chaotic nor Undisciplined     21

Agile Principles Influencing Globally Distributed Projects      22

Summary      24

Chapter 3 Building Teams

Feature Teams      27

Single- and Multi-Site Teams  28

Dispersed Teams     31

Forging a Team     32

Teams Happen, by David Hussman      33

Roles       36

Feature-Team Constellation  36

Architect and Chief Architect       38

Experiences as a Software Architect on Global Agile Projects, by Michael Kircher     40

Coach     43

Product Owner and Product Manager     44

Project Manager     48

Collocate Key Roles with Teams      49

Ensuring Conceptual Integrity     49

Starting Team Provides Model      50

Technical Service Team     50

Summary      51

Chapter 4 Establishing Communication and Trust     53

Trust and Mutual Respect    54

Trust Threshold     55

Changing Meeting Locations  56

Vocabulary      57

Communication     58

In-Person Team Meetings     58

Face-to-Face Project Meetings    59

People Rotation     60

Communication Costs     61

Communication Flow    62

Cultural Differences     63

Similarities Versus Differences       64

Culture Fit      65

Crossing Big Boundaries, by Ainsley Nies  67

Realistic Planning    68

Taking Responsibility    68

Problem Reporting  69

Honest Feedback      70

Noise     71

Humor      72

Communication Media      72

Summary      74

Chapter 5 Keeping Sites in Touch     76

Communication Facilitator    77

Communication Facilitator As Ombudsman      77

Technical and Social Prowess    78

Management By Flying Around     78

Ambassador       79

Site Representation  80

Characteristics and Competency     80

Travel Schedule     81

Concrete Tasks       82

Social Connections     83

Joint Celebration    83

Picture Power    83

Everyday Life  84

Travel Tips      84

Tools      .85

Direct Connections  86

Synchroneity Versus Asynchroneity     86

Audio and Video    87

Instant Messaging    88

E-mail       89

Virtual Space    90

Common Repository    91

Wiki and Other Collaboration Platforms     91

Summary      92

Chapter 6 Ensuring Development and Delivery  94

Iterations     95

Iteration Length     95

Done-Done  96

Project Heartbeat    97

Delivery Delay     97

Releases    99

Release Iteration    99

Release Site    100

Integration and Build    101

Local Success First  101

Integration Effort  101

Production Shut-Down    103

Integration and Build Optimization    104

Infrastructure    105

Build and Integration Process and Tools    105

Configuration Management  107

Follow the Sun, by Joseph Pelrine      109

Power      111

Security    111

Network Sense     112

Tools     113

Summary     113

Chapter 7 Ensuring Business Value    115

Steering Through Valuable Features     115

Real-Customer Awareness     116

Connecting to a Distant Customer, by Daniel Karlström      117

Iteration Preparation    119

Understanding Requirements    122

Treating Requested Documentation As Requirements     123

Team Velocity       123

Unknown Velocity    124

Estimation Unit      125

Planning Poker     126

Estimation Parity  128

Velocity Disparity  130

Planning an Iteration      131

Feature-Planning Integrity  131

Planning-Meeting Essentials       132

Planning-Meeting Schedule  132

Tangible Planning Tools     133

Iteration Tracking  134

Planning and Tracking Tools  135

Keeping Goals in Focus     136

Dealing With Change    138

Iteration Length Marks Response Time    138

Change-Request Scheduling      139

Team-Structure Change    139

Overall Project Plan     140

Release Planning  140

Forecasting  141

Release Versus Milestone     142

Summary     143

Chapter 8 Eliciting Feedback and Conducting Retrospectives 145

Customer Feedback       146

Identifying the Customer  146

Distant Customer  147

Customer Presentations     147

Review Meetings  148

Iteration Reviews  148

Individual and Dispersed Versus Joint and In-Person Review Meetings 149

Release Reviews  151

Retrospectives      151

Individual-Feature-Team Retrospectives     154

Project-Wide Retrospectives      154

Joint-Site Retrospectives  156

Retrospective Protocol     156

Virtual Retrospectives     157

Distributed Retrospectives, by Linda Rising  158

Retrospective Attendees    160

Common Retrospective Mistakes     160

Facilitation Techniques     161

Facilitating an Effective Virtual Retrospective, by Debra Lavell    162

Metrics     166

Progress Measurement      166

Estimate-Quality Measurement     169

Increasing the Test Base    170

Summary     170

Chapter 9 Honing Practices  172

Development Practices  172

Pair Programming  173

Unit-Testing    175

Refactoring    175

Refactoring on Large Projects, by Nicolai M. Josuttis      177

Collective Ownership     180

Common Coding Guideline      181

Feature Communication via Tests    182

Distributed Agile and Acceptance Testing, by Naresh Jain     183

Out-of-the-Box Practices     187

Process Practices     188

Development Culture    196

Project-Wide Practices     197

Evolving Practices  198

Different Practices  199

Process Standards Based on CMMI and ISO  200

Equal Rights     202

Summary     203

Chapter 10 Introducing Agility into New and Existing

Distributed Projects 205

Start Locally,Grow Globally     206

Collocation and Rotation 207

Fundamental Iterations     208

Early-On Iteration    210

Time-Boxed Project Start     211

Growing Teams and Growing Sites    211

Kick-Off       211

Project-Culture Transmittal  213

Cultural Training  214

Integrating New People    215

Introducing Agile to an Existing Project    216

Gradual Versus Project-Wide Change    216

Team-Structure Change    217

More and/or Better Coaches      218

Estimation and Velocity    218

Lone Fighter     219

Summary     220

Afterword    223

Glossary      225

References     232

Index    241


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership