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.
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.
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.
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]
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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".
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.
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.
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.
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.
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.
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.
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 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
Article Source: http://EzineArticles.com/453814
0 comments:
Post a Comment