+ All Categories
Home > Documents > What cause Software Projects to Fail?. How Do Software-based Projects Fail? Unhappy Customer –...

What cause Software Projects to Fail?. How Do Software-based Projects Fail? Unhappy Customer –...

Date post: 20-Dec-2015
Category:
View: 220 times
Download: 1 times
Share this document with a friend
21
What cause What cause Software Projects Software Projects to Fail? to Fail?
Transcript

What cause Software What cause Software Projects to Fail? Projects to Fail?

How Do Software-based How Do Software-based Projects Fail?Projects Fail?

Unhappy Customer – does not get what he expects or expect what he gets

Ran out of time and $$ Unhappy user Safety compromised, including death Technically inadequate Does not contribute to the company

business case Menace to Society©Buckley

Sometimes we risk Sometimes we risk scheduleschedule

Windows 95 came out in 97. Didn’t Windows 95 came out in 97. Didn’t anybody notice that?anybody notice that?

85% of SW projects are either late or 85% of SW projects are either late or delivered without satisfying the delivered without satisfying the specification.specification.

Adapted from BuckleyAdapted from Buckley

Sometimes we risk Sometimes we risk budgetbudget

If the entire budget for the Denver If the entire budget for the Denver Airport Baggage System had been Airport Baggage System had been converted to cash, it could have paid converted to cash, it could have paid wages for a manual system for 1000 wages for a manual system for 1000 years.years.

©Buckley©Buckley

Sometimes we risk Sometimes we risk usability!usability!

The Puget Sound ferry system had been The Puget Sound ferry system had been using mechanical and hydraulic controls using mechanical and hydraulic controls since its beginnings over 100 years ago. since its beginnings over 100 years ago.

After converting to computers and After converting to computers and electronics, it began bumping docks, electronics, it began bumping docks, injuring passengers, and damaging cars, injuring passengers, and damaging cars, and caused more damage in its next 90 and caused more damage in its next 90 days than in its previous 100 years. days than in its previous 100 years. Adapted from BuckleyAdapted from Buckley

Sometimes we risk Sometimes we risk functionfunction

Long distance services for every Long distance services for every state east of the Mississippi went state east of the Mississippi went down for two days due to a software down for two days due to a software change made 1 day before shipping change made 1 day before shipping a switching computer, that had just a switching computer, that had just passed 19 weeks of tests.passed 19 weeks of tests.

©Buckley©Buckley

Sometimes we risk deathSometimes we risk death

The Therac 25 cancer radiation The Therac 25 cancer radiation system killed 4 patients on the table.system killed 4 patients on the table.

A fuel-saving computer on the DC-10 A fuel-saving computer on the DC-10 attempted to save fuel by cutting the attempted to save fuel by cutting the engines during landing. The pilot engines during landing. The pilot restarted manually in time.restarted manually in time.

©Buckely©Buckely

Survey of Working Software Survey of Working Software DevelopersDevelopers

Developers were asked: Developers were asked: Give the top ten reasons Give the top ten reasons why software projects fail? What are we doing why software projects fail? What are we doing wrong?wrong?

472 students, representing 104 companies.472 students, representing 104 companies. 28% management28% management 61% contributing staff61% contributing staff 11% full time students11% full time students No item was included that did not have 5+ No item was included that did not have 5+

mentions in the survey.mentions in the survey. Categories include People & Management, Process, Categories include People & Management, Process,

and Styleand Style Only Only slightlyslightly listed in order of impact. listed in order of impact.

© Buckley© Buckley

Why software projects fail? Why software projects fail? Issues Raised: People / People /

ManagementManagement Territoriality, on the part of all participants,

at all levels, in all categories. “Disagree, concede, compromise, but build

the best system possible.” Not managing the whole person - regarding

core hours as the company’s, after hours as the company’s on call.

Weak Personnel and Problem Employees - spoiling an otherwise jelled team - includes management above the team.

Source: Buckley & Code CompleteSource: Buckley & Code Complete

Why software projects fail? Why software projects fail? Issues Raised: People / People /

ManagementManagement Team member burnout. Undermined Motivation

– Office Gossip– Office Politics

Unrealistic Expectations and Wishful Thinking

– planning to catch up later. Lack of project sponsorship from above and

buy-in from below.

Source: Buckley & Code CompleteSource: Buckley & Code Complete

Why software projects fail? Why software projects fail? Issues Raised: People / People /

ManagementManagement Inadequate, uninformed budgets and schedules

– There is a minimum, but no maximum, of what a project will take. Admit to that minimum. Set up realistic ground rules, track and control the project from beginning to end.

– Stupid estimates– Knowingly omitting tasks from the budget &

schedule No contingency plan - starting out with 60 hr.

weeks. Using unpaid overtime in the schedule baseline.

© Buckley© Buckley

Why software projects fail? Issues Raised:Issues Raised: People / People /

ManagementManagement Insufficient basic management - risk

management, planning, reporting, and controls

– cross your fingers and wait for surprises. Abandonment of planning under pressure. Abandonment of common sense under

pressure - testing, quality assurance, personal hygiene.

Hero based projects– Reliance on one person’s mania and drive.

Source: Buckley & Code CompleteSource: Buckley & Code Complete

Why software projects fail?Why software projects fail?

Issues Raised:Issues Raised: Process Omission of Lifecycle Steps -

– Lack of a requirements specification.– Inadequate (or omission of) Design– Lack of a test plan.– Coding too quickly.

Over-specification and too-rigid specification and design.

– Some details are better decided incrementally.– Designing for flexibility is different than designing

for function.

© Buckley© Buckley

Why software projects fail?Why software projects fail?

Issues Raised:Issues Raised: Process Requirements creep, feature creep,

developer gold-plating Lack of a Software Engineering subculture -

– Planning and prioritization– Tracking, traceability, and control– Education

Lack of non-execution-based tests. Miscommunication of intent - in

requirements and design.

© Buckley© Buckley

Why software projects fail?Why software projects fail?

Issues Raised:Issues Raised: Process Lack of Coding Standards. Out of date, inaccurate documentation -

requirements specifications and test plans.

No Version Control or any enforced record keeping.

– During development.– During maintenance.

© Buckley© Buckley

Why software projects fail?Why software projects fail?

Issues Raised:Issues Raised: Process No “practice of handling changes

systematically so that a system can maintain its integrity over time” (Configuration Management) for a delivered product.

Same people design and code. Same people code and test. Solving projects in a non-deterministic, non-

academic, non-problem solving way:– Problem avoidance (lack of innovation)

Source: Buckley & Code CompleteSource: Buckley & Code Complete

Why software projects fail?Why software projects fail?

Issues Raised:Issues Raised: Style Unneeded Complexity - in design and

implementation. Misinterpretation of test results -

incomplete regarded as exhaustive. Cleverness as opposed to clarity. Idiosyncratic style - design and program

for an audience, to agreed standards. Comments that reflect what is done rather

than what is intended.

© Buckley© Buckley

Why software projects fail?Why software projects fail?

Issues Raised:Issues Raised: Style Residual, inaccurate comments. Leaving commenting until the end. Indirect Addressing - pointers,

convoluted array indices. Not matching the “solution space” to the

“problem space”– Reliance on computer-centric constructs to

match real world events.– Synchronous modeling of asynchronous

processes.

© Buckley© Buckley

Why software projects fail?Why software projects fail?

Issues Raised:Issues Raised: Style Nesting greater than 3 levels. Modules too tightly bound together (coupled). Modules that don’t “hang” together

(Cohesion). Freely written global variables. Weakly typed variables - operations and

comparisons done on variables of incompatible type.

Code not understood by the author - done by trial and error.

Source: Buckley & Code CompleteSource: Buckley & Code Complete

Why software projects fail?Why software projects fail?

Issues Raised:Issues Raised: Style Coding for speed and size to the exclusion of

architectural design. Reliance on esoteric technologies and CASE

tools. You should suffer through enough projects without them to understand their need and place.

Extending a system’s design and architecture beyond its intent - know when to start over.

Keeping prototypes as part of the end system

© Buckley© Buckley


Recommended