CM Tasks in a CM Infrastructure Effort
This section provides an overview of a CM infrastructure project. Every application must have a solid and effective CM technology & process infrastructure. An application may remain viable for a number of years and through many releases with an environment and procedures that can manage various streams of the product. The more effective the application's CM infrastructure, the better the chances for traceable and integrity of the configuration items. The CM tasks at the application level, in most 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 repeated.
The primary CM roles best suited to implement tasks at this level are the CM manager, CM engineer, and CM coordinators. However, participation and cooperation must occur with the application owner and lead technical personnel. Some of the CM tasks at the application level include (but not limited to):
· CM analysis: This includes tasks to assess of implementation readiness, estimate the effort, analyze the current situation, and perform a risk assessment.
· CM planning: This includes tasks and activities to produce a CM infrastructure implementation project plan, establishing document standards like version numbering, etc., and establishing CM metrics.
· CM tool selection: This includes tasks to evaluate and select the best CM technology for the needs of the application.
· CM strategy and design: This includes tasks to define SCM roles & responsibilities (change control board, release engineer, etc.), tool profile, environment profiles, capacity planning, training and procedure definition, build a master configuration item list, and establish a global distributed CM/development strategy (as needed).
· CM procedural implementation: This includes tasks to establish the CM procedures needed when performing application development (e.g., problem management, change control, identification, version control, merge, build, release, audit, oversight, and report).
· CM technical implementation: This includes tasks to establish the SCM tool environment, restructuring application code, importing the baseline of code, establishing the user workspaces. This may apply to various CM technologies.
· SCM training: This includes the tasks to build user CM training materials and provide training for the users and the CM tool engineers.
· SCM transition: This includes tasks to conduct release readiness to production, prepare for cut-over of the new release, cutting over, and provide intensive support after cut-over.