|
Traditional approaches to distributed development impair flexibility: they don't expose what's actually happening on the ground in different locations, they lack common and effective communication channels, and they substitute "hope" for "managed process" when reconciling work. Distributed development should be as responsive to change as co-located teams. A program managing distributed development requires behaviors that engender agility. Three contributing factors are release cadence, transparency of activity, and lightweight communications.
Release Cadence
Code delivered at the conclusion of each time-box at each level must be "complete," meaning it can be built locally (that is, a build supporting the work just for that team), passes local QA, can be built in the "master build" spanning all teams, and passes all unit and integration tests.
Figure 1: Release Cycle
Crucially, teams deliver to a fixed schedule, only allowing variance in the volume of functionality delivered. Teams may not vary the time box to get an ‘extra' feature in a release. Features, even those planned for a particular release, may slip to a subsequent release but completed code is always released at the planned times. As a result, delay is minimized whilst integrity is maximized:
Projects converge only if there is disciplined execution to best practices: holistic integrity is ensured by disciplined execution to development best practices, such as test driven design and continuous integration. It is especially important that teams continuously reconcile their work to a "global integration" so that the master build across all teams always maintains integrity. This allows distributed, parallel teams to work in confidence rather than hope for the best during an opaque "integration phase."
Transparency About the Author Ross Pettit has 15 years' experience as a developer, analyst, project manager and program manager working on enterprise applications in a wide range of industries including financial services, manufacturing, distribution, media, utilities, market research and government. He also brings extensive experience managing distributed development operations and global consulting companies. He is currently consulting to global clients implementing Agile practices as a Client Principal with ThoughtWorks.
Set as favorite
Bookmark
Email this
Hits: 13056 Comments (0)
|
| < Prev |
|---|
Agile Marketplace - Announcements and Special Offers
White Paper: Code Review IS an Agile Process!
Peer code review is one of the most effective ways to improve Software Quality – but is it Agile? Done correctly, it absolutely is. This white paper tells you how.
Download Today!
Virtual Conference: Collabnet Agile ALM
Stay current by attending CollabNet’s virtual conference, Agile ALM for Distributed Development, Thursday, April 15, from 7:30 am to 3:30 pm PDT. Free registration.
Register Today!
Webcast: Moving Build and Code Quality Upstream
This interactive panel discussion moderated by Bob Aiello, Editor-in-Chief fo the CM Journal brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.
Register Now!
Collabnet -TeamForge 5.3
CollabNet TeamForge 5.3 includes Dynamic Planning—providing flexibility to model release scope and timeline in a single view. Now, you can easily manipulate/adjust release data.
Download Your Free Trial
Requirements-based testing (RBT) can help to ensure comprehensive test coverage, reducing the risk of failure and improving software quality. This white paper details how application lifecycle management can be used to more effectively implement RBT processes, offering greater collaboration, traceability and control.can help you increase efficiency, reduce project risk, and improve overall software quality. Learn how MKS Integrity for application lifecycle management enables RBT, delivering full lifecycle traceability to help ensure that project requirements have complete test planning and execution coverage.
Download the Requirements-Based Testing whitepaper
PureCM –SCM for Agile Teams
PureCM helps you to manage development in short iterations: keeping track of changes, supporting automated builds and preserving frequent snapshots of your projects.
Get the free trial now


Traditional approaches to distributed development impair flexibility: they don't expose what's actually happening on the ground in different locations, they lack common and effective communication channels, and they substitute "hope" for "managed process" when reconciling work. Distributed development should be as responsive to change as co-located teams. A program managing distributed development requires behaviors that engender agility. Three contributing factors are release cadence, transparency of activity, and lightweight communications.

