The most troubling problem is the incompatibleness between old and the new system. “as 911 has evolved into a system that is more technologically advanced, the interaction of new [Next Generation 911 (NG911)] and old [traditional circuit-switched time division multiplexing (TDM)] systems is introducing fragility into the communications system that is more important in times of dire need.”
The problem magnifies on the 40 million preset calls limit was reached. The calls were blocked because it doesn’t have the identification code by the counter. Moreover, the alarm wasn’t warn until 1 hours later. And also after the alarm ring, the problem was indicated as low level of emergency by the system monitoring software. No staff noticed the alert.
They can avoid conflict when they emerge the new system, by transferring to the new system parallelly.
They can also negotiate with the local ISP to set up an alarm system to warn once lots of many people’s call to the 911 wasn’t answered.
They need to add some extensibility to their original code, creating more interfaces in order to let the two systems communicate well, if introduced.
They should extend their capacity when the citizen’s call numbers are approaching to the maximum limit of the system.
- TTD: test driven development
- Unit tests At the beginning you write test for every single requirement, so you won't forget every detail about the program while you are programming.
Component was removed from a computer and not replaced.
- Protocal
There need to be a protocal for removing components. There should be a agreed rules for the system.
When designing a system, it's important not only to deal with computers, but also the who system, including even the people.
- Redundancy
There need to be some redundancy for computers.
There need to be a protocal for removing components. There should be a agreed rules for the system.There need to be some redundancy for computers.
Even human should be redundant.
Put alarms into a system. Raise error if no one is answering the 911 call.
Imagine where the error is possible when designing the system.