SDLC – Beyond the Waterfall

advertisement
SDLC – Beyond the Waterfall
Systems Development Life Cycle (SDLC)
• Many approaches to systems development
• Sequential versus Iterative Development
– Understanding the difference between
these two approaches is essential
• Traditional Approach – Waterfall Model
Systems Development Life Cycle (SDLC)
• Traditional Approach is sequential
• Waterfall Model is a common example of a
sequential approach
SDLC - Waterfall Model
Initiation
Investigation
Analysis
Design
Implementation
Maintenance
SDLC - Waterfall Model
• What are the limitations of this approach?
– Cannot correct defects from previous stages
– No Feedback
– Expensive
Example
• Existing System – Analysis stage
– Extensive problem analysis and
Requirements gathered
• Move to next stage – Design stage
– Create design based on previous analysis
stage
• What happens if something changes!!
SDLC - Waterfall Model
Initiation
Investigation
Analysis
Design
Implementation
Maintenance
SDLC – Waterfall Model
• Limitations of sequential approach has lead to
the emergence of a more iterative approach
Traditional vs Agile
Traditional Methods
• Waterfall Model
• Spiral Model
• V-Model
Agile Methods
• Extreme Programming
(XP)
• Scrum
• Adaptive Software
Development
• Dynamic Systems
Development Method
(DSDM)
• Feature Driven
Development
Why Agile?
• Instead of the traditional approach
Why Agile?
• A more effective method?
A Possible Solution…
• Agile software development
• Each of these iterations can be seen as
miniature software projects
The Agile Software Development
Manifesto
On February 11-13, 2001 Agile Alliance, (formed of
software practitioners and consultants), formed and
produced a Manifesto for Agile Software
Development
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over rigid contracts
Responding to change over following a plan
People over Process
• Human interactions are more important than
the company’s processes and tools
• Close team relationships
• Close working environment
Working Software
• Frequent output of working, tested software
• Keep It Simple Stupid (KISS)
Relationship With Customer
• Reduce the risk of not meeting the terms of
contract
Responding to Change
• Contracts must be worded so as to allow
change
So what makes an agile method?
• Incremental
• Cooperative
So what makes an agile method?
• Straightforward
• Adaptive
Agile Methods
•
•
•
•
Extreme Programming (XP)
Scrum
Adaptive Software Development (ASD)
Crystal Clear and Other Crystal
Methodologies
• Dynamic Systems Development Method
(DSDM)
• Feature Driven Development
Download