OOP- A Silver Bullet ?
AGENDA
 Overview of “No Silver Bullet”
 Difficulties in Software Development
 Potential Silver Bullets
 Feature of Object Oriented Programming
 Q & A
OVERVIEW
 “No Silver Bullet : Essence and Accidents of Software
Engineering” -- Dr. Fredrick Brooks
 Monumental Software Disasters
Denver International Airport
Advanced Automation System (AAS)
MasterNet system for Bank of America
ESSENTIAL DIFFICULTIES
 Complexity
 Changeability
 Invisibility
 Conformity
“There must be simplified explanations of nature, because God
is not capricious or arbitrary.” -- Einstein
POTENTIAL SILVER BULLETS
 Object Oriented Programming
 Requirements Refinement and Rapid Prototyping
 Buy versus Build
OBJECT ORIENTED PROGRAMMING
 Abstraction
 Encapsulation
 Inheritance
I, Pencil – Leonard E. Read
Some must watch while some must sleep – William Dement
REQUIREMENT REFINEMENT
The Rock Problem
Barriers to Elicitation
The “Yes, But” Syndrome
The “Undiscovered Ruins” Syndrome
The “User and the Developer” Syndrome
The “Analysis Paralysis” Syndrome
ROOT CAUSE OF PROJECT SUCCESS AND FALIURE
0
5
10
15
20
25
30
35
40
45
50
Requirements
Specification
Managing
Customer
Requirements
Documentation
Testing
Project
Management
Coding
Major Problem Minor Problem Never a Problem
Software Development Problems (Data derived from ESPITI [1998])
Contd…..
0
10
20
30
40
50
60
70
80
90
1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
East
West
North
Cost to repair a defect at different lifecycle phase (Data from Davis [1998])
SOLUTIONS
 Rapid Prototyping
One that simulates the important interfaces and performs the
main functions of the intended system, while not necessarily
being bound by the same hardware speed, size or cost
constraints.
 Incremental Development
Grow, don’t build, software
“Any software system should be grown by Incremental
Development.”
-- Harlan Mills in his book Software Productivity
BUY VERSUS BUILD
Successful Projects:
The project is completed on time and within the specified
budget with all features and functions as originally specified.
Challenged Projects:
The project is completed and operational, but over-budget ,
over the time estimate and with fewer features and functions than
originally specified.
Failed Projects:
The project is cancelled before completion.
PROJECT RESOLUTION HISTORY
16
27
26
28
31
40
28
23
53
33
46
49
0% 20% 40% 60% 80% 100%
1994
1996
1998
2000
Succeeded
Failed
Challenged
Data derived from the CHAOS report [2000] by Standish Group
OVERRUNS AND DEFICIENCIES
202%
214%
182%178%
239%
230%
26%
35%
58%
0%
50%
100%
150%
200%
250%
Large Medium Small
Cost Overruns
Time Overruns
Content Deficiencies
Data derived from the CHAOS report [2000] by Standish Group
SUCCESS BY PROJECT SIZE
33%
25%
15%
8%
55%
0%
0% 10% 20% 30% 40% 50% 60%
Less than $750K
$750K to $1.5M
$1.5M to $3M
$3M to $6M
$6M to $10M
Over $10M
“Large projects are not just bigger small projects. They are completely different beasts”
-- Barry Boehm
BUY OR BUILD ?
Never Build. Always Buy.
WHY ???
 Quicker turnaround
 Benefit of proven product
 Long term maintenance and support available
 Potentially Lower investment cost
HOW ???
 Acquire commercial software; Ready to use
 Contract with a third party to build your system; Outsource
 Strategic Alliance
THANK YOU
QUESTIONS & ANSWERS

OOP - A Silver Bullet ?

  • 1.
    OOP- A SilverBullet ?
  • 2.
    AGENDA  Overview of“No Silver Bullet”  Difficulties in Software Development  Potential Silver Bullets  Feature of Object Oriented Programming  Q & A
  • 3.
    OVERVIEW  “No SilverBullet : Essence and Accidents of Software Engineering” -- Dr. Fredrick Brooks  Monumental Software Disasters Denver International Airport Advanced Automation System (AAS) MasterNet system for Bank of America
  • 4.
    ESSENTIAL DIFFICULTIES  Complexity Changeability  Invisibility  Conformity “There must be simplified explanations of nature, because God is not capricious or arbitrary.” -- Einstein
  • 5.
    POTENTIAL SILVER BULLETS Object Oriented Programming  Requirements Refinement and Rapid Prototyping  Buy versus Build
  • 6.
    OBJECT ORIENTED PROGRAMMING Abstraction  Encapsulation  Inheritance I, Pencil – Leonard E. Read Some must watch while some must sleep – William Dement
  • 7.
    REQUIREMENT REFINEMENT The RockProblem Barriers to Elicitation The “Yes, But” Syndrome The “Undiscovered Ruins” Syndrome The “User and the Developer” Syndrome The “Analysis Paralysis” Syndrome
  • 8.
    ROOT CAUSE OFPROJECT SUCCESS AND FALIURE 0 5 10 15 20 25 30 35 40 45 50 Requirements Specification Managing Customer Requirements Documentation Testing Project Management Coding Major Problem Minor Problem Never a Problem Software Development Problems (Data derived from ESPITI [1998])
  • 9.
    Contd….. 0 10 20 30 40 50 60 70 80 90 1st Qtr 2ndQtr 3rd Qtr 4th Qtr East West North Cost to repair a defect at different lifecycle phase (Data from Davis [1998])
  • 10.
    SOLUTIONS  Rapid Prototyping Onethat simulates the important interfaces and performs the main functions of the intended system, while not necessarily being bound by the same hardware speed, size or cost constraints.  Incremental Development Grow, don’t build, software “Any software system should be grown by Incremental Development.” -- Harlan Mills in his book Software Productivity
  • 11.
    BUY VERSUS BUILD SuccessfulProjects: The project is completed on time and within the specified budget with all features and functions as originally specified. Challenged Projects: The project is completed and operational, but over-budget , over the time estimate and with fewer features and functions than originally specified. Failed Projects: The project is cancelled before completion.
  • 12.
    PROJECT RESOLUTION HISTORY 16 27 26 28 31 40 28 23 53 33 46 49 0%20% 40% 60% 80% 100% 1994 1996 1998 2000 Succeeded Failed Challenged Data derived from the CHAOS report [2000] by Standish Group
  • 13.
    OVERRUNS AND DEFICIENCIES 202% 214% 182%178% 239% 230% 26% 35% 58% 0% 50% 100% 150% 200% 250% LargeMedium Small Cost Overruns Time Overruns Content Deficiencies Data derived from the CHAOS report [2000] by Standish Group
  • 14.
    SUCCESS BY PROJECTSIZE 33% 25% 15% 8% 55% 0% 0% 10% 20% 30% 40% 50% 60% Less than $750K $750K to $1.5M $1.5M to $3M $3M to $6M $6M to $10M Over $10M “Large projects are not just bigger small projects. They are completely different beasts” -- Barry Boehm
  • 15.
    BUY OR BUILD? Never Build. Always Buy. WHY ???  Quicker turnaround  Benefit of proven product  Long term maintenance and support available  Potentially Lower investment cost HOW ???  Acquire commercial software; Ready to use  Contract with a third party to build your system; Outsource  Strategic Alliance
  • 16.