You are on page 1of 18

SDLC

METHODOLOGIES
Siyani Avishma
SDLC METHODOLOGIES…
 “Software Development Life Cycle is a process that
produces software with the highest quality and
lowest cost in the shortest time. SDLC includes a
detailed plan for how to develop, alter, maintain, and
replace a software system”

 “SDLC involves several distinct stages, including


planning, design, building, testing and deployment”
 Different SDLC methodologies in use,
 Waterfall model
 V-model
 RAD
 Agile development
WATERFALL MODEL
 “The Waterfall model is the earliest SDLC approach that was used for software
development”

 “It represents a sequential development process in which progress is seen as flowing steadily
downward through each phase of development. Therefor it is referred to as a linear-
sequential life cycle model”

 “Each phase in the development process begins only if the previous phase is complete”

 “The waterfall approach does not define the process to go back to the previous phase to
handle changes in requirement”

 “Each stage relies on information from the previous stage and has its own project plan”
PHASES OF WATERFALL MODEL
USES OF WATERFALL!

 “Requirements are very well documented, clear and fixed.


 Product definition is stable.
 Technology is understood and is not dynamic.
 There are no ambiguous requirements.
 Ample resources with required expertise are available to support the
product.
 The project is short”
ADVANTAGES OF WATERFALL DISADVANTAGES OF WATERFALL

Simple and easy to understand and use No working software is produced until late during the
life cycle.
“Phases are processed and completed one at a time. Testing is done at the final stages, hence the risk and
uncertainty is high.

Clearly defined stages. Not a good model for complex and object- oriented
projects.

Well understood milestones. “Poor model for long and ongoing projects.
Easy to arrange tasks. Not suitable for the projects where requirements are at
a risk of changing.

Process and results are well documented” Cannot accommodate changing requirements”
V MODEL
 “V-shaped model , also known as the Verification and Validation model, grew

out of Waterfall and is characterized by a corresponding testing phase for each


development stage”

 “Like Waterfall, each stage begins only after the previous one has ended”

 “This model is useful when there are no unknown requirements, as it’s still
difficult to go back and make changes”

 “The major difference between V-shaped model and waterfall model is the
early test planning in the V-shaped model”
PHASES OF V MODEL
ADVANTAGES DISADVANTAGES

“Simple and easy to use. “High risk and uncertainty.

Simple and easy to understand and use. Poor model for long and ongoing projects.

Works well for smaller projects where requirements Not a good model for complex and object-oriented
are very well understood. projects.
Verification and validation of the product in early Once an application is in the testing stage, it is difficult
stages of product development. to go back and change a functionality.
Each phase has specific deliverables” No working software is produced until late during the
life cycle”
RAD MODEL

• “Rapid application development is a software development methodology that uses


minimal planning in favor of rapid prototyping. A prototype is a working model that is
functionally equivalent to a component of the product”
• “In the RAD model, the functional modules are developed in parallel as prototypes
and are integrated to make the complete product for faster product delivery. Since
there is no detailed preplanning, it makes it easier to incorporate the changes within
the development process”
• “RAD projects follow iterative and incremental model and have small teams
comprising of developers, domain experts, customer representatives and other IT
resources working progressively on their component or prototype”
• “The most important aspect for this model to be successful is to make sure that the
prototypes developed are reusable”
PHASES OF RAD
USES OF RAD!

 “RAD should be used only when a system can be modularized to be


delivered in an incremental manner”
 “It should be used if there is a high availability of designers for Modelling”
 “It should be used only if the budget permits use of automated code
generating tools”
 “RAD SDLC model should be chosen only if domain experts are available
with relevant business knowledge”
 “Should be used where the requirements change during the project and
working prototypes are to be presented to customer in small iterations of 2-3
months”
ADVANTAGES DISADVANTAGES

“Changing requirements can be accommodated. “Requires highly skilled developers/designers.


Quick initial reviews occur. Suitable for project requiring shorter development
times.
Reduced development time. Requires user involvement throughout the life cycle.

Productivity with fewer people in a short time. Suitable for systems that are component based and
scalable.
Management complexity is more.
Iteration time can be short with use of powerful RAD Inapplicable to cheaper projects as cost of Modelling
tools. and automated code generation is very high.

Progress can be measured” High dependency on Modelling skills”


AGILE MODEL

 “It is based on iterative and incremental development, where

requirements and solutions evolve through collaboration between


cross-functional teams”

 “The model produces ongoing releases, each with small, incremental

changes from the previous release. At each iteration, the product is


tested”
 “This model emphasizes interaction, as the customers, developers and
testers work together throughout the project”
Individuals and interactions − ”In Agile development, self-
organization and motivation are important, as are interactions like co-
location and pair programming”

Working software − “Demo working software is considered the best


means of communication with the customers to understand their
AGILE requirements, instead of just depending on documentation”

MANIFESTO
Customer collaboration − “As the requirements cannot be gathered
PRINCIPLES completely in the beginning of the project due to various factors,
continuous customer interaction is very important to get proper
product requirements”

Responding to change − “Agile Development is focused on quick


responses to change and continuous development”
ADVANTAGES DISADVANTAGES
Is a very realistic approach to software development. Not suitable for handling complex dependencies.

“Good model for environments that change steadily. “More risk of sustainability, maintainability and extensibility.

Delivers early partial working solutions. There is a very high individual dependency, since there is
minimum documentation generated.

Suitable for fixed or changing requirements Transfer of technology to new team members may be quite
challenging due to lack of documentation.
Functionality can be developed rapidly and An overall plan, an agile leader and agile PM practice is a
demonstrated. must without which it will not work.
Promotes teamwork and cross training” Strict delivery management dictates scope to be delivered &
adjustments to meet the deadlines”
THANK YOU!

You might also like