Lesson
Define a vision for software operations upfront and follow sound systems engineering practices for successfully deploying a complex software system.
Experience from iFlorida Model Deployment
01/30/2009
Florida,United States
Background (Show)
Lesson Learned
Some of the challenges faced by FDOT centered on limitations and failures of the Condition Reporting System (CRS) software. FDOT, aware of the problems with the CRS and anticipating the potential that it might fail, began testing SunGuide, a replacement for the CRS, in November 2006. First, FDOT installed an existing version of the SunGuide software and configured it to manage recently deployed ITS equipment on and near I-95. When the CRS failed in May 2007, FDOT began expediting a transition to this new software. By September 2007, FDOT was operating a Beta release of the SunGuide 3.0 software and sharing its operational experiences with the software developers. This close interaction enabled FDOT to continue to use the SunGuide software and regain the operational advantages that could not be obtained through the CRS. Lessons learned from this experience involving the software development process provide the following insights.
- Follow sound systems engineering practices for successfully deploying a complex software system like the CRS. The CRS project began with high-level requirements defined, and the CRS contractor did not refine those broad requirements into more detailed ones. Systems engineering approaches that are less reliant on detailed requirements, such as a spiral model, were not employed. Inadequate requirements led to misunderstandings about the capabilities expected from the CRS and to insufficient testing of the software. The software development process spiraled out of control and ended with CRS software that was not usable and that ultimately was abandoned. Applying sound systems engineering practices more rigorously could have resulted in more usable code or helped FDOT more quickly determine that the contractor was not performing. Better requirement definitions up front might have prevented changes that occurred throughout the development phase. More stringent testing by the contractor might have identified problems earlier in the development cycle when they could be more easily corrected. Closer monitoring of this testing might have allowed FDOT to more quickly determine that the software was not meeting requirements.
- Devote a significant amount of time at the beginning of a software development project to ensure that all parties share a mutual vision for how the resulting software should operate. The starting point of the CRS project was a set of high-level requirements developed by FDOT. A number of meetings were held between FDOT and CRS contractor staff to review these requirements. Despite this, the requirements often left room for interpretation, and differences of opinion between FDOT and the CRS contractor about how the CRS should operate continued throughout most of the time the CRS was under development. No mutual vision of how the software should operate was developed. With SunGuide, FDOT was provided with an early version of the software and FDOT configured the software to work with a set of recently installed FDOT hardware. FDOT worked directly with SunGuide technical staff to resolve difficulties and to define enhancements to current features needed to meet FDOT needs. This evolutionary approach resulted in a shared vision of how the software should operate.
- Ensure that the software must be capable of interfacing with subsystems and the nature of the interaction must be well-defined. With the CRS, long-standing problems occurred with the interfaces between the CRS and almost every other external system with which it interfaced-the FHP CAD system, the weather provider, the travel time server, and the DMS signs. Only the interface between the CRS and the 511 system worked reliably.
Application Areas
None defined
States
Countries
Systems Engineering
Focus Areas
None defined
Goal Areas
Keywords
None defined
Lesson ID: 2009-00486
Lesson Comments
No comments posted to date