Downloaded from http://www.stsc.hill.af.mil/crosstalk/1996/mar/adopting.asp

Adopting SCM Technology

Julie Kingsbury, Software Technology Support Center


In the January 1996 issue of CrossTalk [1], Vicki Mosely summarized evaluations of several leading software configuration management (SCM) tools. The evaluation results indicate SCM tools are now easier to use, have increased functionality, and can automate many of the error-prone tasks required to effectively manage and control software. With the advancement in tool technology, one might believe that the selection of the right tool will solve an organization's SCM problems. It is not that easy. A tool alone will not solve an organization's SCM problems. Other technical and cultural issues must be addressed.

Technology adoption refers to implementing technology transition, i.e., performing all the work necessary to ensure successful, optimal, and effective use of SCM technology [2]. The adoption of SCM technology is complex because it impacts data, processes, and people. Failure to understand the issues involved in the adoption of SCM technology is the main reason why organizations do not successfully deploy the SCM tool. The adoption of SCM technology presents a difficult challenge for many organizations that struggle to improve their SCM process. A defined strategy that addresses the complex issues of technology adoption becomes a necessity.

Before beginning the adoption effort, organizations must consider complex technical issues that may affect the adoption effort. These issues include

By far, the greatest barrier to overcome when introducing SCM into an organization is to change how people view SCM. People often react negatively toward SCM. Many software developers have experienced painful encounters with SCM personnel, perceive the tool as intrusive, and have little understanding of the long-term effects of not following SCM procedures. In many organizations, SCM has a low status, and SCM personnel are not trained to perform SCM duties. Because SCM integrates the work created by many people throughout an organization, the person in charge of SCM needs a broad understanding of software engineering principles and the cultural aspects of the organization.

SCM Technology Adoption Road Map

SCM adoption is generally carried out in the phases listed in Figure 1. For the adoption effort to be successful, the effort must be treated as a project with realistic goals and a defined schedule. At all phases, it is important to reinforce management's commitment to the adoption effort and to provide training. Training becomes a critical part of ensuring that SCM principles are adopted by the organization.

Phase 1: Preparation and Planning.
Phase 2: Process Definition.
Phase 3: Tool Evaluation.
Phase 4: Pilot Project Implementation.
Phase 5: Rollout to Other Projects.
Phase 6: Process Improvement Phase.
Figure 1: SCM Adoption Phases.

To assist organizations in their SCM adoption efforts, the STSC implements the SCM Adoption Road Map developed by Susan Dart, formerly a member of the environment team at the Software Engineering Institute (SEI). The road map provides structured guidance, identifies tasks, and addresses the complexities involved with SCM technology adoption.

Phase 1: Preparation and Planning

The purposes of this phase are to plan for the adoption activities, to establish management support, and to assess the status of current SCM activities. This is the stage most organizations fail to perform, which results in the unsuccessful adoption of SCM technology.

First, an SCM adoption team is created. The adoption team is responsible for implementing the adoption strategy and plays the most important role in the adoption effort. The team monitors and participates in all phases of the adoption effort. Members of the adoption team typically include

The adoption team begins by developing the SCM Adoption Plan. The plan details the benefits of SCM, outlines the adoption schedule, defines the policies and procedures involved in the adoption effort, establishes success criteria, and establishes roles of the adoption team.

Next, the requirements are defined and prioritized. Development of a clear understanding of the organization's strategic goals is required to evaluate the SCM requirements. All members of the organization who will be affected by SCM must be surveyed to identify their SCM requirements and to determine their roles in the SCM process. Careful attention must be given to the training requirements of all people affected by the SCM tool, process, and procedures.

Management support is crucial. All levels of management must be aware of the SCM problems the organization is currently encountering. The benefits of implementing a SCM solution must also be presented. This involves presenting the financial and scheduling advantages of the SCM solution, e.g., increase in programmer productivity by automating SCM tasks, less rework, and support for reuse.

A risk management plan is also developed. The risk management plan identifies risks that could affect the outcome of the adoption effort, e.g., changing over to a new operating system during the adoption effort. The adoption team is responsible for identifying and addressing risks throughout the project.

Phase 2: Process Definition

The goals of this phase are to define the current SCM process, evaluate the process, and define a new, improved process if required. The process is then analyzed to identify which areas would benefit from automation. A defined process is pertinent to the successful implementation of SCM. Without a defined process, the organization will make little progress in the adoption effort.

Phase 3: Tool Evaluation

The goal of this phase is to select a tool that satisfies the organization's SCM tool requirements. Before the evaluation begins, tool requirements are refined and prioritized. The evaluation method is chosen, and test scenarios required to test the capabilities of the tools are developed. It is important to include representatives from all users' groups in the evaluation to gain a better understanding of how different groups will use the tool. Generally, three tools that appear to satisfy the high-level requirements are selected, and an in-depth evaluation is performed. The adoption team participates in and monitors the tool evaluations.

This phase is complete when a tool is selected that satisfies most important requirements. More detailed guidance on tool evaluation and selection is found in the September 1995 [3] and the January 1996 [1] issues of CrossTalk.

Phase 4: Pilot Project Implementation

The purpose of this phase is to determine how well the SCM tool, process, and procedures satisfy the organization's requirements. A pilot project allows the tool's functionality to be tested with real data on a real project. In addition, the pilot allows for the processes and procedures to be prototyped and provides feedback on how the users respond to the tool.

It is important to select a pilot that will address high-risk areas, but not affect the project's critical path. The adoption team develops standards, policies, and procedures as well as ensures users are trained to perform their SCM duties. Successes and failures are documented and compared to the success criteria identified in the adoption plan.

Phase 5: Rollout to Other Projects

This phase involves incrementally migrating the tool to other projects. Training and dealing with resistance to change are key activities of this phase. The SCM tool, process, procedures, and training needs are examined and adapted for each project. The adoption team implements, evaluates, and monitors rollout activities. This phase is complete when the SCM tool, process, and procedures are routinely used on all selected projects.

Phase 6: Process Improvement

This phase involves evaluating adoption activities, capturing strategies that worked, and making recommendations for process improvements. The adoption team has developed technology transition skills that can be applied to other types of technology adoption, and the organization has reaped the benefits of automated SCM support. At this point, new problems will arise, i.e., controlling code developed in Ada and company reorganizations, which require the adoption process to be initiated again.

Conclusion

The adoption of software configuration management technology is a key component of process maturity improvement. The elements that ensure the successful adoption of SCM technology include the adoption team, adoption plan, risk management plan, process, and SCM tool. With management support, a defined adoption strategy, and proper planning, organizations can successfully adopt SCM technology.

Julie Kingsbury, STSC
Ogden ALC/TISEA
7278 Fourth Street
Hill AFB, UT 84056-5205
Voice: 801-775-5555 ext. 3048 DSN 775-5555 ext. 3048
Fax: 801-777-8069 DSN 777-8069
E-mail:mailto:kingsbuj@software.hill.af.mil

References

1. Mosely, Vicki, "Software Configuration Management Tools: Getting Bigger, Better, and Bolder," CrossTalk, STSC, Hill Air Force Base, Utah, January 1996, pp.6-10, 24.

2. Dart, Susan A., "Adopting an Automated Configuration Management Solution," Proceedings of the Software Technology Conference, April 1994.

3. Mosley, Vicki, "Improving Your Process for the Evaluation and Selection of Tools and Environments," CrossTalk, STSC, Hill Air Force Base, Utah, September 1995, pp. 12-14.

                          STSC SCM Support

   The STSC offers the following SCM services:

SCM Consulting Support

   The STSC's SCM team provides consulting support for all phases of SCM
adoption.  Typical support activities include
  • Assistance in the development of adoption and risk management plans.
  • SCM assessments.
  • SCM requirements definition.
  • SCM process definition.
  • Tool evaluations.
  • Training.

SCM Executive Workshop This four-hour workshop is intended to provide basic SCM education to middle and senior management. An overview of basic SCM concepts is presented along with guidance on adopting SCM technology. SCM Workshop This two-day workshop is customized to meet the requirements of the requesting organization. Topics covered include

  • SCM concepts.
  • SCM requirements in the Capability Maturity Model.
  • Overview of SCM standards.
  • Guidance on SCM tool selection.
  • SCM adoption techniques.

All services are provided on a fee-for-service basis to government agencies and government contractors. For further information, please contact the author. Julie Kingsbury Software Technology Support Center Voice: 801-775-5555 ext. 3048 DSN 775-5555 ext. 3048 E-mail:kingsbuj@software.hill.af.mil


1