COMP6204 the absence of an organisational crisis, it is

COMP6204 Software Project Management and Development

Why Software Projects Fail
Software Failure

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

What do we mean by failure?
Software project failure is when the software either does not perform as expected, is not operational at a specified time, or cannot be used in the way it was intended
General causes are:

Organisational inertia (at a time of crisis)
Large complex systems
Estimation of time and costs

Software Project Failure

As many as 75 percent of large software projects are considered to be operating failures.

do not reap the expected benefits

Many Software Project ‘failures’ are not necessarily falling apart,

 but either they clearly are not used in the way they were intended, or they are not used at all

Information Systems as projects

The failure rate was an improvement over 1994 when 31% failed.
More recent figures show a rather different story, with a 63% success rate from 586 projects.

Organisational inertia

In the absence of an organisational crisis, it is difficult to focus organisational attention and resources on developing new systems because organisations are so resistant to change. 
Much large-scale system development is initiated in periods of organisational crisis, and is not planned. 
These periods are not well suited to rational planning and implementation.

Large complex software systems

Large-scale software systems that affect large numbers of organisational units and staff members and that have extensive information requirements are difficult to oversee, co-ordinate, and plan for.

 implementing such systems, which have multi-year development periods, is especially problem-ridden because the systems are so complex.

Estimation of time and costs

Few projects take into account the long-term maintenance costs of systems. 
Requirements change after development has begun. 

alterations in the business environment, 
commonly they are caused by a poor initial needs analysis, poor communication among developers and users, and the failure of users to become involved at the earliest stages of the SDLC. 

If you do not  denies new user requests during the development phase projects are likely to run significantly over budget and behind schedule.

or delays action on them until the maintenance phase
Often called “feature creep”

Software project Failure
Why does this happen? 

Failure recognise systems development as an organisational change. 
Insufficient user involvement leading to systems that don’t meet user needs, resulting in user opposition and sabotage. 
Poor match between development methodology and organisation culture can result in political problems and a  false risk assessment. 

Software project Failure
Why does this happen? 

By  top management not getting involved 

can result in the fail to anticipate the long-term needs of the organisation 
 that conflict with strategic organisational goals.

Incorrect estimation or inadequate tracking of time or budget 
 leads to staff fatigue, late and over-budget delivery, quality problems, and the development of unnecessary or overly costly features. 

Software project Failure: Why does this happen? 

Poor project management can lead to

Insufficient “motivation” –  (project not being seen as a priority)
Incorrect estimation
Inadequate control of time
Inadequate control of cost
Quality problems
the development of unnecessary or overly costly features
Lack of understanding and time to learn necessary  technologies
(“Human” factors)

Main Problem Areas

Most of these problems stem from organisational not technical factors
Analysis :-fails to capture essential business requirements, 

users must interact excessively complicated by lacks an appropriate user interface 

Data:- highly inaccurate or inconsistent
Cost:- to implement and run
Operations:- response time too slow

Technical Failure

Often there is a lack of appreciation of the technical issues to be overcome. 

especially the case when leading-edge technology is being implemented and little or no account has been allowed for the chances of technical failure. 

Often poor documentation especially on new API or interfaces with hardware, little or no forums to get help on.

Projects involving new and untried technology often require contingency funding (margin for error) amounting to 50% of the project’s initial budget!

Note new could just be new to your organisation where there is no expertise.

Data Failures

Often due to poor design, processing errors and lack of good data management result in failure. 

The cause is poor system analysis and design where the new system is a computerised version of the existing system and carries forward all of its errors and poor operating procedures.
Database redesign is costly so take time in designing the database
Use of no-sql can give some flexibility here, but has other costs too.
Remember the need to design General Data Protection Regulations into the data flow

User Failure

Developing operator skills is vital to the successful implementation of a project. 

User training is overlooked or nominally tackled, leaving both operators and managers unaware of the potential of the new system. 
Many systems are also built without consulting the existing users, resulting in the implementation of unworkable solutions.

Software development can help here

Involve users as early as possible in the user interface design, using techniques such as User eXperience (UX) design
Remember the legal obligations on accessibility

Measuring System Success

No consensus of opinion, yet the following are key:

High levels of system use.
User satisfaction with the system.
Favourable attitudes.
Achieved objectives.
Financial payoff to the organisation.

Implementation Success and Failure

To date no single explanation or formula for success or failure has been found.   Yet known to be largely determined by the following factors:

The role of users in the implementation process
The degree of management support for the implementation effort
The level of complexity and risk of the implementation project
The company’s experience with projects of given sizes. 
The quality of management of the implementation process

User Involvement and Influence

Incorporating the user’s knowledge and expertise leads to better solutions (but they are not designers)

have more opportunities to mould the system according to their priorities and business requirements 
they are more likely to react positively to the system because they have been active participants in the change process itself. 

User Involvement and Influence

The User-Designer Communications Gap

different backgrounds, interests, and priorities 
Designers go for technical solutions to optimise hardware and software efficiency at the expense of ease of use or organisational effectiveness
Users prefer systems that are oriented to solving business problems or facilitating organisational tasks

Management Support

Management backing also ensures that a software project will receive sufficient funding and resources to be successful.
If a manager considers a new system to be a priority, the system will more likely be treated that way by their team.
Over commitment causes problems by pouring excessive resources into a systems that is failing or that should never have been undertaken.

What’s different about software?

It’s new
It’s different
It’s “virtual” rather than physical
There’s no “manufacturing” for it
It’s very complex

It’s new

First example of the computer as we know it today was the “Small-Scale Experimental Machine” at Manchester University (the Manchester “Baby”)

Ran for the first time on 21st June 1948
It had the equivalent of 1024 bits of memory
Used 550 valves (250 EF50s plus another 300 diodes)
17′ x 7’4″, weighed around a ton
Power consumption approx 3.5 kW

It’s different

It’s not like anything we’ve ever done before
It inhabits a “virtual” world where constraints of the (real) world don’t apply

There is no equivalent of the fundamental physical laws of the real world
So, for example

You can have as many dimensions as you like
There’s no equivalent of mechanical failure

There’s no manufacturing for it

There may be a duplication activity, but there’s no real equivalent to the way you “manufacture” a physical product like, say, a car
In effect the familiar engineering process ends at the point where production usually starts
Most “engineered” products deteriorate and wear out with use, but… 
In a curious way, Software gets better (with use and reuse)

It is, or can be, very complex

Modern computer systems are very complex

At the time, a 1970s colour TV which was probably the most complex electronic device ever mass produced
About 106 transistors on a 80486, more like 109 today
Windows 7 is commonly supposed to have
40-50 million lines of code

How long would it take to perform an exhaustive test of 50 million lines of code?
(War and Peace is around 1500 pages, ~500,000 words)

What will be covered?

Project management, things like
Critical path analysis
Costing
Estimation
Quality Assurance and testing
And things like
Software Development processes
Plus some other things that may be relevant or not, like group formation and UK examinations

Summary

Software Projects fail for a number of reasons, common problems are:

Lack of appropriate resources
Lack of Planning
Lack of adequate documentation
Lack of user (Stakeholder) involvement

Software development is different from other forms of projects, but the management techniques are similar.

Questions

What a system is said to be a failure, what is meant by this.
It is said that system development should be considered as organisation change, why is this. What problems does it lead to if it is not considered this way.
You have been asked to advise a manger who is going to implement the POS system. What are the areas to consider to avoid failure during the implementation phase.
Give four reasons why the failure rate of a software system rises when developers hand it over to users.