Purpose
  • The purpose of this activity is to establish an environment where the product can be developed and built. This is done in two parts, firstly by setting up the hardware environment, and then by establishing the development environment.
  • Setting up the CM environment involves allocating machine resources (servers and disk space) and installing the configuration management tools
  • Setting up the development environment involves creating repositories, setting up the product directory structure, and importing any existing files. The initial environment serves as a baseline for further development work.
Role:  Configuration Manager 
Frequency:  This activity is typically performed at the beginning of each phase. In some contexts it may be appropriate for it to be performed once only during Inception. 
Steps
Input Artifacts:    Resulting Artifacts:   
Tool Mentors:   

Workflow Details:   

Set up the CM Hardware Environment To top of page

Purpose:  To allocate the hardware resources required to install  and configure the CM Tool. 

The Configuration Manager works with the System Administrator to allocate machine resources, and install the necessary software tools.

The key considerations (in order of priority) for the machine dedicated to running the server that mediates access to actual data in  the project repository are the following:

  • Memory Requirements
  • Disk Input / Output Requirements
  • Network Bandwidth
  • Project Repository Disk Space

Information on each of these items is provided under the Artifact: Project Repository

Map the Architecture to the Repository To top of page

Purpose:  The Product Directory Structure is logically organized to ensure that there is a placeholder for all project related artifacts. 

The product directory structure serves a logically nested placeholder for all product-related artifacts. The shape of the directory (which serves as the project repository) depends on the number of subsystems in the overall system, and the number of elements in each subsystem.

Even though the logical structure of the product does not emerge until Analysis&Design activities are underway, an initial project repository needs to be created for the management and planning artifacts. Guidance for the initial structure is provided under Concepts: Product Directory Structure.

The rest of the structure can be elaborated once design decisions have been made, and the nature of the Implementation View becomes clearer on how various design elements are to be packaged for implementation.

Create a placeholder for each subsystem that needs to be implemented in the directory structure. Estimate the storage requirements for the artifacts that will be developed, and ensure that there will be sufficient physical storage. For CM purposes, there must be a high degree of cohesion between internal elements in the product directory structure. The subsystems should have clearly defined interfaces with the other parts of the system, and be independently buildable and testable. The key reason here is to allow for independent and parallel development of the systems by separate teams. The idea is to significantly speed up development and promote reuse and ease of system maintenance.

Create Initial Set of Versioned Elements To top of page

Purpose:  To create an initial baseline of project artifacts. 

Even on projects with no configuration management there is a notion of a directory structure and an existing body of material that is used by the project on an on-going basis. The idea is to export/import the existing material into the structure created for product development.

Define Baseline Promotion Levels To top of page

Purpose:  To ensure all elements stored in the project repository share a common set of "legal" promotion levels. 

A baseline is a single version of the project repository. The quality or status of that baseline is indicated by a baseline promotion level. All elements stored in the project repository share a common set of "legal" promotion levels, preferably with consistent definitions across multiple projects.

Reference Configuration Management Concepts: Baselining for more details.



Rational Unified Process   2003.06.13