Analysis and Design of Information Systems Why Software Fails Version 1.0 Software failures take place all over the world. It happens to large companies and small ones. It happens to commercial, non-profit or even to government organizations. Business and social impacts are wasted taxpayers and shareholders money as well investments. The cost compensated for software failure is now billion dollars per year. IT is ubiquitous today. 1 trillion dollars will be invested this year of which 5% to 15% will be abandoned before or right after the delivery of the software. Software failures are avoidable and predictable. Most organizations do not urge to avoid failures. The risk is even harming or destroying the whole organization. Average companies spend 4% to 5% of their investment on IT while financial and telecommunication companies invest about 15% on IT. What happens when a software project fails are as follows. 1. 2. 3. 4.
It jeopardizes entire prospects of an organization. IT failure in government can imperil national security. Failure can also stunt economic growth and quality of life. Cost of litigation faced by organizations due to the unsatisfied customers.
The reasons behind project failure are listed below. These are most common factors. 1. Unrealistic project goals. 2. Inaccurate estimates of required resources. 3. Poorly defined system requirements. 4. Poor project status reporting. 5. Unmanaged risks. 6. Poor communications among developers, users and customers. 7. Use of immature technology. 8. Inability to handle project complexities. 9. Poor project management. 10. Stakeholder politics. 11. Commercial pressure. IT projects fail because of one or two reasons- this is rare case. It is in faction combination of technical, project management and business decisions. If a single mistake is seen in some place during the project run, it is required to solve that bug immediately. Else the cost of unwrapping the works up to the glitch and solving the glitch will cost huge. That will not only solve the problem but also changing documents and other calculations are required then. But it has been proved that developers spend 40% to 50% on the rework. Moreover, attempting a fix of an error may raise other errors. In simple terms, IT projects fail when the rework exceeds the value added works (actual job) are budgeted for.
A developer never wants that software will fail. So, when it fails we need to take a look at the business environment, project management and organizational culture as well. Most organizations as they are in tough competition, then intend to see software projects not as investments but as costs that must be controlled. Political exigencies can impact on the software project cost and quality as well. Lack of upper management support can also damn IT undertakings. Often project managers lie about their project progress, how much they will cost and what functionalities they will provide, etc. Once IT projects fail then we should take a look at the hardware and software used to build up the IT project and what practices were made during development. Using unrealistic and untested technology will doom the project. Size of project is another key factor. It is proved that large projects fail 4-5 times greater than small projects. The larger the project the more static elements (software, hardware, etc) and dynamic elements (integration, testing, etc). Though it is tough to test any IT project whether small or large fully. It takes many bricks removal to collapse a wall but it takes only one line of code to collapse a whole project. Sloppy development practice also causes software failures. To help organizations to assess their software and hardware Capability Maturity Model (CMM) is proposed. It rates company’s practises against 5 levels of maturity. • • •
CMM level 1: Using ad hoc and chaotic development process CMM level 3: Characterized its practises and now it understands them CMM level 5: Quantitatively understands the variations in the process and practises and it applies them as well
Project managers play a crucial role in projects and can be a major source of errors that lead to failure. Most important function is to allocate resources. He is also responsible for planning, estimation, control, organization and contract management, quality management, risk management, communications and Human Resource (HR) management, etc. Bad decisions by project managers are probably the single greatest cause of failures. Poor technical management can lead to technical errors but it can be isolated and solved. In contrast, poor project management is a havoc. An organization that values openness, honesty, communication and collaboration is more likely able to solve mistakes. The reasons that software projects fail are well known and have been documented in many documents over the years. By observing the current project environment and these documents one can forecast the perfection of the project.
Reading Materials Why Software Fails by Robert N. Charette: This is an extraordinary article on software failures. You must have to go meticulously through the article. Don’t follow the numbers and years in the examples given in the article. You have to know the reasons and place yourself to explain and think about software failures.