The RAD Approach: Rick Nolle
The RAD Approach: Rick Nolle
Agenda
tFundamentals of IT Projects
tLearning from History
tRapid Application Development
tKeeping Projects on Track
tTrust but Verify
tSummary
1
How to Build a Computer Application
tChoose a methodology
tEstimate the size of the project
tForm a project team
tDevelop a project plan
tExecute the plan
tImplement the system
2
Columbus is RAD
Armstrong is SAD
Two Projects
Columbus and Armstrong
3
Columbus
tEuropean Coast
tNorthern Africa
Columbus
4
Columbus
Columbus
5
Armstrong
Armstrong
6
Armstrong
New Technology
Application Development
Methodologies
tDesign to Tools
7
Software
Concept Waterfall
Requirement
Analysis
Architecture
Design
Detailed
Design
Coding and
Debugging
Unit
Testing
System
Testing
Waterfall
Plusses Minuses
t Works best on complex, t Not flexible
well understood projects t Must know goal at start
t Produces high quality t Difficult to swim upstream
t Provides structure for
weak or inexperienced
staff
8
RAD Methodology
tIt’s
a spiral methodology, like a cinnamon roll
tAnalyst and user work hand in hand
Determine
Objectives
Develop Evaluate
Deliverables Alternatives
RAD Spiral
9
RAD
Plusses Minuses
t Shortest possible timeline t Complicated model
t Risk decreases as project
progresses
t Ultimate flexibility in
defining end product
t High user visibility
10
When to Use RAD?
tRAD is a good methodology when there’s not an
exact need or precise goal
tRAD involves working together to figure out
where you’re going as you go
tRAD involves uncertainty
11
General Strategies for RAD
tAvoid classic mistakes
tApply development fundamentals
tManage risks to avoid setbacks
tApply schedule-oriented practices
Classic Mistakes
1. Feature Creep
2. Gold-plating
3. Shortchanged quality
4. Overly optimistic schedules
5. Inadequate design
6. Silver bullet syndrome
7. Weak staff/Contractor failure
8. Friction between developers and customers
9. Imbalanced product, time and resources
12
Classic Mistake
Feature Creep
Classic Mistake
Gold Plating
tParkinson’s Law
Work expands to fill available time.
13
Classic Mistake
Quality Assurance
Classic Mistake
Overly Optimistic Schedules
tUnderdeveloped requirements/specifications
tUnderestimation of interdependencies
tOverestimation of individual capabilities
14
Classic Mistake
Inadequate Design
Classic Mistake
Silver Bullet Syndrome
15
Classic Mistake
Weak Staff/Contractor Failure
Classic Mistake
Poor Client Involvement
tMinimize risk
Managing Expectations
tReality versus perception
16
Classic Mistake
Imbalanced Projects
tGood Schedule
tFast
tCheap
Cost Product
17
Manage Risk
tIdentifypotential risks
tRisk analysis
tRisk prioritization
tControlling risks
tMonitor risks
18
Algorithms
Testing Time Allocations
tRequirements 20%
tDetailedDesign 25%
tCoding and Debugging 35%
tTesting 20%
Alorithms
Size Estimation
19
Function Points
Total Function Points
Function Points 3X2= 4X2= 6X 7=
Low Medium High Number of inputs 12 8 42
Number of inputs 3 4 6 4X3= 5X7= 7X2=
Number of outputs 4 5 7 Number of outputs 12 35 14
Processes 3 4 6 3 X 3 =4 X 2 = 6 X 2 =
Internal interfaces 7 10 15 Processes 9 8 12
External interfaces 5 7 10 7 X 5 = 10 X 2 = 15 X 4 =
Count of Each Function Internal interfaces 35 20 60
Number of inputs 4 2 7 5 X 6 = 7 X 1 =10 X 1 =
Number of outputs 3 7 5 External interfaces 30 7 10
Inquiries 3 2 2 Sum of Total Points 335
Internal interfaces 5 2 4 Influence Multiplier X 1.15
External interfaces 6 1 1 385
Algorithms
Teams, Plans and Timelines
20
Conclusion
tRapid Application Development is right for many
projects
tWhen RAD isn’t right, the large project can be
broken down into many smaller RAD efforts
tTime is money
21
Bibliography
Rapid Application Development, Steve McConnell,
Microsoft Press, 1996
Spiral Development: Experience, Principles and
Refinements, Barry Boehm, Software Engineering Institute,
2000
IT / Metrics / Benchmark Resources & Links,
www.metricnet.com, Howard Rubin, 2002
Various articles, www. garynorth.com, Gary North, 1998
Various articles, www.sei.cmu.edu, Carnegie-Mellon
University, 2002
22