HW5: Reflections

When engineering a new software program, risks need to be evaluated and directly tested. It is the duty of the engineer to see that there are safety elements in place to handle these risk if they do occur. If proper testing and follow up is not done, tragic cases such as those that happened with the Therac-25 can occur. With the Therac-25 issues, software was reused from another device that had hardware fail safes to prevent improper use. The software was not tested with the new hardware which did not have the hardware fail safes until they were assembled at the hospital. The risk of over radiating a patient do to improper use or fault was not tested with new hardware because it was assumed it would not have any issues due to it being reused software. Therefore good software engineering practices were not followed. The application was built in such a way that proper testing was nearly impossible.

The FBI wasted millions of dollars by not following software engineering processes. They built a blueprint for a piece of software that was doomed from the start. Many of the features specified could have been provided at much lesser expense by customizing off the shelf software. The project was place into the hands of a person who had no project management experience. Unattainable deadlines were put in place and the software was behind schedule from the get go. The software was plagued by system upgrade issues. Multiple leadership changes also affected the direction of the development because the goals were changed. Eventually it was determined that the software developed as VCF was so poorly written that it would be better to start over with a new project.

Sentinel was to replace want was supposed to be replaced by VCF. Six years later, Sentinel was a two years behind and still lacked common features found even in the most basic of word processors. The beta program failed during testing procedures. And two years after the final product was delivered the software still had major issues with indexing and searching case files. The indexing function was not popular with the end users due to its functionality. This aspect should have been tested and refined with user input to make it beneficial to the agents that would be using it. The searching function was too hard to use for most of the agents, making it useless.

The FBI is not the only government institution that has wasted tax payer dollars by poor software engineering principles. NASA has several catastrophic failures due to poor software engineering. The most famous of these the Mars Climate Orbiter (MPL). The MCO was to enter a low orbit around the planet but entered an orbit that was much lower than expected. An investigation into how this happened revealed that a failure to use metric units in the coding of the software for the control of the thrusters. They were instead done in English units. Simple test cases could have been setup to test for this issue before the craft even left the earth.