Pattern Summaries

(Also see the map of the pattern language.)

Pattern NameSummary

MainlineMinimize merging, and keep the number of active codelines to a manageable set by developing on a Mainline.
Active Development LineKeep a rapidly evolving codeline stable enough to be useful by creating an Active Development Line
Private WorkspacePrevent integration issues from distracting you, and from your changes causing others problems by developing in a Private Workspace.
RepositorySet up a new workspace by populating it from a Repository that contains everything that you need.
Private System BuildCheck to see that your changes will not break the build by doing a Private System Build before commiting changes to the Repository.
Integration BuildEnsure that your code base always builds reliably by doing an Integration Build periodically.
Third Party CodelineManage vendor code by using a Third Party Codeline.
Task Level CommitOrganize source code changes by task-oriented units of work.
Codeline PolicyCreate a Codeline Policy to help developers decide when to check in code to a codeline and what procedures to follow before a checkin on each codeline.
Smoke TestEnsure that the system still works after you make a change by running a Smoke Test.
Unit TestVerify that a module still works after you make a change by running a Unit Test.
Regression TestEnsure that existing code doesn't get worse as you make other improvements by running a Regression Test.
Private VersioningUse Private Versioning to allow you to experiment with complex changes locally, yet still be able to take advantage of the features of a version control system.
Release LineMaintain released versions without interfering with your current development by establishing a Release Line.
Release-Prep CodelineStabilize a codeline for an upcomming release while also allowing new work to continue on active codelines by doing the stabilization work on a Release-Prep codeline.
Task BranchHave part of your team perform a disruptive task without forcing the rest of the team to work around them, using a Task Branch.

Map of the Pattern Language

Map of the pattern language