This presentation discusses whether Object Oriented Programming is the Silver Bullet. It discusses how features of OOP can answer the essential problems of software design discussed by Dr. Fred Brooks in his article titled "No Silver Bullet".
2. AGENDA
Overview of “No Silver Bullet”
Difficulties in Software Development
Potential Silver Bullets
Feature of Object Oriented Programming
Q & A
3. 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
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 Rock Problem
Barriers to Elicitation
The “Yes, But” Syndrome
The “Undiscovered Ruins” Syndrome
The “User and the Developer” Syndrome
The “Analysis Paralysis” Syndrome
8. 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])
10. 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
11. 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.
14. 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
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