Most software projects fail completely or partial failures because a small number of projects meet all their requirements. These requirements can be the cost, schedule, quality, or requirements objectives. According to many studies, failure rate of software projects is between 50% - 80%. This essay is a compilation of failure causes of software development projects; this essay summarises several areas that play a vital role in software project failure.

So, what really is the reason for software project failure? The sad fact is that software projects fail because we do not recognize that good engineering principles should be applied to software projects just as they are to building office buildings. We try to defend ourselves by saying that software construction is "different".

One of the most serious complaints against software failure is the inability

to estimate with acceptable accuracy the cost, resources, and schedule necessary

for a software project. Conventional assessment methods have always produced

positive results which contribute to the too well-known cost infested and

schedule slippage.

Over the last 20 years many cost and schedule estimation techniques have been

used with mixed sensation due to restrictions of the assessment models. A major

part of the estimations failure can be due to a lack of understanding of the

software development process and the effect of that method used in the project

plan, schedule and cost estimates.

Failure Case Studies

Below are few of the case studies considered which will be analysed to fetch

the main reasons of failure of the software system.

Northumbria University developed accounting software to manage its day to day

business. The project could not come up with the desired results and failed to

meet the deadlines. Te investigations showed that the basic project management

procedures were not followed. This case study is referenced in this essay at

different points where necessary. [1]

Thai subsidiary (SMTL) of a Hong Kong-based multinational company (SMHK)

engaged in the manufacturing of electronic equipment. They implemented an

integrated software package; which was a failure at the several factors. These

factors were mostly management related. Such as a poor fit between the business

process assumptions inscribed in the software and the business processes in SMTL,

poor leadership at different levels, cultural differences, organizational

environment, and poor human resource management.

St John's Hospital is a District General Hospital provides medical and

nursing services, which includes both general surgery and medicine.All these

services are supported by diagnostic imaging, laboratory, ambulance, pharmacy

and therapy services, which are all on site. As the major hospital in a tourist

area, it deals with many visitors in the holiday season, generating a large

amount of non-booked admissions work.

Software Management & Leadership

It has been shown repeatedly, that effective leadership is essential for successful IT implementation (Klenke, 1994). A leader must also have cultural sensitivity, communication skills, creativity, ability to delegate, and the ability to develop and retain human resources (Luthans, 1994). The software manager at (SMHK) was a western, where as the lower managers were Eastern. So there was a cultural clash going on always. Jack (Manager) always try to introduce creative thoughts. And most of the time the lower management could not do them. Hence there was a clash going on all the time.

Employees also felt that management hardly ever "listened" to their concerns

or attempted to address them. Consequently, many employees were eager to leave

the company, and did so as soon as they found alternate opportunities in other

companies.

Project Planning & Scheduling

Project planning means creating work breakdown, and then allocate responsibilities to the developers over time. Project planning consists of construction of various tasks, timelines and essential pathways including Gantt charts and PERT charts and different written plans for various situations.

It is quite usual in software development process to work backward from the

project end date which results in complete software project failure. It is

impossible that a project can be completed efficiently from the planning stage

to the implementation stage.

Allocation of roles and responsibilities has to be clearly defined, and it

becomes crucial while hiring the stall from outside. University's higher

management failed to apply the basic project management rules which laid to the

project failure.

Proper scheduling is also required before the start of the project. It

includes the time scheduling, teams scheduling. Project managers don't know what

they have to plan and schedule. They just only tell the programmer what to do

and the programmers can come up with a proper solution.

The development was moved to a new office and the office was not fully

equipped with the proper infrastructure. As time is also a big factor in success

or failure of a project. So it delayed the development process and contributed

towards the project failure. Infrastructure was not fully scheduled and

management team didn't know where and how the project development will be

started.

The top secret of a winning software development project is to control the

quality up and lower the risk. Contingency plan is also the part of planning. In

case things went wrong then this plan can be followed to lower the affect of the

failure of project. Same was the case with university's accounting software. The

management team had no such a contingency plan nor did they evaluate the risk

involved in the development of the new system. So it caused more trouble without

the backup system or backup plan.

The management just try to follow the methodologies like SDLC or RAD, but don't know which methodology to use and at which time should apply the right technique.

Cost Estimation

Cost estimation is mainly involved the cost of effort to produce the software project. But it's not limited to the effort only. It also includes the hardware and software cost, training the employees and customer, travelling to the customer, networking and communication costs. Cost estimation should be done as a part of the software process model.

Cost estimation needs to be done well before the start of the project

development. Failure of the budgeting for the cost of the project results in

complete disaster. As stated above the infrastructure cost, development tools

cost and hardware cost also needs to be estimated first.

Same thing happened to university's accounting system development. They

purchased the new system well with out any serious estimation of the cost and

the income sources.

Below are the reasons why wrong cost estimation is done.

Inappropriate estimation methodology

Another reason would be the use of an inappropriate cost estimation methodology. Not a single methodology is better than other. Every methodology has its own strong and weak points which should be considered. Dr. Barry Boehm's book Software Engineering Economics lists seven estimation methodologies. One or more of these methodologies can be used to estimate the cost of a project

"Good suggestion is that more than one software cost estimation methodology

should be used for accurate estimation".

Cost estimation tools

There are many drawbacks in manual cost estimation. This technique is almost obsolete now. These days successful cost estimation includes the use of appropriate commercial software cost estimating tool.

Good software estimating tools do not always guarantee reliable software

estimates. Wrong input of the software size will result in wrong estimate.

Estimation software also needs to be customised for the specific need of

organization. These customisations require the data from the past projects as

input for the tool to estimate.

There are number of reasons these tools can return the wrong estimate.

Choosing the right estimation tool

Choice of a right estimation tool is necessary for the right estimation. The tool is not capable of handling the input and thus it can come up with the wrong estimate and hence cause the software project to fail.

Ease of customisation

As mentioned above the selected tool must be customisable according to the organisation needs, so that the organization can customise it according to the needs and past project data.

Easy to use and learn

The cost estimation tool should be easy to use and learn. It must include help and examples, simple and straight forward user interface. It must require less training to learn the system and inputs should be well defined.

Accurate Estimation

The estimation tool must have the capability to analyse all the parameters and come up with the accurate estimation for the cost.

Risk Management

Risk management is an important factor towards software project failure if it's not managed timely and effectively. As nothing can be predicted that what will happen in future so we have to take the necessary steps in the present to take any uncertain situation in the future. Risk management means dealing with a concern before it becomes a crisis.

Risk Identification

According to the Universal risk Project there are two types of conditions which can be a symbol of as risk.


IF-THEN Statements

"IF technology is not available, THEN we will not meet the requirement"
"IF we cannot hire sufficient qualified software engineers, THEN we cannot meet the planned development schedule

CONDITION-CONSEQUENCE Statements


Given the "condition", there is a likelihood that the "consequence" will occur
"Given that this specific test fails (the CONDITION), the CONSEQUENCE is that the planned schedule will slip"



Project managers have to identify the areas where the risk can be and how it

can affect the development of the project. Risk can be of technical nature or

non technical. Project managers needs to be aware of both the risks. Most of the

projects managers are not good in either of the side. A good manager with

programming skills can be good in identifying the technical risk but not in non

technical risk.

Risk Analysis

After the risk is identified there is a need to make the categories of that risk. Risk analysis is the process of examining the project results and deliverables after the risk analysis and applying the technique to lower the risk. After risk analysis is complete, the proper risk analysis plan needs to be made to cope with any uncertain situation. First identified risks are categorized and make the hierarchy of those risks. At this point the risk is classified as the positive or negative risks.

Risk Prioritization

After the risk is analyzed, the next step is to priorities the risk. At first focus on the most sever risk first; and les sever later. These risk factors can worked from time to time so that the final project out come is free of risk. So most of the time project management team fails to identify the sever risk and work on the less sever risk. This often results in the form of a crisis.

Risk Avoidance

Dealing with the risk is an art. Some times the management takes the projects with out identifying the proper risk involved in the project. So an experienced manager will take the project after proper risk analysis and avoid any risk involved in the project.

Risk control

Managing the risk to achieve the desired results and deliverables is done through controlling the risk at its best. This is a pure intuitive process and depends on the experience of the project management team, or risk already managed in past projects which were done by the same organization.

Conclusion

This essay has presented three basic factors which can cause the software development project to fail. Planning & Scheduling, cost estimation and risk management. All of these factors are to be considered at the management level and then transferred to the lower management.

Planning & Scheduling comes at first, good planning and scheduling makes the

strong foundation for the software project. Project planning consists of

construction of various tasks, timelines and essential pathways including Gantt

charts and PERT charts and different written plans for various situations. If

these factors are not taken into part then the software may encounter problems

during the development and the final product will be a failure.

Cost estimation depends on the budget of the project, customer type and the

size and effort to be put in the project. Cost estimations are done many times

during the life cycle of a project. It affects the project in many ways, wrong

estimation complete failure, affect the good-will of the organisation if the

costs are not covered, stake holders are affected and waste of resources.

Managing the risk is a practical approach for decreasing the ambiguity and

possible loss related with a software development project. Potential measures

can be considered as opportunity-focused (positive risk) if their consequences

are favourable, or as threat-focused (negative risk) if their consequences are

unfavourable.




[1]. infoNet is an Advisory Service funded by JISC retrieved on November 26 2006 from http://www.jiscinfonet.ac.uk/ Jones, Capers, Patterns of Software Systems Failure and Success, International Thompson Computer Press, Boston, Mass., 1996. Boehm, B.W., ?Software Risk Management: Principles and Practices?, IEEE Software, January 1991 http://sunset.usc.edu/classes/cs510_2003/notes/risk.pdf ?Software Risk Management: Back to Basics ? The Top 10 (or so) Software Risks?, Software Technology Conference, 2003




0 comments:

Post a Comment

 
Top