successful SCM implementation at all levels.
· Determining an SCM budget: establish funding for SCM ensures that there is a future for this field within the organization.
· Creating an SCM policy: establish a standard set of guidelines for implementing SCM within an organization.
· Establishing the SCM terminology: develop an SCM glossary or set of terminology that can be commonly used throughout the organization.
Note: If there is no focus of SCM at the organization level at this time, then many of these may be addressed at the application level. Also, the SCM tasks in the organization level are, in many cases, a one-time-only task and specifically not intended to be rapidly repeated. However, it is best to periodically verify commitment and funding, and continue to raise awareness at the upper management level. SCM Tasks Recommended for the Application Level
This section provides an overview of SCM tasks that have more value at the application level. Every application must have a solid and effective SCM technology & process infrastructure. An application may remain viable for a number of years and through many releases. The more effective the application’s SCM infrastructure, the better the chances for traceable and integrity of the configuration items.
SCM manager and SCM engineer are the primary SCM roles best suited to implement tasks at this level. Participation and cooperation must also occur with the application owner and lead technical personnel, though. Some of the SCM tasks at the application level include (but not limited to):
· SCM analysis: provide a review of the current environment
· SCM planning: provide a road map of the tasks and activities needed to implement an SCM infrastructure.
· SCM tool selection: evaluate and select the best SCM technology for your needs
· SCM strategy and design: define SCM roles and responsibilities (change control board, release engineer, etc.), tool profile, environment profiles, capacity planning, training and procedure definition
· SCM technical implementation: establish the SCM tool environment
· SCM procedural implementation: establish SCM procedures
· SCM training: provide training guidelines for establishing solid SCM practices
· SCM transition: provide transition support of staff to new SCM technology
Note:The SCM tasks at the application level, in many cases, are a one-time-only task (e.g., you only create one change control procedure for an application) and specifically not intended to be rapidly repeated. SCM Tasks Recommended for the Project Level
The objective at the project level is to define a common set of SCM tasks performed during a project to produce the release. Many of the tasks at this level should use the SCM infrastructure and procedures defined by an SCM effort at the application level. In order to guarantee repeatability and the same infrastructure to guarantee integrity of the product, every project should use the same procedures.
The SCM tasks at the project level are suited for more rapid and repetitive tasks. For example, builds occur, perhaps, daily and the change control board may meet weekly. Due to the temporal difference between the tasks at the project level, they are meant to be separate from the SCM tasks in the organization or application level (e.g., instead, part of the SCM task list which is added to the project’s project plan).
The primary SCM roles best suited to implement these tasks at the project level are the SCM manager, SCM engineer, and release engineer. However, participation and cooperation must occur with the project manager, configuration control board (CCB), lead development personnel, and the test personnel.