20
SDLC – Beyond the Waterfall

SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Embed Size (px)

Citation preview

Page 1: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

SDLC – Beyond the Waterfall

Page 2: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

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

Page 3: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Systems Development Life Cycle (SDLC)

• Traditional Approach is sequential

• Waterfall Model is a common example of a sequential approach

Page 4: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Initiation

Analysis

Investigation

Implementation

Design

Maintenance

SDLC - Waterfall Model

Page 5: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

SDLC - Waterfall Model• What are the limitations of this approach?

–Cannot correct defects from previous stages

–No Feedback

– Expensive

Page 6: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

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!!

Page 7: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Initiation

Analysis

Investigation

Implementation

Design

Maintenance

SDLC - Waterfall Model

Page 8: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

SDLC – Waterfall Model

• Limitations of sequential approach has lead to the emergence of a more iterative approach

Page 9: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

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

Page 10: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Why Agile?

• Instead of the traditional approach

Page 11: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Why Agile?

• A more effective method?

Page 12: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

A Possible Solution…

• Agile software development

• Each of these iterations can be seen as miniature software projects

Page 13: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

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 toolsWorking software over comprehensive documentationCustomer collaboration over rigid contractsResponding to change over following a plan

Page 14: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

People over Process

• Human interactions are more important than the company’s processes and tools

• Close team relationships

• Close working environment

Page 15: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Working Software

• Frequent output of working, tested software

• Keep It Simple Stupid (KISS)

Page 16: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Relationship With Customer

• Reduce the risk of not meeting the terms of contract

Page 17: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Responding to Change

• Contracts must be worded so as to allow change

Page 18: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

So what makes an agile method?

• Incremental

• Cooperative

Page 19: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

• Straightforward

• Adaptive

So what makes an agile method?

Page 20: SDLC – Beyond the Waterfall. Systems Development Life Cycle (SDLC) Many approaches to systems development Sequential versus Iterative Development – Understanding

Agile Methods

• Extreme Programming (XP)• Scrum• Adaptive Software Development (ASD)• Crystal Clear and Other Crystal

Methodologies• Dynamic Systems Development Method

(DSDM) • Feature Driven Development