April 2009  

 

 

 

 

The Software Process

Why is there a need for improved software project management processes?

Forty years after computer software development first became established, our industry faces several common challenges.  Software projects typically face management issues that most other forms of business do not.

According to annual surveys of several thousand American software project managers by the Standish Group , software development is vulnerable to  risk factors that may cause failure:

recent survey of 500 project managers, 75% of them stated that they had been part of a software project that was cancelled before successful delivery was achieved.
Over 90% of attempted American software projects had been stopped and then re-started at a later date.  Such stops and starts represent a major risk factor for project failure.
30% of all software projects were  cancelled before completion, which in 1995 cost our industry $85 Billion.
70% of the surviving projects were  typically delivered over-budget and over-schedule by factors of 2.2 times the original cost & time estimates.

Over 60% of completed projects failed to include all of the functionality requested by the client.

 

Top Causes of  Project Failure

Insufficiently Defined software requirements for a given project
Constantly changing software requirements with no formal change control process in place
A failure of customer management to support the goals of the project
A lack of effective communication of between the software team and their customer
A lack of good  communication between different roles within software teams

The project risk factors listed in the table at right were identified by project managers as being the most important risk factors affecting projects.

Extensive analysis within the software industry has lead to several important conclusions regarding these unfortunate statistics.  These risk factors all center around a lack of effective technical communication between software teams and customer business units, and also internally within the development team.

The inability to effectively define the scope of a complex project and to manage constant requirements change are also  common, major challenges that typically expose projects to risk.

Iterative development and the Rational Unified Process provide structured methodologies that allow software project teams and business organizations to better organize their work.  The "bandwidth" (free-flow) of intra-team and technical team to business unit communication is improved.  This improved communication is brought about through providing a common platform for structuring and documenting the planning, research and production operations that are involved in software development work.

Iterative development and Rational's Unified Process and tool set provide practical and effective solutions to these common, industry-wide risk management problems.  Better communication between technical teams and business units results in well run projects and more content customers and team members.  

Find out about these processes and tools on the following pages.

 

Last | Next