Lesson
Involve agency staff in the software development process by co-locating them with the development team.
Utah DOT’s experience using configuration management.
4/1/2003
Salt Lake City,Utah,United States
Background (Show)
Lesson Learned
One of the major themes that arose in the discussions with UDOT staff was the need for better visibility into the design and development process of the CommuterLink software enhancements. What began as a local software development activity ended in a distributed engineering activity occurring in several sites across the country. This precluded having UDOT staff co-located with the development team and minimized their visibility into development progress and process.
A preferred approach that was discussed in interviews with UDOT staff would include the following features:
A preferred approach that was discussed in interviews with UDOT staff would include the following features:
- Co-locate development staff at a single facility with an agency presence serving as "code review" staff. Assuming that the agency will take over responsibility for system maintenance, it was discussed that the same people who will maintain and enhance the system in the future, should be involved during the initial deployment to better understand the design methodology and code structure. One of the benefits to this approach of co-locating the development team and providing agency staff presence is schedule adherence. The agency representatives would not be dependent on the contractor to provide the latest in project schedule. It also allows the agency to better understand some of the issues and challenges with their requests of the contracting firm.
- Establish a separate Test Environment at this site. Currently, there is a development environment and a production environment. For much of the functionality, it was not possible to test the new software code until after it was installed in the production setting. This has inherent risk in that new applications are not tested extensively before being introduced into operation. A separate test environment would allow for extensive testing to eliminate bugs in the software application prior to being introduced into production. One of the elements proposed in the Phase IV activity was the development of a separate Acceptance Test environment. This system would mirror that of the production unit and would have devices or simulators available to exercise the functionality of the system. This type of an approach does require a significant investment on the part of the agencies. While this may prove cost-prohibitive to some agencies, the ability to fully test "enhancements" prior to activation is a very effective risk mitigation approach.
Lesson Categories
States
Countries
Focus Areas
None defined
Goal Areas
Keywords
None defined
Lesson ID: 2005-00099

Lesson Comments
No comments posted to date