by Robert L. Glass
Chapter 1 - 2.1.4
Presented by Yin Cao
The purpose of my presentation is to foster discussion about some
software runaway war stories. When we’re failing, dig deep and think hard
what’s the problems in our runaway can effectively prevent stories
like these happen again.
Project objectives not fully specified is the main cause of software
runaway
There is little doubt that project requirements are the single biggest
cause of trouble on the software project front. Study after study has found
that where there is a failure, requirement problems are usually found at
the heart of the matter
1. There are far too many of them. Huge projects fail far more often than smaller ones.There were three projects that suffered most clearly from requirement trouble. They are the Denver International Airport Baggage-Handling System, the Florida Welfare System, and the FAA Air Traffic Control System.
2. They are unstable. The users cannot decide what problem they really want to solve.
3. They are ambiguous. It is not possible to determine what the requirements really mean.
4. They are incomplete. There is insufficient information to allow a system to be built.
At Denver, those responsible for the system tried to scale a relatively simple system into a far more complicated one, there by cause a spectacular schedule overrun.
In Florida, the responsible people tried to use a centralized system from another state as the basis for a decentralized project in Florida, leading to a host of problems with increasingly ugly contractual, and political implications.
At the FAA, it was once again a mismanaged requirements story but with a different verse. The requirements for the originally proposed system were so huge that it is still unclear if such a system could be built. Only time will tell.
Next will more directly to these stories.
Two years into the construction of the new airport, a vision began to emerge for the inclusion of an airport-wide integrated baggage-handling system that could provide a major improvement in the efficiency of luggage delivery. The new airport was expected that the integrated system would improve ground time efficiency, reduce close-out time for hub operations, and decrease time-consuming manual baggage sorting and handling. The plan was to allow the airport to grow and expand without compromising efficiency.
BAE Automated systems Inc., an engineering consulting and manufacturing company was awarded the contract.
But the result said that Denver International Airport is performing
far worse than expected, and worse than the airport which DIA replaced.
1. The scale of the large project size;
2. The enormous complexity of the expanded system;
3. The newness of the technology;
4. The large number of resident entities to be served by the same system;
5. The high degree of technical and project definition uncertainty; Short time span for completion;
BAE didn't pay enough attention to the programming issues early enough in the design process. This was a build-design project, which means that the airport was building while it was designing. There was a lot of pressure and too many players. About 200 to 300 firms and reached 400 during the construction phase, five different firms designed the runways, four the terminal. and the program was chopped up into many small projects. Moreover, communication channels between the city, project management team, and consultants were neither well defined nor controlled. So there were at least four to six copies of everything. One of the biggest problems we had was keeping track of all the changes. It took three years to implement the tracking system.1. A Build-Design Project
A grand airport like DIA needs a complex baggage system. Although the technology developed, its implementation in a complex project like DIA would have required significantly greater time than the city had left available. A united project manager concurred: ”BAE told them from the beginning that they were going to need at least one more year to get the system up and running, but no one wanted to hear that”.3. Implementing an Integrated Baggage-handling System need time
The management team never perceived the baggage-handling system as determining the economical survival of the project in any significant way, especially once the settlements with BAE took place. Furthermore, although the requirements for the system were expanded from one airline, United Airlines, to serve the whole airport, the managerial structures merely replicated past practices. The managerial team failed to5. Project Organization Redefine
The relationship with the management team was very poor. The management team had no prior baggage handling competence or experience.6. Project Relations
Two distinct processes going on, one political and the other technical, and they have little to do with one another. The city lost control at the outset, and the project was destined to run amuck. Further political problems ran through the entire Denver International Airport construction in the presence of rhetoric and false assurances to the bond market.7. Politics
The BAE design is technologically advanced. It is not the next generation of baggage system, it is more like a jump from third to fifth or sixth generation. Unfortunately, BAE misused its technological advantage by expecting spectacular performance from the system components, and not allowing them a proper margin of error. The components were expected to perform to their highest theoretical capabilities.8. Technologically Advanced
A timetable for the opening of the airport was never realistic and should have taken potential problems into account.9. Schedule
Early in testing, laser scanning equipment that misread bar codes became a major problem. BAE resolved some scanning difficulties by installing redundant laser scanners. Unfortunately, in BAE's case, it was difficult to pinpoint every manifestation of laser scanning error due to the number of possibilities inherent in the system.11. Equipment
Most of the problems related to errors in the system’s computer software, but mechanical problems also played a part. In response to criticism after the third opening delay, BAE president explained, "We simply ran out of test time" because of changes requested by the airlines, problems "working around other vendors," and failures in the airport's electrical power supply.
The process of organization change surrounding the implementation of
the bagage- handling system at DIA involved new
ways of working, managing, and thinking.
What’s the problem of the Florida Welfare system?
Many observers believe the FLORIDA system was flawed from the start.
HRS found human and computer error resulted in $260 million in overpayments and $58 milllion in underpayments during 1992. Complying with the federal requirement, Florida inexplicably decided to predicate its design for a distributed system on an Ohio project that used centralized computers to serve two counties. To accomplish that miracle of computer engineering, ERS proceeded to transferring several million lines cobol code from Ohio to the project in Florida. Without electricity, FLORIDA was useless to citizens whose homes and lives were brutalized. Attempts to increase FLORIDA’s capacity brought new troubles. The Medicaid overpayments in particular are directly attributable to software problems.
The FLORIDA system may also be at the root of the human errors. FLORIDA does all eligibility calculations, which frees recipients from being shuffled from caseworker to caseworker, but also means that if FLORIDA makes a mistake, the caseworker is unlikely to catch it unless he or she has specific knowledge of the assistance program.
That still leaves FLORIDA, which limps along with its software problems
unresolved. It will be fantastic, a real improvement in delivery of services.
So the first step in preventing a runaway software project is: Make sure you know what you're supposed to do. That means you need to make sure you understand the problem sufficiently, so that you know if your solution will work. At Twin Forces, that means that the first thing we do is sit down with the customer and work with him to understand the problem. The better you understand the project, the more you can make sure that you're fixing the right problem, and the more you can plan around future problems down the road.
The next step is planning the project well to begin with. Frankly, that's just experience. We've done a lot of software projects, so we're pretty good at estimating when things will be done. Not only that, but in business its always best to underpromise and overdeliver. That is, we have the business sense to realize that we need to interface with other people, and its much easier for people to adjust for you being early, then for them to adjust for you being late. New technology is always a problem, however, it doesn't have to be. The right way to integrate new technology is to integrate it gradually, a step at a time. Its rare that you really need to jump with both feet into a new technology. Generally, you can build something that works, then add a piece of the new technology. Once that new piece works, add another piece, and so on until you've fully integrated the technology. If you must add the new technology all at once, test that technology early in the project rather then later. However, to be honest, new technology is rarely a problem for us simply because we have the experience to know when and where to use new technology, not just use it because its "cool".
Bad project management and too junior of staff are generally not a problem for us because the principals are all quite experienced, and no employee has less then 6 years of experience.
1. Robert L. Glass, “Software Runaways”, chapter 1.1-2.14
2. Argyris, C. Overcoming Organizational Defenses", Boston: Allyn & Bacon, 1990.
3. Ramiro Montealegre, “What Can We Learn from the Implementation of the Automated Baggage-Handling System at the Denver International Airport?”
4. New Denver Airport: Impact of the Delayed Baggage System (Briefing Report, 10/14/94, GAO/RCED-95-35BR).