Software Development
Life Cycle (SDLC)
“You’ve got to be very careful if you don’t
know where you’re going, because you might
not get there.”
Yogi Berra
Capability Maturity Model (CMM)
• A bench-mark for measuring the maturity
of an organization’s software process
• CMM defines 5 levels of process maturity
based on certain Key Process Areas
(KPA)
CMM Levels
Level 5 – Optimizing (< 1%)
-- process change management
-- technology change management
-- defect prevention
Level 4 – Managed (< 5%)
-- software quality management
-- quantitative process management
Level 3 – Defined
(< 10%)
-- peer reviews
-- intergroup coordination
-- software product engineering
-- integrated software management
-- training program
-- organization process definition
-- organization process focus
Level 2 – Repeatable (~ 15%)
-- software configuration management
-- software quality assurance
-- software project tracking and oversight
-- software project planning
-- requirements management
Level 1 – Initial
(~ 70%)
SDLC Model
A framework that describes the activities
performed at each stage of a software
development project.
Waterfall Model
• Requirements – defines
needed information, function,
behavior, performance and
interfaces.
• Design – data structures,
software architecture, interface
representations, algorithmic
details.
• Implementation – source
code, database, user
documentation, testing.
Waterfall Strengths
•
•
•
•
•
•
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff, track)
Works well when quality is more important than
cost or schedule
Waterfall Deficiencies
• All requirements must be known upfront
• Deliverables created for each phase are
considered frozen – inhibits flexibility
• Can give a false impression of progress
• Does not reflect...