SlideShare a Scribd company logo
1 of 27
Download to read offline
SOFTWARE DEVELOPMENT LIFE
CYCLE (SDLC)
MOHAMED SAMI
AGENDA
Software Development Life Cycle (SDLC) - Mohamed Sami 2
What is SDLC, and why we need them
How to select the right SDLC
WHAT IS SDLC?
A framework that describes
the activities performed at
each stage of a software
development project.
SDLC is a splitting of software
development work into
distinct phases (or stages)
containing activities with the
intent of better planning and
management
The SDLC aims to produce a
high quality software that
meets or exceeds customer
expectations, reaches
completion within times and
cost estimates
Known
as
Software
development
methodology
System
development
methodology
Software
development
life cycle
Software
development
process
Software
process
Software Development Life Cycle (SDLC) - Mohamed Sami 3
WHAT IS SDLC PROCESS MODELS?
• SDLC models have been created by software development experts,
universities, and standards organizations to solve some repeated issue
or to enhance other models.
• Each process model follows series of steps unique to its type, in order
to ensure success in process of software development.
Software Development Life Cycle (SDLC) - Mohamed Sami 4
WHY USING A PROCESS MODEL
Project Planning
What should be or
shouldn’t be built
Define the
terminologies,
activities and
deliverables
Proper
documentation
Align project
progress visibility
with stakeholders
Software Development Life Cycle (SDLC) - Mohamed Sami 5
THE RIGHT CHOICE
Improve customer
alignment and relations
Development speed
(time to market)
Increase projects success
rate
Improve software quality
Eliminating management
overhead
Decrease
implementation risk
We need to choose the right SDLC based on project context
Software Development Life Cycle (SDLC) - Mohamed Sami 6
PERSPECTIVES
Software Development Life Cycle (SDLC) - Mohamed Sami 7
THE COST OF DEFECTS
Software Development Life Cycle (SDLC) - Mohamed Sami 8
HOW TO SELECT THE RIGHT SDLC
• Selecting the right SDLC is a process in itself that organization can implement internally or consult for.
There are some steps to get the right selection
Learn about
SDLC Models
Assess the
needs of
Stakeholders
Define the
criteria
Software Development Life Cycle (SDLC) - Mohamed Sami 9
MOST COMMON MODELS
Models
Waterfall
V-Shaped
Model
Evolutionary
Prototyping
Spiral Method
(SDM)
Iterative and
Incremental
Extreme
programming
(Agile
development)
Software Development Life Cycle (SDLC) - Mohamed Sami 10
WATERFALL
• The waterfall Model is a linear
sequential flow.
• In which progress is seen as
flowing steadily downwards (like
a waterfall) through the phases
of software implementation.
• This means that any 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.
• The waterfall approach is the
earliest approach that was used
for software development
Operation
and
maintenance
Release and
deployment
Testing
Implementati
on
Design
Requirements
analysis
A linear
sequential flow.
Oldest and most
well-known -
1970
The usage
Projects which not focus on changing requirements, for example, responses for
request for proposals (RFPs)
Software Development Life Cycle (SDLC) - Mohamed Sami 11
ADVANTAGES AND DISADVANTAGES
Advantages Disadvantages
Easy to be explained inflexible, like the waterfall model
Stages and activities are well defined Adjusting scope is difficult and expensive
Milestones are well understood Model doesn't provide a clear path for problems
found during testing phases
Each phase has specific deliverables Costly and required more time
Works well for smaller projects where requirements
are very well understood.
Needs very proper and detailed planning
Process and results are well documented No continuous customer involvement to review the
output
Software Development Life Cycle (SDLC) - Mohamed Sami 12
V-SHAPED
• It is an extension for waterfall
model, Instead of moving
down in a linear way, the
process steps are bent
upwards after the coding
phase, to form the typical V
shape.
• The major difference between
v-shaped model and waterfall
model is the early test
planning in v-shaped model.
The usage
· Software requirements clearly defined and known
· Software development technologies and tools is well-known
Software Development Life Cycle (SDLC) - Mohamed Sami 13
ADVANTAGES AND DISADVANTAGES
Advantages Disadvantages
Verification and validation of the product in early
stages of product development
Assumes that the requirements of a system can be
frozen and known from beginning
Easy to use.
Stages and activities are well defined
Does not easily handle dynamic changes in
requirements
Higher chance of success over the waterfall model
due to the development of test plans early on
during the life cycle
Inflexible and adjusting scope is difficult and
expensive
Each phase has specific deliverables Costly and required more time
Works well for where requirements are easily
understood
Needs very proper and detailed planning
No continuous customer involvement
Software Development Life Cycle (SDLC) - Mohamed Sami 14
PROTOTYPING MODEL
• It refers to the activity of
creating prototypes of software
applications, for example,
incomplete versions of the
software program being
developed.
• It is an activity that can occur in
software development. It used
to visualize some component of
the software to limit the gap of
misunderstanding the customer
requirements by the
development team.
• This also will reduce the
iterations may occur in waterfall
approach and hard to be
implemented due to inflexibility
of the waterfall approach.
• So, when the final prototype is
developed, the requirement is
considered to be frozen.
The usage
• This process can be used with any software developing life cycle model.
• While this shall be focused with systems needs more user interactions.
• So, the system do not have user interactions, such as, system does some
calculations shall not have prototypes.
Throwaway
prototyping
Evolutionary
prototyping
Incremental
prototyping
Extreme
prototyping
Software Development Life Cycle (SDLC) - Mohamed Sami 15
PROTOTYPING MODEL
Software Development Life Cycle (SDLC) - Mohamed Sami 16
ADVANTAGES AND DISADVANTAGES
Advantages Disadvantages
Reduced time and costs Insufficient analysis, guess why?
this can be disadvantage if the developer loses time
in developing the prototypes
User confusion of prototype and finished system
Improved user involvement Developer misunderstanding of user objectives·
Users give corrective feedback Excessive development time of the prototype
A more accurate end product Expense of implementing prototyping, this can be
eliminated if it will be integrated with the final
product. Process may continue forever (scope
creep)
Software Development Life Cycle (SDLC) - Mohamed Sami 17
SPIRAL (SDM)
• It is combining elements of both design
and prototyping-in-stages, in an effort to
combine advantages of top-down and
bottom-up concepts.
• This model of development combines the
features of the prototyping model and the
waterfall model.
• The spiral model is favored for large,
expensive, and complicated projects.
• This model uses many of the same phases
as the waterfall model, in essentially the
same order, separated by planning, risk
assessment, and the building of prototypes
and simulations.
The usage
• It is used in shrink-wrap large applications and systems which
built-in small phases or segments.
Software Development Life Cycle (SDLC) - Mohamed Sami 18
ADVANTAGES AND DISADVANTAGES
Advantages Disadvantages
Estimates (i.e. budget, schedule, etc.) become more
realistic as work progresses
High cost and time to reach the final product
Changing requirements can be accommodated Needs special skills to evaluate the risks and
assumptions
Development can be divided into smaller parts and
more risky parts can be developed earlier which
helps better risk management
Highly customized limiting re-usability
Users see the system early and give corrective
feedback
Time spent planning, setting objectives, doing risk
analysis and prototyping will be huge
A more accurate end product
Software Development Life Cycle (SDLC) - Mohamed Sami 19
ITERATIVE AND INCREMENTAL
• It is developed to overcome the weaknesses
of the waterfall model.
• It starts with an initial planning and ends
with deployment with the cyclic interactions
in between.
• The basic idea behind this method is to
develop a system through repeated cycles
(iterative) and in smaller portions at a time
(incremental), allowing software developers
to take advantage of what was learned
during development of earlier parts or
versions of the system.
The usage
• It is used in shrink-wrap application and large system
which built-in small phases or segments
• can be used in system has separated components, for
example, ERP system. Which we can start with budget
module as first iteration and then we can start with
inventory module and so forth.
Mini Waterfall 1
Mini Waterfall 2
Mini Waterfall n
Final Waterfall
Software Development Life Cycle (SDLC) - Mohamed Sami 20
ADVANTAGES AND DISADVANTAGES
Advantages Disadvantages
Produces business value early in the development life cycle
(Do you know why)
Requires heavy documentation· Follows a defined set of
processes
More customer involvement Partitioning the functions and features might be
problematic
Better use of scarce resources through proper increment
definition
Defines increments based on function and feature
dependencies
Can accommodate some change requests between
increments
Requires more customer involvement than the linear
approaches (It is advantage as well)
More focused on customer value than the linear
approaches
Integration between iteration can be an issue if this is not
considered during the development
Problems can be detected earlier
Lowers initial delivery cost and initial product delivery is
faster
Software Development Life Cycle (SDLC) - Mohamed Sami 21
AGILE (XP - SCRUM)
• It is based on iterative and
incremental development, where
requirements and solutions
evolve through collaboration
between cross-functional teams.
• Usually less formal and reduced
scope
• Used for time-critical
applications
The usage
• It can be used with any type of the project
• it can be used when the customer needs to have some functional requirement
ready in less than three weeks
Software Development Life Cycle (SDLC) - Mohamed Sami 22
ADVANTAGES AND DISADVANTAGES
Advantages Disadvantages
Decrease the time required to avail some system features Scalability
Face to face communication and continuous inputs from
customer representative leaves no space for guesswork
Skill of the software developers
The end result is the high quality software in least possible
time duration and satisfied customer
Ability of customer to express user needs
Produces business value early in the development life cycle
(Do you know why)
Documentation is done at later stages
Reduce the usability of components
Needs special skills for the team
Software Development Life Cycle (SDLC) - Mohamed Sami 23
THE CONTEXT
Business Priorities Skills
Technology Others
Software Development Life Cycle (SDLC) - Mohamed Sami 24
THE CRITERIA
• Is the SDLC appropriate for the size of our team and their skills?
• Is the SDLC appropriate with the selected technology we use for implementing the solution?
• Is the SDLC appropriate with client and stakeholders need and priorities
• Is the SDLC appropriate for the geographical situation (co-located or geographically dispersed)?
• Is the SDLC appropriate for the size and complexity of our software?
• Is the SDLC appropriate for the type of projects we do?
• Is the SDLC appropriate for our engineering capability?
Software Development Life Cycle (SDLC) - Mohamed Sami 25
THE CRITERIA
Factors Waterfall V-Shaped Evolutionary
Prototyping
Spiral Iterative and
Incremental
Agile
Methodologies
Unclear User
Requirement
Poor Poor Good Excellent Good Excellent
Unfamiliar Technology Poor Poor Excellent Excellent Good Poor
Complex System Good Good Excellent Excellent Good Poor
Reliable system Good Good Poor Excellent Good Good
Short Time Schedule Poor Poor Good Excellent Excellent Excellent
Strong Project
Management
Excellent Excellent Excellent Excellent Excellent Excellent
Cost limitation Poor Poor Poor Poor Excellent Excellent
Visibility of
Stakeholders
Good Good Excellent Excellent Good Excellent
Skills limitation Good Good Poor Poor Good Poor
Documentations Excellent Excellent Good Good Excellent Poor
Component reusability Excellent Excellent Poor Poor Excellent Poor
Software Development Life Cycle (SDLC) - Mohamed Sami 26
Thank you
I hope you have learned new things
Mohamed Sami
Software Development Life Cycle (SDLC) - Mohamed Sami 27

More Related Content

What's hot

SDLC Model (Waterfall,Iterative Waterfall,Spiral)
SDLC Model (Waterfall,Iterative Waterfall,Spiral)SDLC Model (Waterfall,Iterative Waterfall,Spiral)
SDLC Model (Waterfall,Iterative Waterfall,Spiral)
Shaikh Kamrul Islam (Konok kamrul)
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
Gurban Daniel
 

What's hot (20)

SDLC
SDLCSDLC
SDLC
 
SDLC
SDLCSDLC
SDLC
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
SDLC Model (Waterfall,Iterative Waterfall,Spiral)
SDLC Model (Waterfall,Iterative Waterfall,Spiral)SDLC Model (Waterfall,Iterative Waterfall,Spiral)
SDLC Model (Waterfall,Iterative Waterfall,Spiral)
 
Prototyping model
Prototyping modelPrototyping model
Prototyping model
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering)
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
Water fall model
Water fall modelWater fall model
Water fall model
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
 

Similar to Software Development Life Cycle (SDLC)

61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
SuhleemAhmd
 

Similar to Software Development Life Cycle (SDLC) (20)

SDLC
SDLCSDLC
SDLC
 
Lecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptxLecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptx
 
Assignment
AssignmentAssignment
Assignment
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
Scrum in IT Industry Part1
Scrum in IT Industry Part1Scrum in IT Industry Part1
Scrum in IT Industry Part1
 
Software Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptxSoftware Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptx
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 
Software Design Architecture SDA SDLC DETAILS
Software Design Architecture  SDA SDLC DETAILSSoftware Design Architecture  SDA SDLC DETAILS
Software Design Architecture SDA SDLC DETAILS
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdf
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
Process model
Process modelProcess model
Process model
 
Software development
Software developmentSoftware development
Software development
 
System Development Life Cycle Models
System Development Life Cycle ModelsSystem Development Life Cycle Models
System Development Life Cycle Models
 
Software development life cycle (sdlc)
Software development life cycle (sdlc)Software development life cycle (sdlc)
Software development life cycle (sdlc)
 
SDLC (Software development life Cycle)
SDLC (Software development life Cycle)SDLC (Software development life Cycle)
SDLC (Software development life Cycle)
 
software construction modules,language,tools,design
software construction modules,language,tools,designsoftware construction modules,language,tools,design
software construction modules,language,tools,design
 
Software models
Software modelsSoftware models
Software models
 

Recently uploaded

FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Recently uploaded (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 

Software Development Life Cycle (SDLC)

  • 1. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) MOHAMED SAMI
  • 2. AGENDA Software Development Life Cycle (SDLC) - Mohamed Sami 2 What is SDLC, and why we need them How to select the right SDLC
  • 3. WHAT IS SDLC? A framework that describes the activities performed at each stage of a software development project. SDLC is a splitting of software development work into distinct phases (or stages) containing activities with the intent of better planning and management The SDLC aims to produce a high quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates Known as Software development methodology System development methodology Software development life cycle Software development process Software process Software Development Life Cycle (SDLC) - Mohamed Sami 3
  • 4. WHAT IS SDLC PROCESS MODELS? • SDLC models have been created by software development experts, universities, and standards organizations to solve some repeated issue or to enhance other models. • Each process model follows series of steps unique to its type, in order to ensure success in process of software development. Software Development Life Cycle (SDLC) - Mohamed Sami 4
  • 5. WHY USING A PROCESS MODEL Project Planning What should be or shouldn’t be built Define the terminologies, activities and deliverables Proper documentation Align project progress visibility with stakeholders Software Development Life Cycle (SDLC) - Mohamed Sami 5
  • 6. THE RIGHT CHOICE Improve customer alignment and relations Development speed (time to market) Increase projects success rate Improve software quality Eliminating management overhead Decrease implementation risk We need to choose the right SDLC based on project context Software Development Life Cycle (SDLC) - Mohamed Sami 6
  • 7. PERSPECTIVES Software Development Life Cycle (SDLC) - Mohamed Sami 7
  • 8. THE COST OF DEFECTS Software Development Life Cycle (SDLC) - Mohamed Sami 8
  • 9. HOW TO SELECT THE RIGHT SDLC • Selecting the right SDLC is a process in itself that organization can implement internally or consult for. There are some steps to get the right selection Learn about SDLC Models Assess the needs of Stakeholders Define the criteria Software Development Life Cycle (SDLC) - Mohamed Sami 9
  • 10. MOST COMMON MODELS Models Waterfall V-Shaped Model Evolutionary Prototyping Spiral Method (SDM) Iterative and Incremental Extreme programming (Agile development) Software Development Life Cycle (SDLC) - Mohamed Sami 10
  • 11. WATERFALL • The waterfall Model is a linear sequential flow. • In which progress is seen as flowing steadily downwards (like a waterfall) through the phases of software implementation. • This means that any 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. • The waterfall approach is the earliest approach that was used for software development Operation and maintenance Release and deployment Testing Implementati on Design Requirements analysis A linear sequential flow. Oldest and most well-known - 1970 The usage Projects which not focus on changing requirements, for example, responses for request for proposals (RFPs) Software Development Life Cycle (SDLC) - Mohamed Sami 11
  • 12. ADVANTAGES AND DISADVANTAGES Advantages Disadvantages Easy to be explained inflexible, like the waterfall model Stages and activities are well defined Adjusting scope is difficult and expensive Milestones are well understood Model doesn't provide a clear path for problems found during testing phases Each phase has specific deliverables Costly and required more time Works well for smaller projects where requirements are very well understood. Needs very proper and detailed planning Process and results are well documented No continuous customer involvement to review the output Software Development Life Cycle (SDLC) - Mohamed Sami 12
  • 13. V-SHAPED • It is an extension for waterfall model, Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. • The major difference between v-shaped model and waterfall model is the early test planning in v-shaped model. The usage · Software requirements clearly defined and known · Software development technologies and tools is well-known Software Development Life Cycle (SDLC) - Mohamed Sami 13
  • 14. ADVANTAGES AND DISADVANTAGES Advantages Disadvantages Verification and validation of the product in early stages of product development Assumes that the requirements of a system can be frozen and known from beginning Easy to use. Stages and activities are well defined Does not easily handle dynamic changes in requirements Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle Inflexible and adjusting scope is difficult and expensive Each phase has specific deliverables Costly and required more time Works well for where requirements are easily understood Needs very proper and detailed planning No continuous customer involvement Software Development Life Cycle (SDLC) - Mohamed Sami 14
  • 15. PROTOTYPING MODEL • It refers to the activity of creating prototypes of software applications, for example, incomplete versions of the software program being developed. • It is an activity that can occur in software development. It used to visualize some component of the software to limit the gap of misunderstanding the customer requirements by the development team. • This also will reduce the iterations may occur in waterfall approach and hard to be implemented due to inflexibility of the waterfall approach. • So, when the final prototype is developed, the requirement is considered to be frozen. The usage • This process can be used with any software developing life cycle model. • While this shall be focused with systems needs more user interactions. • So, the system do not have user interactions, such as, system does some calculations shall not have prototypes. Throwaway prototyping Evolutionary prototyping Incremental prototyping Extreme prototyping Software Development Life Cycle (SDLC) - Mohamed Sami 15
  • 16. PROTOTYPING MODEL Software Development Life Cycle (SDLC) - Mohamed Sami 16
  • 17. ADVANTAGES AND DISADVANTAGES Advantages Disadvantages Reduced time and costs Insufficient analysis, guess why? this can be disadvantage if the developer loses time in developing the prototypes User confusion of prototype and finished system Improved user involvement Developer misunderstanding of user objectives· Users give corrective feedback Excessive development time of the prototype A more accurate end product Expense of implementing prototyping, this can be eliminated if it will be integrated with the final product. Process may continue forever (scope creep) Software Development Life Cycle (SDLC) - Mohamed Sami 17
  • 18. SPIRAL (SDM) • It is combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. • This model of development combines the features of the prototyping model and the waterfall model. • The spiral model is favored for large, expensive, and complicated projects. • This model uses many of the same phases as the waterfall model, in essentially the same order, separated by planning, risk assessment, and the building of prototypes and simulations. The usage • It is used in shrink-wrap large applications and systems which built-in small phases or segments. Software Development Life Cycle (SDLC) - Mohamed Sami 18
  • 19. ADVANTAGES AND DISADVANTAGES Advantages Disadvantages Estimates (i.e. budget, schedule, etc.) become more realistic as work progresses High cost and time to reach the final product Changing requirements can be accommodated Needs special skills to evaluate the risks and assumptions Development can be divided into smaller parts and more risky parts can be developed earlier which helps better risk management Highly customized limiting re-usability Users see the system early and give corrective feedback Time spent planning, setting objectives, doing risk analysis and prototyping will be huge A more accurate end product Software Development Life Cycle (SDLC) - Mohamed Sami 19
  • 20. ITERATIVE AND INCREMENTAL • It is developed to overcome the weaknesses of the waterfall model. • It starts with an initial planning and ends with deployment with the cyclic interactions in between. • The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during development of earlier parts or versions of the system. The usage • It is used in shrink-wrap application and large system which built-in small phases or segments • can be used in system has separated components, for example, ERP system. Which we can start with budget module as first iteration and then we can start with inventory module and so forth. Mini Waterfall 1 Mini Waterfall 2 Mini Waterfall n Final Waterfall Software Development Life Cycle (SDLC) - Mohamed Sami 20
  • 21. ADVANTAGES AND DISADVANTAGES Advantages Disadvantages Produces business value early in the development life cycle (Do you know why) Requires heavy documentation· Follows a defined set of processes More customer involvement Partitioning the functions and features might be problematic Better use of scarce resources through proper increment definition Defines increments based on function and feature dependencies Can accommodate some change requests between increments Requires more customer involvement than the linear approaches (It is advantage as well) More focused on customer value than the linear approaches Integration between iteration can be an issue if this is not considered during the development Problems can be detected earlier Lowers initial delivery cost and initial product delivery is faster Software Development Life Cycle (SDLC) - Mohamed Sami 21
  • 22. AGILE (XP - SCRUM) • It is based on iterative and incremental development, where requirements and solutions evolve through collaboration between cross-functional teams. • Usually less formal and reduced scope • Used for time-critical applications The usage • It can be used with any type of the project • it can be used when the customer needs to have some functional requirement ready in less than three weeks Software Development Life Cycle (SDLC) - Mohamed Sami 22
  • 23. ADVANTAGES AND DISADVANTAGES Advantages Disadvantages Decrease the time required to avail some system features Scalability Face to face communication and continuous inputs from customer representative leaves no space for guesswork Skill of the software developers The end result is the high quality software in least possible time duration and satisfied customer Ability of customer to express user needs Produces business value early in the development life cycle (Do you know why) Documentation is done at later stages Reduce the usability of components Needs special skills for the team Software Development Life Cycle (SDLC) - Mohamed Sami 23
  • 24. THE CONTEXT Business Priorities Skills Technology Others Software Development Life Cycle (SDLC) - Mohamed Sami 24
  • 25. THE CRITERIA • Is the SDLC appropriate for the size of our team and their skills? • Is the SDLC appropriate with the selected technology we use for implementing the solution? • Is the SDLC appropriate with client and stakeholders need and priorities • Is the SDLC appropriate for the geographical situation (co-located or geographically dispersed)? • Is the SDLC appropriate for the size and complexity of our software? • Is the SDLC appropriate for the type of projects we do? • Is the SDLC appropriate for our engineering capability? Software Development Life Cycle (SDLC) - Mohamed Sami 25
  • 26. THE CRITERIA Factors Waterfall V-Shaped Evolutionary Prototyping Spiral Iterative and Incremental Agile Methodologies Unclear User Requirement Poor Poor Good Excellent Good Excellent Unfamiliar Technology Poor Poor Excellent Excellent Good Poor Complex System Good Good Excellent Excellent Good Poor Reliable system Good Good Poor Excellent Good Good Short Time Schedule Poor Poor Good Excellent Excellent Excellent Strong Project Management Excellent Excellent Excellent Excellent Excellent Excellent Cost limitation Poor Poor Poor Poor Excellent Excellent Visibility of Stakeholders Good Good Excellent Excellent Good Excellent Skills limitation Good Good Poor Poor Good Poor Documentations Excellent Excellent Good Good Excellent Poor Component reusability Excellent Excellent Poor Poor Excellent Poor Software Development Life Cycle (SDLC) - Mohamed Sami 26
  • 27. Thank you I hope you have learned new things Mohamed Sami Software Development Life Cycle (SDLC) - Mohamed Sami 27