CM Tools and Training

Many of the currently available tools and training programs are designed specifically for software development. Some, such as issue tracking tools and document management tools, have relevance in a wider range of CM applications, including TMS. When considering the selection of a tool, an agency should consider its level of "ownership" of the various TMS components. Lower levels of ownership, as is the case for an agency that has purchased a license for a commercial-off-the-shelf signal control package, often require minimal tools for CM assistance. High levels of ownership, such as when an agency has supported the development and maintenance of a completely custom application, require full support from CM tools.

Furthermore, keep in mind that CM tools are merely tools, which often require significant training of agency staff in order to realize their benefits. Commonly used CM support tools are described below; specific tools available on the market are not described because of the rapidly changing industry.

Issue Tracking Tools

Issue tracking tools (ITTs) are among the most commonly used tools for CM program support. These tools support decision makers in tracking changes as they progress from approval to completion. Most commercial ITTs have features that will automatically generate e-mails to relevant personnel based on the status of a change. One of the most important characteristics of these tools is that they provide administrators the ability to assign changes to various personnel and then track the changes.

Document Management Tools

Document management tools can be very supportive of CM programs. With projects often having hundreds of documents in both paper and electronic form, archiving these documents and making them easy to locate and access once archived is extremely important. Software tools that accomplish this task have the potential to shorten project length, save money, and prevent confusion for those involved in the project.

Process-Based CM Tools

Process-based configuration management tools are intended to facilitate the software development and modification processes. These tools act as a central location for all information regarding such effort and seek to minimize confusion among participants about the tasks that they are expected to achieve. Popular applications in this field will document and log software modifications or additions to the system to facilitate backtracking and increase knowledge of the total process.

CM and Version Control Tools

An important consideration in a CM program is that there will be more than one version of many software applications—representing different baselines for these system elements at various stages of the system life cycle. Version control tools assist the user in resolving the differences in the software applications relevant to their system. Version control tools often prevent or manage concurrent access to the same code files to facilitate concurrent development. Much like merge tools discussed next, version control tools compare two versions and then automatically present to the user a report detailing the major differences, such as changes, additions, removals, moves, and renames.

Merging Tools

Merging tools are intended for software CM only. Merging tools are software applications intended to facilitate the merging of multiple sources of code into one final set of code. Merging tools are relevant for use in TMS change control of custom-developed application software. They aid the change control process by greatly reducing physical examination of source code and allowing programmers to more quickly establish new baselines.

Building Software

As its name implies, building software is intended to aid in the process of building software applications from a variety of components, and thus is intended for software CM only. Building tools resolve or highlight missing references, build projects in the correct hierarchical order, maintain dependencies between multiple projects, and inform each involved participant when a project has been added to or removed from the application on which they are working.

Programming Environments with Versioning

Programming environment tools also is a software-specific CM tool. Such tools can be very useful during software modifications across software platforms. They provide a consistent feel and functionality across heterogeneous systems and across diverse languages. The major operations that can be carried out using a tool such as this are: design, coding, testing, debugging, and maintenance. Programming environment tools can be invaluable to the change control process and can eliminate redundancy, a major source of inefficiency. Programming environments with versioning are among the most common tools currently used by transportation agencies to manage custom TMS software.

Infrastructure Relationship Management Tools

Infrastructure relationship management (IRM) tools constitute a relatively new category of CM support resources. They are designed to handle just about every facet of an information technology infrastructure and are suited well for use on ITSs. These tools minimize the effects of organizational change on a system by providing full documentation of items and their relationships to each other, providing up-to-date baselines for disaster recovery, and keeping accurate records of the changes to items and of the current system configuration.

Awareness Level Training

All management, design, development, and maintenance personnel must receive awareness-level training to familiarize themselves with the basics of CM before they are expected to become involved with implementing the program. Note that management levels above TMC management also should be included in the awareness training given upper management's role in resource allocation and project determination and programming. Short, half- or full-day awareness-level courses are recommended. In most cases, either internal agency personnel with significant CM experience or CM consultants would serve as good instructors for the course.

Targeted Training

Personnel essential to the CM program, such as those serving on the CCB or otherwise directly involved with recommending or making changes require extensive, targeted training. Personnel requiring targeted training are advised to take a weeklong seminar on CM, which provides in-depth exposure to the processes and intricacies of CM. The courses presently available for this level of training are heavily software-oriented, but are the best choice until more general, detailed CM courses become available.

While CM tools are currently used within many TMSs, some agencies are reluctant to invest in these products. Some of the reasons that were cited for the hesitance to accept tools include cost, fear of increased staff workload, need for lengthy training, and the fact that many of the organizations would need to use only a small portion of a tool's capabilities.