Purpose
  • "Makes Changes" is a generic activity to accommodate the team members' need for access to the set of artifacts to be changed (change set) in order to fulfill (through performing various activities) the requirements of their work order.
Role:  Any Role 
Frequency: On-Going 
Input Artifacts:    Resulting Artifacts:   
Tool Mentors:   

Workflow Details:   

The Work Order from project management is a stimulus to any work being performed on a project. On being given a work order, team members will typically plan their work by creating "to do" lists with due dates that meet the "contract" outlined in the work order.

The next step is for the responsible role to get or create the necessary artifacts that need to be worked on or added to source control.

Projects usually maintain controlled versions of artifacts in a central, restricted access, repository. Check-In and Check-Out are the operations that enable development staff to obtain a particular version of an artifact, make changes to it, and re-submit it to become the latest controlled version. The purpose of this step is to ensure that developers follow 'check-in and check-out' procedures to make changes to version controlled artifacts.

The primary CM operations performed by any member of the development staff are:

  • Check Out - Grants permission to change an element
  • Check In - Stores a new version of the changed element and makes changes available for Check-Out by other team members. A recommended policy is that every check-in be accompanied by a brief comment describing the change.
  • Add to Source Control - Places a new file or directory under version control, creating the initial version
  • Deliver - Submits changes to the integrator.
  • Rebase - Makes changes made by other developers available to your view.

An implementer will typically work in the following manner:

  1. Checks out the files that need to be changed.
  2. Makes the changes.
  3. Performs unit tests to verify the changes.
  4. Gets the changes approved.
  5. Checks in the changes.
  6. Promote the changes.


Different Kinds of Check-Out

By default, checking out an element grants the exclusive right to create a new version of it. This is called a reserved checkout. Another user who attempts a reserved checkout of that element is prevented from doing so.

In parallel development situations, an unreserved checkout is a mechanism to checkout a file even if someone else has already checked it out.

Some organizations routinely use a first-come/first-served style of development, in which multiple users perform an unreserved Check Out of the same element. Any one of them can subsequently perform a Check In, to create the next version of that file. Each of the others must merge these changes with previously checked in changes before creating a subsequent version.



Rational Unified Process   2003.06.13