By
Angelin
SDLC

     A framework that describes the
activities performed at each stage of a
software development project.
SDLC PHASES
Requirements Gathering and Analysis
Design
Development
Testing
Implementation
Maintenance
SDLC PHASES
SDLC MODELS
    To help understand and
implement the SDLC phases various
SDLC models have been created by
software development experts,
universities, and standards
organizations.
Reasons for Using
     SDLC Models
Provides basis for project planning, estimating
& scheduling
Provides framework for standard set of
terminologies, activities & deliverables
Provides mechanism for project tracking &
control
Increases visibility of project progress to all
stakeholders
Advantages of Choosing
 an Appropriate SDLC
 Increased development speed
 Increased product quality
 Improved tracking & control
 Improved client relations
 Decreased project risk
 Decreased project management overhead
Common Life Cycle
      Models

Waterfall
Spiral/Iterative
Agile
Waterfall Model

 Analysis
    Design
     Development
            Testing
             Deployment
               Maintenance
Waterfall Model

Oldest and most well-known SDLC model
Follows a sequential step-by-step process from
requirements analysis to maintenance.
Systems that have well-defined and understood
requirements are a good fit for the Waterfall
Model
Waterfall Model
      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 Model
     Weaknesses
All requirements must be fully specified
upfront
Deliverables created for each phase are
considered frozen – inhibits flexibility
Can give a false impression of progress
Does not reflect problem-solving nature of
software development – iterations of phases
Integration is one big bang at the end
Little opportunity for customer to preview
the system (until it may be too late)
When to use the
   Waterfall Model
Requirements are very well known
Product definition is stable
Technology is understood
New version of an existing product
Porting an existing product to a new
platform.
Spiral/Iterative Model
                             Requirements
                               Analysis

         Requirements                             Design
           Gathering


Repeat
         Enhancement

 Maintenance
                        Iterative                  Development



                                       Quality
                Deployment            Assurance
Spiral Model

Spiral Model is a “risk-driven” iterative model
Divides a project into iterations
Each iteration deals with 1 or more risks
Each iteration starts with small set of
requirements and goes through development
phase (except Installation and Maintenance)
for those set of requirements.
Spiral Model

Iterate until all major risks addressed and the
application is ready for the Installation and
Maintenance phase (production)
Each of the iterations prior to the production
version is a prototype of the application.
Last iteration is a waterfall process
Spiral Model Strengths

 Provides early indication of insurmountable
 risks, without much cost
 Critical high-risk functions are developed first
 The design does not have to be perfect
 Users see the system early because of rapid
 prototyping tools
 Users can be closely tied to all lifecycle steps
 Early and frequent feedback from users
Spiral Model Weaknesses
 Time spent for evaluating risks too large for
 small or low-risk projects
 Time spent planning, resetting objectives, doing
 risk analysis and prototyping may be excessive
 The model is complex
 Risk assessment expertise is required
 Spiral may continue indefinitely
 May be hard to define objective, verifiable
 milestones that indicate readiness to proceed
 through the next iteration
When to use Spiral
      Model
When creation of a prototype is appropriate
When costs and risk evaluation is important
For medium to high-risk projects
Users are unsure of their needs
Requirements are complex
New product line
Significant changes are expected (research
and exploration)
Agile Model
          Discover

  Test


                 Design     Discover
Develop
                     Test


                                   Design     Discover
               Develop
                                       Test


                                                     Design
                                  Develop
Agile Model

Speed up or bypass one or more life cycle
phases
Usually less formal and reduced scope
Used for time-critical applications
Used in organizations that employ
disciplined methods
Some Agile Methods

Rapid Application Development (RAD)
Scrum
Extreme Programming (XP)
Adaptive Software Development (ASD)
Feature Driven Development (FDD)
Crystal Clear
Dynamic Software Development Method (DSDM)
Rational Unify Process (RUP)
Agile Model Strengths

Deliver a working product faster than
conventional linear development model
Customer feedback at every stage ensures
that the end deliverable satisfies their
expectations
No guesswork between the development
team and the customer, as there is face to
face communication and continuous inputs
from the client
Agile Model Weaknesses

 For larger projects, it is difficult to judge the
 efforts and the time required for the project
 in the SDLC.
 Since the requirements are ever changing,
 there is hardly any emphasis, which is laid on
 designing and documentation. Therefore,
 chances of the project going off the track
 easily are much more
Thank You!

             Angelin

Software Development Life Cycle (SDLC)

  • 1.
  • 2.
    SDLC A framework that describes the activities performed at each stage of a software development project.
  • 3.
    SDLC PHASES Requirements Gatheringand Analysis Design Development Testing Implementation Maintenance
  • 4.
  • 5.
    SDLC MODELS To help understand and implement the SDLC phases various SDLC models have been created by software development experts, universities, and standards organizations.
  • 6.
    Reasons for Using SDLC Models Provides basis for project planning, estimating & scheduling Provides framework for standard set of terminologies, activities & deliverables Provides mechanism for project tracking & control Increases visibility of project progress to all stakeholders
  • 7.
    Advantages of Choosing an Appropriate SDLC Increased development speed Increased product quality Improved tracking & control Improved client relations Decreased project risk Decreased project management overhead
  • 8.
    Common Life Cycle Models Waterfall Spiral/Iterative Agile
  • 9.
    Waterfall Model Analysis Design Development Testing Deployment Maintenance
  • 10.
    Waterfall Model Oldest andmost well-known SDLC model Follows a sequential step-by-step process from requirements analysis to maintenance. Systems that have well-defined and understood requirements are a good fit for the Waterfall Model
  • 11.
    Waterfall Model 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
  • 12.
    Waterfall Model Weaknesses All requirements must be fully specified upfront Deliverables created for each phase are considered frozen – inhibits flexibility Can give a false impression of progress Does not reflect problem-solving nature of software development – iterations of phases Integration is one big bang at the end Little opportunity for customer to preview the system (until it may be too late)
  • 13.
    When to usethe Waterfall Model Requirements are very well known Product definition is stable Technology is understood New version of an existing product Porting an existing product to a new platform.
  • 14.
    Spiral/Iterative Model Requirements Analysis Requirements Design Gathering Repeat Enhancement Maintenance Iterative Development Quality Deployment Assurance
  • 15.
    Spiral Model Spiral Modelis a “risk-driven” iterative model Divides a project into iterations Each iteration deals with 1 or more risks Each iteration starts with small set of requirements and goes through development phase (except Installation and Maintenance) for those set of requirements.
  • 16.
    Spiral Model Iterate untilall major risks addressed and the application is ready for the Installation and Maintenance phase (production) Each of the iterations prior to the production version is a prototype of the application. Last iteration is a waterfall process
  • 17.
    Spiral Model Strengths Provides early indication of insurmountable risks, without much cost Critical high-risk functions are developed first The design does not have to be perfect Users see the system early because of rapid prototyping tools Users can be closely tied to all lifecycle steps Early and frequent feedback from users
  • 18.
    Spiral Model Weaknesses Time spent for evaluating risks too large for small or low-risk projects Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive The model is complex Risk assessment expertise is required Spiral may continue indefinitely May be hard to define objective, verifiable milestones that indicate readiness to proceed through the next iteration
  • 19.
    When to useSpiral Model When creation of a prototype is appropriate When costs and risk evaluation is important For medium to high-risk projects Users are unsure of their needs Requirements are complex New product line Significant changes are expected (research and exploration)
  • 20.
    Agile Model Discover Test Design Discover Develop Test Design Discover Develop Test Design Develop
  • 21.
    Agile Model Speed upor bypass one or more life cycle phases Usually less formal and reduced scope Used for time-critical applications Used in organizations that employ disciplined methods
  • 22.
    Some Agile Methods RapidApplication Development (RAD) Scrum Extreme Programming (XP) Adaptive Software Development (ASD) Feature Driven Development (FDD) Crystal Clear Dynamic Software Development Method (DSDM) Rational Unify Process (RUP)
  • 23.
    Agile Model Strengths Delivera working product faster than conventional linear development model Customer feedback at every stage ensures that the end deliverable satisfies their expectations No guesswork between the development team and the customer, as there is face to face communication and continuous inputs from the client
  • 24.
    Agile Model Weaknesses For larger projects, it is difficult to judge the efforts and the time required for the project in the SDLC. Since the requirements are ever changing, there is hardly any emphasis, which is laid on designing and documentation. Therefore, chances of the project going off the track easily are much more
  • 25.
    Thank You! Angelin