Streamed Lines: Branching Patterns for Parallel Software Development

Copyright © 1998 by Brad Appleton, Stephen Berczuk, Ralph Cabrera, and Robert Orenstein.
Permission is granted to copy for the PLoP '98 conference.


Table of Contents
[printing/downloading instructions]
Send us your comments!

Forces of Branching and Parallel Development

Parallel development raises several important issues and concerns for the success of the development projects. These risk-factors often become the driving forces which fundamentally shape many of the recurring problems and solutions of parallel development efforts.

Teamwork

Communication, effort, and interaction need to be effectively organized and executed for a parallel development effort to succeed. Important issues are:

Reusability

Reusability is the property that baselevels and changes can be readily used and incorporated in derived versions while still functioning correctly. We want to eliminate (or at least minimize) the amount of rework needed to incorporate someone else's changes into our own workspace, and into any new baselines. Whenever someone makes a change that other will want to see and use, we want others to be able to use those changes with little or no modification. Reusability concerns for parallel development include:

Safety

Safety is the property that nothing bad ever happens to your project. Safety concerns for parallel development are usually related to quality and include:

Liveness

Liveness is the property that development progress ever takes place. Liveness is closely related to teamwork in general, and to development productivity in particular. Liveness concerns are also frequently at odds with concerns for safety (suggesting some kind of balance must be reached). Liveness concerns for parallel development include:

SCM Tool Support

Support mechanisms provided (or lacking) in your SCM tools for change control/tracking and version control have a huge impact upon the success or failure of parallel development efforts. Some of these mechanisms are:
[back to the table of contents]

Send us your comments!