Lesson
Ensure that experienced staff oversee the development of a complex software system and thoroughly follow systems engineering process.
Experience from iFlorida Model Deployment
01/30/2009
Florida,United States
Background (Show)
Lesson Learned
As noted previously, FDOT experienced significant difficulties in reaching its objectives with the iFlorida Model Deployment. Early in the deployment, the problems were centered on the deployed field equipment, with a large number of the arterial toll tag readers failing by the time the software systems were in place to use that data. As FDOT brought the field equipment back online, problems with the CRS software became more apparent. From November 2005 through November 2007, FDOT's efforts focused on eliminating the problems with the CRS software. Through this process, FDOT identified a number of lessons learned that might benefit others attempting to deploy a new (or upgrade an existing) traffic management system.
Despite these failures in developing the CRS, the existence of other methods of performing key operations, such as updating 511 and DMS messages, meant that FDOT did continue to perform these traffic management operations in spite of the failings of the CRS.
- Ensure that experienced staff oversees the development of a complex software system like the CRS. FDOT D5 had no ITS staff with that experience and declined FHWA's offer to provide a software training course for the FDOT iFlorida staff.
- Beware that one of the biggest sources of problems in a complex system is the interfaces between subsystems. With the CRS, long-standing problems occurred with the interfaces between the CRS and the FHP CAD system, the weather provider, the travel time server, and the DMS signs. Approaches for reducing the risk associated with these interfaces include:
- Adopt ITS standards that have been used effectively in other, similar applications.
- Develop the interfaces early in the development process and test the interfaces independently of the other parts of the system.
- Include interface diagnostic tools that could sample data passing through the interface and assess whether the interface was operating correctly.
- Include tools for diagnosing problems that might occur in individual subsystems.
- When errors occurred with the arterial travel time system, it was difficult to identify whether the error was caused by the readers, the travel time server that computed travel times from the reader data, the CRS that used the computed travel times, or the interfaces and network connections between these systems.
- When errors occurred with updating DMS messages, it was difficult to identify whether the CRS was sending incorrect data to the system that interfaced with the signs or the sign interface was not updating the signs correctly.
- Incorporate alternate methods for accessing data and updating signs and 511 messages in case the primary software tools for doing so are not functioning correctly.
- The I-4 loop detector data was available through the Cameleon 360 software after the CRS failed, enabling RTMC operators to continue to estimate I-4 travel times.
- The backup interface for updating DMS messages allowed FDOT to disable the signs in the CRS and manage the sign messages through the backup interface when the CRS interface for updating the sign messages proved unreliable.
- The backup interface for updating 511 messages allowed FDOT to continue to provide 511 services when the CRS failed.
- Consider testing as a critical part of a software development project. While testing is primarily the responsibility of the contractor, the lead agency may want to review the test plans and documentation of test results during development, including unit and integration testing. The testing should include both the software and configuration information used to initialize the system. To achieve this, the contractual process must include details related to the visibility of the testing process.
- Errors in the CRS travel time calculations were not discovered until OOCEA reviewed the resulting travel times, and tools to test them (such as the static tests) were not available until more than 6 months after the problem was first discovered. Better testing for configuration data validity might have prevented errors from reaching the production software. For example, tools could have been developed to verify computed travel times independently. Tools that generated a map-based display of the configuration data would have provided an alternate means of testing that data.
- More detailed tests of the component that related FHP CAD incidents to roadways should have identified the fact that the software sometimes miscalculated incident locations.
- Tests of the CRS interface to the DMSs should have revealed some of the problems that FDOT experienced with this interface, such as the fact that the Cameleon 360 and CRS software had an opposite interpretation of the meaning of sign priorities.
- Include software system requirements related to configuration and administration of the system.
- With the CRS, the configuration was performed by the CRS contractor. When errors with the configuration were identified, FDOT discovered that the configuration was too complex to correct without assistance from the CRS contractor. Even the CRS contractor failed to eliminate all of the configuration errors in the CRS. Requirements that described the configuration process might have resulted in a simpler, less error-prone configuration process.
Despite these failures in developing the CRS, the existence of other methods of performing key operations, such as updating 511 and DMS messages, meant that FDOT did continue to perform these traffic management operations in spite of the failings of the CRS.
Application Areas
None defined
States
Countries
Systems Engineering
Focus Areas
None defined
Goal Areas
Keywords
None defined
Lesson ID: 2009-00489
Lesson Comments
No comments posted to date