SlideShare a Scribd company logo
1 of 27
Software Development
Process Models
What is Waterfall Model
ď‚´ The waterfall model is a sequential (non-iterative) design process, used in
software development processes, in which progress is seen as flowing steadily
downwards (like a waterfall) through the phases of conception, initiation, analysis,
design, construction, testing, production/implementation and maintenance.
When to use the waterfall model:
ď‚´ Requirements are very well known, clear and fixed.
ď‚´ Product definition is stable.
ď‚´ Technology is understood.
ď‚´ There are no ambiguous requirements
ď‚´ Ample resources with required expertise are available freely
ď‚´ The project is short.
Activities of Waterfall Model
•Requirements definition
•Requirements Analysis
•Design
•Development
•Testing(unit & system or Integration testing)
•Deployment
•Maintenance
Advantages of waterfall model:
•It allows for departmentalization and managerial control.
•Simple and easy to understand and use.
•Easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
•Phases are processed and completed one at a time.
•Works well for smaller projects where requirements are very well understood.
•A schedule can be set with deadlines for each stage of development and a product
can proceed through the development process like a car in a car-wash, and
theoretically, be delivered on time
Disadvantages of waterfall model:
•It does not allow for much reflection or revision.
•Once an application is in the testing stage, it is very difficult to go back and change something that
was not well-thought out in the concept stage.
•No working software is produced until late during the life cycle.
•High amounts of risk and uncertainty.
•Not a good model for complex and object-oriented projects.
•Poor model for long and ongoing projects.
•Not suitable for the projects where requirements are at a moderate to high risk of changing.
What is Prototype Model?
ď‚´ The basic idea in Prototype model is that instead of freezing the requirements
before a design or coding can proceed, a throwaway prototype is built to
understand the requirements. This prototype is developed based on the currently
known requirements. Prototype model is a software development model. By
using this prototype, the client can get an “actual feel” of the system, since the
interactions with prototype can enable the client to better understand the
requirements of the desired system. Prototyping is an attractive idea for
complicated and large systems for which there is no manual process or existing
system to help determining the requirements.
Diagram of Prototype model:
When to use Prototype model:
ď‚´ Prototype model should be used when the desired system needs to have a lot of
interaction with the end users.
ď‚´ Typically, online systems, web interfaces have a very high amount of interaction
with end users, are best suited for Prototype model. It might take a while for a
system to be built that allows ease of use and needs minimal training for the end
user.
ď‚´ Prototyping ensures that the end users constantly work with the system and
provide a feedback which is incorporated in the prototype to result in a useable
system. They are excellent for designing good human computer interface
systems.
Advantages of Prototype model:
ď‚´ Users are actively involved in the development
ď‚´ Since in this methodology a working model of the system is provided, the users
get a better understanding of the system being developed.
ď‚´ Errors can be detected much earlier.
ď‚´ Quicker user feedback is available leading to better solutions.
ď‚´ Missing functionality can be identified easily
ď‚´ Confusing or difficult functions can be identified
Requirements validation, Quick implementation of, incomplete, but
functional, application.
Disadvantages of Prototype model:
ď‚´ Leads to implementing and then repairing way of building systems. Practically,
this methodology may increase the complexity of the system as scope of the
system may expand beyond original plans. Incomplete application may cause
application not to be used as the full system was designed Incomplete or
inadequate problem analysis.
Incremental Model
ď‚´ In this model, each module passes through the requirements, design,
implementation and testing phases. A working version of software is produced
during the first module, so you have working software early on during
thesoftware life cycle. Each subsequent release of the module adds function to
the previous release. The process continues till the complete system is achieved.
ď‚´
When to use the Incremental model:
ď‚´ This model can be used when the requirements of the complete system are clearly
defined and understood.
ď‚´ Major requirements must be defined; however, some details can evolve with time.
ď‚´ There is a need to get a product to the market early.
ď‚´ A new technology is being used
ď‚´ Resources with needed skill set are not available
ď‚´ There are some high risk features and goals.
ď‚´
Advantages of Incremental model:
ď‚´ Generates working software quickly and early during the software life cycle.
 This model is more flexible – less costly to change scope and requirements.
ď‚´ It is easier to test and debug during a smaller iteration.
ď‚´ In this model customer can respond to each built.
ď‚´ Lowers initial delivery cost.
 Easier to manage risk because risky pieces are identified and handled during it’d
iteration.
Disadvantages of Incremental model:
ď‚´ Needs good planning and design.
ď‚´ Needs a clear and complete definition of the whole system before it can be
broken down and built incrementally.
ď‚´ Total cost is higher than waterfall.
Spiral Model
ď‚´ The spiral model is similar to the incremental model, with more emphasis placed
on risk analysis. The spiral model has four phases: Planning(specification), Risk
Analysis, Engineering and Evaluation. A software project repeatedly passes
through these phases in iterations (called Spirals in this model).
When to use Spiral model:
•When costs and risk evaluation is important
•For medium to high-risk projects
•Long-term project commitment unwise because of potential changes
to economic priorities
•Requirements are complex
•New product line
•Significant changes are expected (research and exploration)
Advantages of Spiral model:
ď‚´ High amount of risk analysis hence, avoidance of Risk is enhanced.
ď‚´ Good for large and mission-critical projects.
ď‚´ Strong approval and documentation control.
ď‚´ Additional Functionality can be added at a later date.
ď‚´ Software is produced early in the software life cycle.
Disadvantages of Spiral model:
ď‚´ Can be a costly model to use.
ď‚´ Risk analysis requires highly specific expertise.
 Project’s success is highly dependent on the risk analysis phase.
 Doesn’t work well for smaller projects.
Agile Model
ď‚´ Agile development model is also a type of Incremental model. Software is
developed in incremental, rapid cycles. This results in small incremental releases
with each release building on previous functionality. Each release is
thoroughlytested to ensure software quality is maintained. It is used for time
critical applications.
When to use Agile model:
ď‚´ When new changes are needed to be implemented. The freedom agile gives to
change is very important. New changes can be implemented at very little cost
because of the frequency of new increments that are produced.
ď‚´ To implement a new feature the developers need to lose only the work of a few
days, or even only hours, to roll back and implement it.
ď‚´ Unlike the waterfall model in agile model very limited planning is required to get
started with the project. Agile assumes that the end users’ needs are ever
changing in a dynamic business and IT world. Changes can be discussed and
features can be newly effected or removed based on feedback. This effectively
gives the customer the finished system they want or need.
Advantages of Agile model:
ď‚´ Customer satisfaction by rapid, continuous delivery of useful software.
ď‚´ People and interactions are emphasized rather than process and tools. Customers,
developers and testers constantly interact with each other.
ď‚´ Working software is delivered frequently (weeks rather than months).Face-to-face
conversation is the best form of communication.
ď‚´ Close, daily cooperation between business people and developers.
ď‚´ Continuous attention to technical excellence and good design.
ď‚´ Regular adaptation to changing circumstances.
ď‚´ Even late changes in requirements are welcomed
Disadvantages of Agile model:
ď‚´ In case of some software deliverables, especially the large ones, it is difficult to
assess the effort required at the beginning of the software development life cycle.
ď‚´ There is lack of emphasis on necessary designing and documentation.
ď‚´ The project can easily get taken off track if the customer representative is not
clear what final outcome that they want.
ď‚´ Only senior programmers are capable of taking the kind of decisions required
during the development process. Hence it has no place for newbie programmers,
unless combined with experienced resources.

More Related Content

What's hot

Comparison of waterfall model and prototype model
Comparison of waterfall model and prototype modelComparison of waterfall model and prototype model
Comparison of waterfall model and prototype modelShubham Agrawal
 
Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)ACM-KU
 
Comparision of waterfall,spiral and v modal
Comparision of waterfall,spiral and v modalComparision of waterfall,spiral and v modal
Comparision of waterfall,spiral and v modalShab Bi
 
Waterfall model
Waterfall modelWaterfall model
Waterfall modelSandeep Kumar
 
waterfall model
waterfall modelwaterfall model
waterfall modelShiva Krishna
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototypingdrjms
 
Prototype model and process
Prototype model  and processPrototype model  and process
Prototype model and processDanish Musthafa
 
Comparison between waterfall model and spiral model
Comparison between waterfall model and spiral modelComparison between waterfall model and spiral model
Comparison between waterfall model and spiral modelGalaxyy Pandey
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software ModelsReddhi Basu
 
Prototype model of SDLC
Prototype model of SDLCPrototype model of SDLC
Prototype model of SDLCKumar Sethi
 
System Development
System  DevelopmentSystem  Development
System DevelopmentSharad Patel
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and modelsAnjali Arora
 

What's hot (20)

Comparison of waterfall model and prototype model
Comparison of waterfall model and prototype modelComparison of waterfall model and prototype model
Comparison of waterfall model and prototype model
 
Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)
 
Comparision of waterfall,spiral and v modal
Comparision of waterfall,spiral and v modalComparision of waterfall,spiral and v modal
Comparision of waterfall,spiral and v modal
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
SDLC
SDLCSDLC
SDLC
 
waterfall model
waterfall modelwaterfall model
waterfall model
 
Prototyping model advantages and disadvantages
Prototyping model advantages and disadvantagesPrototyping model advantages and disadvantages
Prototyping model advantages and disadvantages
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Prototype model and process
Prototype model  and processPrototype model  and process
Prototype model and process
 
Comparison between waterfall model and spiral model
Comparison between waterfall model and spiral modelComparison between waterfall model and spiral model
Comparison between waterfall model and spiral model
 
PROTOTYPING
PROTOTYPINGPROTOTYPING
PROTOTYPING
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software Models
 
Prototype model of SDLC
Prototype model of SDLCPrototype model of SDLC
Prototype model of SDLC
 
Software development life cycle (sdlc) overview
Software development life cycle (sdlc) overviewSoftware development life cycle (sdlc) overview
Software development life cycle (sdlc) overview
 
System Development
System  DevelopmentSystem  Development
System Development
 
SDLC Final (1)
SDLC Final (1)SDLC Final (1)
SDLC Final (1)
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
 
SDLC
SDLCSDLC
SDLC
 
SDLC
SDLCSDLC
SDLC
 

Similar to Software development process models

61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptxSuhleemAhmd
 
Lecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxLecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxSeniorUsama
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSuresh Koujalagi
 
System analysis methodologies
System analysis methodologiesSystem analysis methodologies
System analysis methodologiesuppipisara
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfOmethSanchitha
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineeringMuhammadTalha436
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptRayonJ1
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle modelsWasif Khan
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2 KaiEnTee1
 
Effort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileEffort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileAnanda Pramanik
 
System Development Life Cycle Models
System Development Life Cycle ModelsSystem Development Life Cycle Models
System Development Life Cycle ModelsPavithran Anthonipillai
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleDina Hanbazazah
 
Process Models in Software Engineering
Process Models in Software EngineeringProcess Models in Software Engineering
Process Models in Software EngineeringGohAr_MaLiik
 
Software development process models
Software development process modelsSoftware development process models
Software development process modelsMuhammed Afsal Villan
 
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTMODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTPaYal Umraliya
 

Similar to Software development process models (20)

61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
 
Lecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxLecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptx
 
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
System analysis methodologies
System analysis methodologiesSystem analysis methodologies
System analysis methodologies
 
SDLC MODEL
SDLC MODEL SDLC MODEL
SDLC MODEL
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdf
 
Software process model
Software process modelSoftware process model
Software process model
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
Effort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileEffort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and Agile
 
Models.pptx
Models.pptxModels.pptx
Models.pptx
 
System Development Life Cycle Models
System Development Life Cycle ModelsSystem Development Life Cycle Models
System Development Life Cycle Models
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Process Models in Software Engineering
Process Models in Software EngineeringProcess Models in Software Engineering
Process Models in Software Engineering
 
Prototype Model
Prototype ModelPrototype Model
Prototype Model
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTMODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
 

Recently uploaded

Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptxNikhil Raut
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsDILIPKUMARMONDAL6
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 

Recently uploaded (20)

Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptx
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teams
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 

Software development process models

  • 2. What is Waterfall Model ď‚´ The waterfall model is a sequential (non-iterative) design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.
  • 3.
  • 4. When to use the waterfall model: ď‚´ Requirements are very well known, clear and fixed. ď‚´ Product definition is stable. ď‚´ Technology is understood. ď‚´ There are no ambiguous requirements ď‚´ Ample resources with required expertise are available freely ď‚´ The project is short.
  • 5. Activities of Waterfall Model •Requirements definition •Requirements Analysis •Design •Development •Testing(unit & system or Integration testing) •Deployment •Maintenance
  • 6. Advantages of waterfall model: •It allows for departmentalization and managerial control. •Simple and easy to understand and use. •Easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process. •Phases are processed and completed one at a time. •Works well for smaller projects where requirements are very well understood. •A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a car-wash, and theoretically, be delivered on time
  • 7. Disadvantages of waterfall model: •It does not allow for much reflection or revision. •Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. •No working software is produced until late during the life cycle. •High amounts of risk and uncertainty. •Not a good model for complex and object-oriented projects. •Poor model for long and ongoing projects. •Not suitable for the projects where requirements are at a moderate to high risk of changing.
  • 8. What is Prototype Model? ď‚´ The basic idea in Prototype model is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements. Prototype model is a software development model. By using this prototype, the client can get an “actual feel” of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements.
  • 10. When to use Prototype model: ď‚´ Prototype model should be used when the desired system needs to have a lot of interaction with the end users. ď‚´ Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. It might take a while for a system to be built that allows ease of use and needs minimal training for the end user. ď‚´ Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system. They are excellent for designing good human computer interface systems.
  • 11. Advantages of Prototype model: ď‚´ Users are actively involved in the development ď‚´ Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed. ď‚´ Errors can be detected much earlier. ď‚´ Quicker user feedback is available leading to better solutions. ď‚´ Missing functionality can be identified easily ď‚´ Confusing or difficult functions can be identified Requirements validation, Quick implementation of, incomplete, but functional, application.
  • 12. Disadvantages of Prototype model: ď‚´ Leads to implementing and then repairing way of building systems. Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. Incomplete application may cause application not to be used as the full system was designed Incomplete or inadequate problem analysis.
  • 13. Incremental Model ď‚´ In this model, each module passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first module, so you have working software early on during thesoftware life cycle. Each subsequent release of the module adds function to the previous release. The process continues till the complete system is achieved. ď‚´
  • 14.
  • 15. When to use the Incremental model: ď‚´ This model can be used when the requirements of the complete system are clearly defined and understood. ď‚´ Major requirements must be defined; however, some details can evolve with time. ď‚´ There is a need to get a product to the market early. ď‚´ A new technology is being used ď‚´ Resources with needed skill set are not available ď‚´ There are some high risk features and goals. ď‚´
  • 16. Advantages of Incremental model: ď‚´ Generates working software quickly and early during the software life cycle. ď‚´ This model is more flexible – less costly to change scope and requirements. ď‚´ It is easier to test and debug during a smaller iteration. ď‚´ In this model customer can respond to each built. ď‚´ Lowers initial delivery cost. ď‚´ Easier to manage risk because risky pieces are identified and handled during it’d iteration.
  • 17. Disadvantages of Incremental model: ď‚´ Needs good planning and design. ď‚´ Needs a clear and complete definition of the whole system before it can be broken down and built incrementally. ď‚´ Total cost is higher than waterfall.
  • 18. Spiral Model ď‚´ The spiral model is similar to the incremental model, with more emphasis placed on risk analysis. The spiral model has four phases: Planning(specification), Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model).
  • 19.
  • 20. When to use Spiral model: •When costs and risk evaluation is important •For medium to high-risk projects •Long-term project commitment unwise because of potential changes to economic priorities •Requirements are complex •New product line •Significant changes are expected (research and exploration)
  • 21. Advantages of Spiral model: ď‚´ High amount of risk analysis hence, avoidance of Risk is enhanced. ď‚´ Good for large and mission-critical projects. ď‚´ Strong approval and documentation control. ď‚´ Additional Functionality can be added at a later date. ď‚´ Software is produced early in the software life cycle.
  • 22. Disadvantages of Spiral model: ď‚´ Can be a costly model to use. ď‚´ Risk analysis requires highly specific expertise. ď‚´ Project’s success is highly dependent on the risk analysis phase. ď‚´ Doesn’t work well for smaller projects.
  • 23. Agile Model ď‚´ Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughlytested to ensure software quality is maintained. It is used for time critical applications.
  • 24.
  • 25. When to use Agile model: ď‚´ When new changes are needed to be implemented. The freedom agile gives to change is very important. New changes can be implemented at very little cost because of the frequency of new increments that are produced. ď‚´ To implement a new feature the developers need to lose only the work of a few days, or even only hours, to roll back and implement it. ď‚´ Unlike the waterfall model in agile model very limited planning is required to get started with the project. Agile assumes that the end users’ needs are ever changing in a dynamic business and IT world. Changes can be discussed and features can be newly effected or removed based on feedback. This effectively gives the customer the finished system they want or need.
  • 26. Advantages of Agile model: ď‚´ Customer satisfaction by rapid, continuous delivery of useful software. ď‚´ People and interactions are emphasized rather than process and tools. Customers, developers and testers constantly interact with each other. ď‚´ Working software is delivered frequently (weeks rather than months).Face-to-face conversation is the best form of communication. ď‚´ Close, daily cooperation between business people and developers. ď‚´ Continuous attention to technical excellence and good design. ď‚´ Regular adaptation to changing circumstances. ď‚´ Even late changes in requirements are welcomed
  • 27. Disadvantages of Agile model: ď‚´ In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle. ď‚´ There is lack of emphasis on necessary designing and documentation. ď‚´ The project can easily get taken off track if the customer representative is not clear what final outcome that they want. ď‚´ Only senior programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.