Software Process Improvement - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Software Process Improvement

Description:

... to the level of an industrial age engineering discipline within the decade (2005) ... In addition, Software Engineering needs a better empirical basis - we ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 14
Provided by: scie288
Category:

less

Transcript and Presenter's Notes

Title: Software Process Improvement


1
Software Process Improvement
  • Current Problems
  • Promising Approaches/Solutions
  • Nature of Software Engineering
  • Software Engineering Research
  • Recent Developments and the Future

2
Software Chronic Crisis
W. Wayt Gibbs, Software Chronic Crisis,
Scientific American, September 1994
  • Studies in the USA have shown
  • For every 6 new large-scale software systems put
    into operation, 2 others are cancelled!
  • The average software development project over
    shoots its schedule by half (and larger projects
    generally do worse).
  • Around 75 of all large systems are operating
    failures i.e. do not function as intended or are
    not used at all. Source of USA figures
    Software Productivity Research

3
History
  • Programming has been an established activity
    undergoing refinement for more than 50 years.
  • Over 25 years ago, in Autumn 1968, the Software
    Crisis was acknowledged, and the establishment
    of Software Engineering was proposed as a means
    of solving the Software Crisis of 1968 where SE
    is the application of a systematic, disciplined,
    quantifiable approach to the development,
    operation and maintenance of software.

4
Current Situation
  • However, today the vast majority of code is still
    hand crafted from programming languages by
    artisans using techniques they neither measure
    nor are able to repeat consistently.
  • But academics have made some progress in formal
    methods and in instituting software engineering
    degrees.
  • Industry has made some progress towards market
    structures and technology supporting reusable
    software parts.
  • Even so, a research innovation typically requires
    18 years to become standard industrial practice.
  • SEI finding

5
Current trends The decade ahead
  • A combination of academic industry and government
    is needed to hoist software development to the
    level of an industrial age engineering discipline
    within the decade (2005)
  • As we move into the Information Age, error-free
    software will become the expected norm.
  • This will be especially true for embedded
    software in consumer products.
  • The amount of s/w in consumer products is
    doubling every 2 years e.g. TV 500Kb,
    Shaver 2Kb
  • Existing problems in attempts to develop
    error-free Real-Time s/w for defense applications
    do not give us confidence (Gilles Kahn of INRIA)

6
Large System Integration Problem
  • Example 1987 CA Department of Motor Vehicles
    commissioned system to merge states driver and
    vehicle registration systems.
  • Goal was one-stop renewal kiosks in 1993
  • Costs exploded 6.5 times and delivery date
    receded to 1998
  • Project cut after 7 years and 44.3 M dollars
    investment loss.

7
Large and growing systems...
  • In general, software systems have seen an order
    of magnitude growth in size every decade (for
    some industries this has occurred every half
    decade). SEI finding
  • Software disasters inevitable unless software
    development became engineering discipline with
    roots in science and mathematics.

8
Some Solutions
  • Progress on Software Process, e.g. the SEIs
    Capability Maturity Model (CMM)
  • 5 Level Model - 1 is Chaotic, 2 is Repeatable, 3
    is Defined, 4 is Managed and 5 is Optimising
  • But 75 of companies are at Level 1 and 24 are
    at Levels 2 and 3.
  • USA Space Shuttle software maintenance is at
    Level 5.

9
Mathematical Foundations and Formal Methods
  • Progress on error-free software is slow.
  • Plan in mid90s to beta-test new version of
    Windows by 20,000 volunteer. Microsoft Chief
    Architect C Simonyi
  • This is expensive, inefficient and usually
    impractical.
  • View of Martyn Thomas founder of Praxis is that
    we should rely on mathematical analysis of formal
    specifications to predict how software will
    behave.
  • Applicable to either on most critical parts or
    whole systems.

10
Clean Room Approach and Improved Testing
  • Clean Room Application of rigorous engineering
    techniques from electronic engineering
  • Coupled with new approaches to testing
    emphasizing probabilities of execution paths.
    Putting testing on a more scientific basis.

11
Progress on Software Reuse
  • There is some work on component based
    development, reusable parts and standardisation
    to support reuse
  • But more research is needed before this becomes
    widespread industrial practice.

12
No Single Solution
  • A combination of Approaches is needed - there is
    no silver bullet!
  • In addition, Software Engineering needs a better
    empirical basis - we need more experiments!
  • E.g. Software productivity measurement problems
  • No reliable data
  • No uniform measures
  • No quality considerations (1000 lines of
    spaghetti or lasagna.

13
Summary
  • Future Topics
  • Process Models and Improvement
  • Formal Methods
  • Clean Room
  • Empirical basis of Software Engineering
Write a Comment
User Comments (0)
About PowerShow.com