SlideShare a Scribd company logo
1 of 28
Software Development Life Cycle
            (SDLC)
Waterfall 1956

 Incremental
       1960
                 Prototyping
                 1970

    Adaptive
    Software
        1974
                 Spiral 1986

    Dynamic
    Software
Development
        1994     Scrum 1995
                                  History




RUP, Extreme
Programming      Feature Driven
        1996     Development
                 1997

 Crystal clear
         2003

                 RAD 2004
Waterfall
Requirements




               Design




                        Implementation




                                         Test




                                                Installation




                                                               Maintenance
Waterfall
Strengths:
• Easy to understand and use
• Provides structure to inexperienced staff
• Sets requirements Stability
• Good for control (plan, staff, track)
• Quality more important than cost or schedule
Waterfall
Deficiencies:
• All requirements must be known upfront
• Inflexible, slow, costly
• Little opportunity for customers
• Difficult to respond to changes
• Problems often are not discovered until system
  testing
• Written specs are often difficult for users to read
Waterfall
When to use:
• Requirements are very well known
• Product definition is stable
• Technology is understood
• New version of an existing product
• Integration an existing product to the new
  platform
• Project is large, expensive, complicated
Incremental
Principles:
• A series of mini-waterfall development
• By module implementation of total System
First prioritize requirements of the system and
then implement them in group
• Each release adds functionality to the previous
  release, until all designed functionality has
  been implemented
Incremental
Strengths:
• Risk of changes in requirements is reduced
• Customer gets important functionality early
• Initial product delivery is faster
• Lowers initial delivery cost
• Customer can respond to each build
Incremental
Weaknesses:
• Requires good planning and design
• Requires early definition of done and fully
  functional system to allow for the definition of
  increments
• Total cost of the complete system is still high
Incremental
When to use:
• Web Information Systems (WIS)
• Leading-edge applications
• Large projects where requirements are not well
  understood
• Project where budget and technical changes are
  expected
• A need to get basic functionality to the market
  earlier
Agile
•   Adaptive Software Development (ASD)
•   Feature Driven Development (FDD)
•   Crystal Clear
•   Dynamic Software Development Method
•   Rapid Application Development (RAD)
•   Scrum
•   Extreme Programming (XP)
Rapid Application Development (RAD)
Principles:
• Fast development and delivery of high quality
  system with low cost
• Breaking the project into small segments
• To produce high quality system quickly
• Users closely involved in the system design
• Uses “time boxes”
• Iterative software product delivery
Rapid Application Development (RAD)
Strengths
• The operational version of app is available
  much earlier
• Provides the ability to rapidly change system
  design as demanded
• Generally savings in time, money and human
  effort
• Time-box approach
Rapid Application Development (RAD)
Weaknesses:
• May lead to lower overall system quality
• Could be Gold-plating
• Potential for design system lack of scalability
• Risk of never achieving closure
Rapid Application Development (RAD)
Where to use:
• Small or medium projects with short duration
• Project scope is focused, business objectives are well
  defined
• Functionality of the system is clearly visible in the user UI
• End-users are involved
• Team is stable and skilled
• Input data for the project already exists
• Technical architecture is defined
• Tech requirements are reasonable and well within the
  capabilities of the technology being used
• Low technical risks
• System can be modularized
Extreme Programming (XP)
Principles:
• Coding is the key activity throughout the
  project
• Communication among teammates is done
  with code
Extreme Programming (XP)
Practices/Strengths:
• Planning game        • Pair-programming
  (planning poker)     • Collective ownership
• Small releases       • Continuous
                         integration
• Metaphor
                       • 40 hours week
• Simple design        • On-site customer
• Testing              • Coding standard
• Refactoring          • Code review
Spiral
Cycles
Spiral
Principles:
• Identify and resolve risks by breaking a project
  into small segments
• Study alternatives
• Begin each cycle with an identification of
  stakeholders and End cycle with review and
  commitment
Spiral
Strengths:
• Provides early indication of risks
• User sees the system earlier because of rapid
  prototyping tools
• Critical high-risk functions are developed first
• User can be closely tied to all life-cycle steps
• Early and frequent feedback from user
• Can incorporate Waterfall, Prototyping and
  Incremental methodologies depending on which
  of these models best fits a given iteration
Spiral
Weaknesses:
• Challenging to determine the exact composition of dev.
  methodology to use for each iteration around the
  Spiral
• Highly customized to each project
• PM has to be skilled and experienced to determine
  how to apply it
• Each cycle may generate more work for the next cycle
• Cycle continues with no clear termination condition;
  there is risk of not meeting budget or schedule
• May be hard to define objectives, milestones
Spiral
When to use:
• Users/clients are unsure of their needs
• Requirements are complex
• Significant changes are expected
• Real-time or safety-critical system
• Risk avoidance is High priority
• PM is highly skilled and experienced
• Project might benefit from a mix of other
  development methodologies
Prototyping
Cycles:

                  1.
             Requirements




                                        Implementation,
4. Testing                  2. Design                     Maintenance
                                           Delivering



               3. Coding
Prototyping
Principles:
• User is involved throughout of process
• The basic understanding of the business
  problem is necessary to avoid solving the
  wrong problem
• Split the project into small segments to reduce
  risks
Prototyping
Strengths:
• Provides quick implementation
• Encourages innovation and flexible design
• Helps to easily identify confusing or difficult or
  missing functionality
• Useful to resolve unclear objectives
• Improves user and developer communication
  with stakeholders
Prototyping
Weaknesses:
• Approval process and control is not strict
• Requirements may frequently change significantly
• Identification of non-functional elements is
  difficult to document
• Can lead to poorly designed system (quick and
  dirty)
• Can lead to false expectations – customer
  believes that system is “finished”. It looks good
  and has adequate user UI, but not truly
  functional
Prototyping
Where to use:
• Online system requiring extensive user dialoging
• Project is large with many users and functions, where project risks
  need to be reduced
• Project objectives are unclear
• Pressure of immediate implementation of something
• Functional requirements may change frequently and significantly
• User is not fully knowledgeable
• Team members are experienced
• Team composition is stable
• PM is experienced
• Not strict requirements for approval at design milestones
• Analysts assess business problems before the project start
Good Luck!

More Related Content

What's hot

System developement methods
System developement methodsSystem developement methods
System developement methodssachinsreekumar
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)Syed Muhammad Hammad
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationSebastian Marek
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Angelin R
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineImaginet
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life CycleHem Pokhrel
 
Software development life cycles (sdlc)
Software development life cycles (sdlc)Software development life cycles (sdlc)
Software development life cycles (sdlc)Yuriy Kravchenko
 
Software engineering 25 models details
Software engineering 25 models detailsSoftware engineering 25 models details
Software engineering 25 models detailsSamiul Hossaini
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureAhmed Misbah
 
System development life cycle and Implementation of IS
System development life cycle and Implementation of ISSystem development life cycle and Implementation of IS
System development life cycle and Implementation of ISAbdullah Khosa
 
Software life cycle
Software life cycleSoftware life cycle
Software life cyclekingseif
 
SDLC or Software Development Life Cycle
SDLC or Software Development Life CycleSDLC or Software Development Life Cycle
SDLC or Software Development Life CycleJyothi Vbs
 

What's hot (20)

System developement methods
System developement methodsSystem developement methods
System developement methods
 
Software process models
Software process modelsSoftware process models
Software process models
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
Software development life cycle (sdlc) overview
Software development life cycle (sdlc) overviewSoftware development life cycle (sdlc) overview
Software development life cycle (sdlc) overview
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom Line
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life Cycle
 
System Development Life Cycle Models
System Development Life Cycle ModelsSystem Development Life Cycle Models
System Development Life Cycle Models
 
Software development life cycles (sdlc)
Software development life cycles (sdlc)Software development life cycles (sdlc)
Software development life cycles (sdlc)
 
Software engineering 25 models details
Software engineering 25 models detailsSoftware engineering 25 models details
Software engineering 25 models details
 
SDLC Final (1)
SDLC Final (1)SDLC Final (1)
SDLC Final (1)
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
System development life cycle and Implementation of IS
System development life cycle and Implementation of ISSystem development life cycle and Implementation of IS
System development life cycle and Implementation of IS
 
Software life cycle
Software life cycleSoftware life cycle
Software life cycle
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
 
SDLC or Software Development Life Cycle
SDLC or Software Development Life CycleSDLC or Software Development Life Cycle
SDLC or Software Development Life Cycle
 

Similar to Software development life cycle

Similar to Software development life cycle (20)

Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Sdlc
SdlcSdlc
Sdlc
 
IT Software Development Life Cycle
IT Software Development Life CycleIT Software Development Life Cycle
IT Software Development Life Cycle
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)
 
SDLC.ppt
SDLC.pptSDLC.ppt
SDLC.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2 (1).ppt
Session2 (1).pptSession2 (1).ppt
Session2 (1).ppt
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life Cycle
 

More from Maksym Dovgopolyi, PMP

More from Maksym Dovgopolyi, PMP (7)

MuleSoft Meetup #2 in Kyiv, Ukraine - What is special about MuleSoft Catalyst™?
MuleSoft Meetup #2 in Kyiv, Ukraine - What is special about MuleSoft Catalyst™?MuleSoft Meetup #2 in Kyiv, Ukraine - What is special about MuleSoft Catalyst™?
MuleSoft Meetup #2 in Kyiv, Ukraine - What is special about MuleSoft Catalyst™?
 
#1 MuleSoft Meetup in Geneva
#1 MuleSoft Meetup in Geneva #1 MuleSoft Meetup in Geneva
#1 MuleSoft Meetup in Geneva
 
How to Survive in VUCA World
How to Survive in  VUCA WorldHow to Survive in  VUCA World
How to Survive in VUCA World
 
Applying both Agile and Waterfall in one project
Applying both Agile and Waterfall in one projectApplying both Agile and Waterfall in one project
Applying both Agile and Waterfall in one project
 
Scrum roles
Scrum rolesScrum roles
Scrum roles
 
Productive meeting
Productive meetingProductive meeting
Productive meeting
 
Probleme solving
Probleme solvingProbleme solving
Probleme solving
 

Software development life cycle

  • 2. Waterfall 1956 Incremental 1960 Prototyping 1970 Adaptive Software 1974 Spiral 1986 Dynamic Software Development 1994 Scrum 1995 History RUP, Extreme Programming Feature Driven 1996 Development 1997 Crystal clear 2003 RAD 2004
  • 3. Waterfall Requirements Design Implementation Test Installation Maintenance
  • 4. Waterfall Strengths: • Easy to understand and use • Provides structure to inexperienced staff • Sets requirements Stability • Good for control (plan, staff, track) • Quality more important than cost or schedule
  • 5. Waterfall Deficiencies: • All requirements must be known upfront • Inflexible, slow, costly • Little opportunity for customers • Difficult to respond to changes • Problems often are not discovered until system testing • Written specs are often difficult for users to read
  • 6. Waterfall When to use: • Requirements are very well known • Product definition is stable • Technology is understood • New version of an existing product • Integration an existing product to the new platform • Project is large, expensive, complicated
  • 7. Incremental Principles: • A series of mini-waterfall development • By module implementation of total System First prioritize requirements of the system and then implement them in group • Each release adds functionality to the previous release, until all designed functionality has been implemented
  • 8. Incremental Strengths: • Risk of changes in requirements is reduced • Customer gets important functionality early • Initial product delivery is faster • Lowers initial delivery cost • Customer can respond to each build
  • 9. Incremental Weaknesses: • Requires good planning and design • Requires early definition of done and fully functional system to allow for the definition of increments • Total cost of the complete system is still high
  • 10. Incremental When to use: • Web Information Systems (WIS) • Leading-edge applications • Large projects where requirements are not well understood • Project where budget and technical changes are expected • A need to get basic functionality to the market earlier
  • 11. Agile • Adaptive Software Development (ASD) • Feature Driven Development (FDD) • Crystal Clear • Dynamic Software Development Method • Rapid Application Development (RAD) • Scrum • Extreme Programming (XP)
  • 12. Rapid Application Development (RAD) Principles: • Fast development and delivery of high quality system with low cost • Breaking the project into small segments • To produce high quality system quickly • Users closely involved in the system design • Uses “time boxes” • Iterative software product delivery
  • 13. Rapid Application Development (RAD) Strengths • The operational version of app is available much earlier • Provides the ability to rapidly change system design as demanded • Generally savings in time, money and human effort • Time-box approach
  • 14. Rapid Application Development (RAD) Weaknesses: • May lead to lower overall system quality • Could be Gold-plating • Potential for design system lack of scalability • Risk of never achieving closure
  • 15. Rapid Application Development (RAD) Where to use: • Small or medium projects with short duration • Project scope is focused, business objectives are well defined • Functionality of the system is clearly visible in the user UI • End-users are involved • Team is stable and skilled • Input data for the project already exists • Technical architecture is defined • Tech requirements are reasonable and well within the capabilities of the technology being used • Low technical risks • System can be modularized
  • 16. Extreme Programming (XP) Principles: • Coding is the key activity throughout the project • Communication among teammates is done with code
  • 17. Extreme Programming (XP) Practices/Strengths: • Planning game • Pair-programming (planning poker) • Collective ownership • Small releases • Continuous integration • Metaphor • 40 hours week • Simple design • On-site customer • Testing • Coding standard • Refactoring • Code review
  • 19. Spiral Principles: • Identify and resolve risks by breaking a project into small segments • Study alternatives • Begin each cycle with an identification of stakeholders and End cycle with review and commitment
  • 20. Spiral Strengths: • Provides early indication of risks • User sees the system earlier because of rapid prototyping tools • Critical high-risk functions are developed first • User can be closely tied to all life-cycle steps • Early and frequent feedback from user • Can incorporate Waterfall, Prototyping and Incremental methodologies depending on which of these models best fits a given iteration
  • 21. Spiral Weaknesses: • Challenging to determine the exact composition of dev. methodology to use for each iteration around the Spiral • Highly customized to each project • PM has to be skilled and experienced to determine how to apply it • Each cycle may generate more work for the next cycle • Cycle continues with no clear termination condition; there is risk of not meeting budget or schedule • May be hard to define objectives, milestones
  • 22. Spiral When to use: • Users/clients are unsure of their needs • Requirements are complex • Significant changes are expected • Real-time or safety-critical system • Risk avoidance is High priority • PM is highly skilled and experienced • Project might benefit from a mix of other development methodologies
  • 23. Prototyping Cycles: 1. Requirements Implementation, 4. Testing 2. Design Maintenance Delivering 3. Coding
  • 24. Prototyping Principles: • User is involved throughout of process • The basic understanding of the business problem is necessary to avoid solving the wrong problem • Split the project into small segments to reduce risks
  • 25. Prototyping Strengths: • Provides quick implementation • Encourages innovation and flexible design • Helps to easily identify confusing or difficult or missing functionality • Useful to resolve unclear objectives • Improves user and developer communication with stakeholders
  • 26. Prototyping Weaknesses: • Approval process and control is not strict • Requirements may frequently change significantly • Identification of non-functional elements is difficult to document • Can lead to poorly designed system (quick and dirty) • Can lead to false expectations – customer believes that system is “finished”. It looks good and has adequate user UI, but not truly functional
  • 27. Prototyping Where to use: • Online system requiring extensive user dialoging • Project is large with many users and functions, where project risks need to be reduced • Project objectives are unclear • Pressure of immediate implementation of something • Functional requirements may change frequently and significantly • User is not fully knowledgeable • Team members are experienced • Team composition is stable • PM is experienced • Not strict requirements for approval at design milestones • Analysts assess business problems before the project start