Acknowledgments
Preface
1.Getting Started
- My Focus
- My Intended Audience
- My Perspective
- 1.1Roadmap to the Book
2.Assessing Agility and Distributed Projects
- 2.1Understanding Distributed Development
- Working With Several Development Sites
- Distributed and Dispersed Teams
- Large Projects
- Coordinating Companies
- Different Sites
- Customers and Distance
- Centrally Coordinated or Globally Integrated
- Overcoming the Distance
- 2.2Understanding Agility
- Core Value Pair Statements
- Systemic Approach
- Risk Reduction
- The Productivity Myth
- More Than Practices
- Neither Chaotic Nor Undisciplined
- 2.3Agile Principles Influencing Distributed Projects
- 2.4Summary
3.Building Teams
- 3.1Feature Teams
- Single- and Multi-Site Teams
- Dispersed Teams
- Forging a Team
- 3.2Roles
- Feature-Team Constellation
- Architect and Chief Architect
- Coach
- Product Owner and Product Manager
- Project Manager
- Collocate Key Roles with Teams
- 3.3Ensuring Conceptual Integrity
- Starting Team Provides Model
- Technical Service Team
- 3.4Summary
4.Establishing Communication and Trust
- 4.1Trust and Mutual Respect
- Trust Threshold
- Changing Meeting Locations
- Vocabulary
- 4.2Communication
- In-Person Team Meetings
- Face-to-Face Project Meetings
- People Rotation
- Communication Costs
- Communication Flow
- 4.3Cultural Differences
- Similarities versus Differences
- Culture Fit
- Realistic Planning
- Workload Responsibility
- Problem Reporting
- Honest Feedback
- Noise
- Humor
- Communication Media
- 4.4Summary
5.Keeping Sites in Touch
- 5.1Communication Facilitator
- Communication Facilitator as Ombudsman
- Technical and Social Prowess
- Management By Flying Around
- 5.2Ambassador
- Site Representation
- Characteristics and Competency
- Travel Schedule
- Concrete Tasks
- 5.3Social Connections
- Joint Celebration
- Picture Power
- Everyday Life
- Travel Tips
- 5.4Tools
- Direct Connections
- Synchroneity versus Asynchroneity
- Audio and Video
- Instant Messaging
- Virtual Space
- Common Repository
- Wiki and other Collaboration Platforms
- 5.5Summary
6.Ensuring Development and Delivery
- 6.1Iterations
- Iteration Length
- Done-Done
- Project Heartbeat
- Delivery Delay
- 6.2Releases
- Release Iteration
- Release Site
- 6.3Integration and Build
- Local Success First
- Integration Effort
- Production Shut-Down
- Integration and Build Optimization
- 6.4Infrastructure
- Build and Integration Process and Tools
- Configuration Management
- Power
- Security
- Network Sense
- Tools
- 6.5Summary
7.Ensuring Business Value
- 7.1Steering Through Valuable Features
- Real-Customer Awareness
- Iteration Preparation
- Understanding Requirements
- Treating Documentation as Requirements
- 7.2Team Velocity
- Unknown Velocity
- Estimation Unit
- Planning Poker
- Estimation Parity
- Velocity Disparity
- 7.3Planning an Iteration
- Feature-Planning Integrity
- Planning-Meeting Essentials
- Planning-Meeting Schedule
- Tangible Planning Tools
- 7.4Iteration Tracking
- Planning and Tracking Tools
- Keeping Goals in Focus
- 7.5Dealing With Change
- Iteration Length Marks Response Time
- Change-Request Scheduling
- Team-Structure Change
- 7.6Overall Project Plan
- Release Planning
- Forecasting
- Release versus Milestone
- 7.7Summary
8.Eliciting Feedback and Conducting Retrospectives
- 8.1Customer Feedback
- Identifying the Customer
- Distant Customer
- Customer Presentations
- 8.2Review Meetings
- Iteration Reviews
- Review Meetings – Dispersed Individually versus In-Person Jointly
- Release Reviews
- 8.3Retrospectives
- Individual-Feature-Team Retrospectives
- Project-Wide Retrospectives
- Joint-Site Retrospectives
- Retrospective Protocol
- Virtual Retrospectives
- Attendees
- Common Retrospective Mistakes
- Facilitation Techniques
- 8.4Metrics
- Progress Measurement
- Estimate-Quality Measurement
- Increasing the Test Base
- 8.5Summary
9.Honing Practices
- 9.1Development Practices
- Pair Programming
- Unit-Test
- Refactoring
- Collective Ownership
- Common Coding Guideline
- Feature Communication via Tests
- Out-of-the-Box Practices
- 9.2Process Practices
- Daily Synchronization (Daily Scrum)
- Project-Wide Synchronization (Scrum of Scrums)
- Dispersed Synchronization
- 9.3Development Culture
- Project-Wide Practices
- Changing Practices
- Different Practices
- Process Standards based on CMMI or ISO
- Equal Rights
- 9.4Summary
10.Introducing Agility to Distributed Projects
- 10.1Start Locally, Grow Globally
- Collocation and Rotation
- Fundamental Iterations
- Early-On Iteration
- Time-Boxed Project Start
- 10.2Growing Teams and Growing Sites
- Kick-Off
- Project-Culture Transmittal
- Cultural Training
- Integrating New People
- 10.3Introducing Agile Processes to an Existing Project
- Gradual versus Project-Wide Change
- Team Structure Change
- More and/or Better Coaches
- Estimation and Velocity
- Lone Fighter
- 10.4Summary
11.Afterword
Glossary
References
- Articles
- Books
- URLs
