SlideShare a Scribd company logo
Software Engineering
Software development lifecycle (SDLC)
Osman Kanu
Software Development Life Cycle (SDLC)
โ€ข Software development life cycle (SDLC) is a structured process that is
used to design, develop, and test good-quality software.
โ€ข Software development life cycle(SDLC), is a methodology that defines the
entire procedure of software development step-by-step.
โ€ข The goal of the SDLC life cycle model is to deliver high-quality,
maintainable software that meets the userโ€™s requirements.
โ€ข SDLC in software engineering models outlines the plan for each stage so
that each stage of the software development model can perform its task
efficiently to deliver the software at a low cost within a given time frame
that meets users requirements.
Software Development Life Cycle (SDLC)
โ€ข SDLC is a process followed for software building within a software
organization. SDLC consists of a precise plan that describes how to develop,
maintain, replace, and enhance specific software.
โ€ข The life cycle defines a method for improving the quality of software and the
all-around development process.
Planning and Requirement Analysis
โ€ข Planning is a crucial step in everything, just as in software development.
โ€ข In this same stage, requirement analysis is also performed by the developers
of the organization.
โ€ข This is attained from customer inputs, and sales department/market surveys.
โ€ข The information from this analysis forms the building blocks of a basic project.
The quality of the project is a result of planning.
โ€ข Thus, in this stage, the basic project is designed with all the available
information.
Defining Requirements
โ€ข In this stage, all the requirements for the target software are specified. These
requirements get approval from customers, market analysts, and other
stakeholders.
โ€ข This is fulfilled by utilizing SRS (Software Requirement Specification).
โ€ข This is a sort of document that specifies all those things that need to be
defined and created during the entire project cycle.
Defining Requirements
โ€ข SRS is a reference for software designers to come up with the best architecture
for the software. Hence, with the requirements defined in SRS, multiple
designs for the product architecture are present in the Design Document
Specification (DDS).
โ€ข This DDS is assessed by market analysts and stakeholders. After evaluating all
the possible factors, the most practical and logical design is chosen for
development.
Developing Product
โ€ข At this stage, the fundamental development of the product starts. For this,
developers use a specific programming code as per the design in the DDS.
โ€ข Hence, it is important for the coders to follow the protocols set by the
association. Conventional programming tools like compilers, interpreters,
debuggers, etc. are also put into use at this stage.
โ€ข Some popular languages like C/C++, Python, Java, etc. are put into use as per
the software regulations.
Developing Product
โ€ข At this stage, the fundamental development of the product starts. For this,
developers use a specific programming code as per the design in the DDS.
โ€ข Hence, it is important for the coders to follow the protocols set by the
association. Conventional programming tools like compilers, interpreters,
debuggers, etc. are also put into use at this stage.
โ€ข Some popular languages like C/C++, Python, Java, etc. are put into use as per
the software regulations.
Product Testing and Integration
โ€ข After the development of the product, testing of the software is necessary to
ensure its smooth execution.
โ€ข Although, minimal testing is conducted at every stage of SDLC. Therefore, at
this stage, all the probable flaws are tracked, fixed, and retested.
โ€ข Documentation, Training, and Support: Software documentation is an essential
part of the software development life cycle.
โ€ข A well-written document acts as a tool and means to information repository
necessary to know about software processes, functions, and maintenance.
โ€ข Documentation also provides information about how to use the product.
Deployment and Maintenance of Products
โ€ข After detailed testing, the conclusive product is released in phases as per the
organizationโ€™s strategy.
โ€ข Then it is tested in a real industrial environment. It is important to ensure its
smooth performance.
โ€ข If it performs well, the organization sends out the product as a whole.
โ€ข After retrieving beneficial feedback, the company releases it as it is or with
auxiliary improvements to make it further helpful for the customers.
What are SDLC models?
โ€ข Are frameworks that define the structure, processes, and phases involved in
developing a software product.
โ€ข They provide a systematic approach to ensure the software is developed
efficiently, meets quality standards, and satisfies user requirements.
โ€ข Why Use SDLC Models?
โ€ข Organized Workflow: Ensures the project progresses smoothly through defined
stages.
โ€ข Quality Assurance: Incorporates testing and reviews at every stage.
โ€ข Risk Management: Identifies potential risks early and addresses them.
โ€ข Cost Efficiency: Reduces wastage of resources by detecting issues early.
Waterfall Model
โ€ข The waterfall model arranges all the phases sequentially so that each new
phase depends on the outcome of the previous phase.
โ€ข Conceptually, the design flows from one phase down to the next, like that of a
waterfall.
Advantages of the Waterfall Model
Simplicity and Structure:
The model is easy to understand and manage due to its linear and structured
approach.
Clear Phases and Milestones:
Each phase has specific deliverables and reviews, making progress measurable.
Well-Documented Process:
Extensive documentation ensures clear communication of requirements and design.
Best for Fixed Requirements:
Ideal for projects with clearly defined and unchanging requirements.
Easy to Manage:
The model is suitable for inexperienced teams due to its straightforward nature.
Disadvantages of the Waterfall Model
Inflexibility:
Changes to requirements are difficult to incorporate once a phase is completed.
Late Testing:
Testing is performed only after implementation, making it hard to address issues
discovered late.
High Risk for Changing Requirements:
Not suitable for projects where requirements may evolve during development.
No Overlapping Phases:
Each phase must be completed fully before moving on, which can delay the overall
project.
Customer Involvement is Limited:
Customers are not engaged after the initial requirements gathering phase, which can lead
to misaligned expectations.
When to Use the Waterfall Model
โ€ข The Waterfall model is best suited for:
โ€ข Small projects with well-defined and stable requirements.
โ€ข Projects with low uncertainty, where all technical and functional aspects are
well understood.
โ€ข Government and military projects, where thorough documentation and
structured processes are critical.
โ€ข Hardware-related projects, where changes are less frequent compared to
software.
Agile SDLC Model
โ€ข The Agile model is a flexible and iterative approach to software development
that focuses on delivering small, working increments of the product frequently.
โ€ข Agile emphasizes collaboration, customer feedback, and adaptability to change.
Instead of completing all phases sequentially, Agile teams work in cycles called
iterations or sprints, where each cycle delivers a functional increment of the
software.
Advantages of Agile
Flexibility:
Agile adapts to changing requirements and priorities, even late in the development process.
Customer-Centric:
Continuous customer involvement ensures the product meets user expectations.
Frequent Delivery:
Regular delivery of working increments allows for quicker feedback and deployment.
Reduced Risk:
Regular reviews and incremental development help identify and address risks early.
Team Collaboration:
Agile fosters close communication and collaboration between developers, stakeholders, and
customers.
Focus on Quality:
Continuous testing and integration ensure a higher-quality product.
Disadvantages of Agile
Requires Skilled Teams:
Agile requires experienced developers and strong communication skills within the team.
Scope Creep:
Frequent changes in requirements can lead to uncontrolled scope expansion.
Lack of Predictability:
Without fixed requirements, estimating time and cost can be challenging.
Documentation is Minimal:
Agile prioritizes working software over detailed documentation, which can be
problematic for large teams or future maintenance.
Customer Dependency:
Active involvement of the customer is required, which may not always be feasible.
Not Ideal for Small Teams or Projects:
Agile can introduce unnecessary overhead for small, well-defined projects.
When to Use the Agile Model
The Agile model is best suited for:
Projects with evolving requirements or where the final product vision is
unclear.
Customer-focused products that require frequent feedback and updates.
Large, dynamic teams with good communication and collaboration practices.
Startups and innovative projects where rapid prototyping and delivery are
needed.
Continuous delivery scenarios where software is updated regularly.
Iterative SDLC Model
โ€ข The Iterative model is a software development approach that focuses on
breaking down a project into smaller, manageable parts, called iterations.
โ€ข Each iteration goes through the core development phases (planning, design,
development, and testing) and delivers a functional version of the product.
โ€ข With every iteration, new features are added or existing ones are refined based
on feedback, until the final product is achieved.
Advantages of the Iterative Model
โ€ข Early Testing:
Testing is conducted after every iteration, helping to identify and fix issues early in the
development process.
โ€ข Progress Visibility:
Each iteration produces a working version of the product, offering stakeholders tangible
progress throughout the project.
โ€ข Flexibility:
Requirements can evolve over time, allowing for adjustments and refinements after each
iteration.
โ€ข Risk Reduction:
โ€ข Risks are identified and mitigated early since development starts with a small portion of
the system.
โ€ข Customer Feedback:
Regular feedback from stakeholders ensures the product aligns with their expectations.
Disadvantages of the Iterative Model
โ€ข Incomplete Requirements:
Initial requirements might not be comprehensive, leading to potential rework during later
iterations.
โ€ข Higher Costs:
Repeated iterations can increase the overall cost of development compared to other models.
โ€ข Complex Management:
Managing multiple iterations, tracking changes, and integrating new functionality can be
challenging.
โ€ข Overlapping Phases:
Since phases are repeated for each iteration, there may be confusion and inefficiencies if not
managed properly.
โ€ข Time-Consuming:
The iterative process may take longer than linear models if too many iterations are required.
When to Use the Iterative Model
The Iterative model is best suited for:
โ€ข Projects with evolving requirements, where all requirements are not fully
known at the start.
โ€ข Large and complex systems, which can be developed incrementally.
โ€ข Projects with higher risk, where early prototypes help reduce uncertainties.
โ€ข Customer-focused projects, where frequent feedback is essential.
โ€ข Innovative and experimental projects, where requirements might emerge over
time.
Key Difference Between Iterative and Agile
โ€ข While both Iterative and Agile models involve incremental development, Agile
emphasizes collaboration, flexibility, and adaptability to customer feedback at
every stage.
โ€ข The Iterative model, on the other hand, focuses more on refining prototypes
based on feedback but may not require constant customer involvement like
Agile does.
Q & A
Thank You

More Related Content

Similar to SDLC in software engineering models outlines the plan for each stage so that each stage of the software development (20)

PPTX
ecse ppt.pptx
DanyDany88
ย 
PDF
Chapter 2
KaiEnTee1
ย 
PPTX
Elements of computer science engineering
Laxmi139487
ย 
PPTX
Software development model in computer application
trainingstudents1991
ย 
PDF
SDLC Models.pdf
Mithilesh Singh
ย 
PPTX
Lec 3-4.pptx software process and sdlc models
SUJALArora15
ย 
PPT
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models (1).ppt
nandemprasanna
ย 
PDF
Lect-4: Software Development Life Cycle Model - SPM
Mubashir Ali
ย 
PPT
Intoduction to software engineering part 2
Rupesh Vaishnav
ย 
PPT
what-is-devops.ppt
MohammadSamiuddin10
ย 
PDF
softwaredevelopmentprocess
AnilGhadge6
ย 
PPTX
software development life cycle(SDLC)
sanoop s
ย 
PPTX
Lesson 2 introduction in computing
Professor Thor
ย 
PPTX
Waterfall-VS-Agile
SaiRamdev3
ย 
PPTX
Waterfall Model.pptx
MrVinothKumarLAsstPr
ย 
PPTX
Introduction to Software Engineering Notes.pptx
bscit6
ย 
PPT
software engerring lecture number 5 .ppt
Duryabhajra
ย 
PDF
Agile methodologiesvswaterfall
Muthu Natarajan
ย 
PPTX
development and operations devops UNIT 1.pptx
pavanmovva1
ย 
PPTX
Software Engineering Unit 1 PowerPoint presentation For AKTU University
utkarshpandey8299
ย 
ecse ppt.pptx
DanyDany88
ย 
Chapter 2
KaiEnTee1
ย 
Elements of computer science engineering
Laxmi139487
ย 
Software development model in computer application
trainingstudents1991
ย 
SDLC Models.pdf
Mithilesh Singh
ย 
Lec 3-4.pptx software process and sdlc models
SUJALArora15
ย 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models (1).ppt
nandemprasanna
ย 
Lect-4: Software Development Life Cycle Model - SPM
Mubashir Ali
ย 
Intoduction to software engineering part 2
Rupesh Vaishnav
ย 
what-is-devops.ppt
MohammadSamiuddin10
ย 
softwaredevelopmentprocess
AnilGhadge6
ย 
software development life cycle(SDLC)
sanoop s
ย 
Lesson 2 introduction in computing
Professor Thor
ย 
Waterfall-VS-Agile
SaiRamdev3
ย 
Waterfall Model.pptx
MrVinothKumarLAsstPr
ย 
Introduction to Software Engineering Notes.pptx
bscit6
ย 
software engerring lecture number 5 .ppt
Duryabhajra
ย 
Agile methodologiesvswaterfall
Muthu Natarajan
ย 
development and operations devops UNIT 1.pptx
pavanmovva1
ย 
Software Engineering Unit 1 PowerPoint presentation For AKTU University
utkarshpandey8299
ย 

Recently uploaded (20)

PDF
IObit Uninstaller Pro 14.3.1.8 Crack for Windows Latest
utfefguu
ย 
PDF
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
ย 
PDF
WholeClear Split vCard Software for Split large vCard file
markwillsonmw004
ย 
PPTX
For my supp to finally picking supp that work
necas19388
ย 
PPTX
Perfecting XM Cloud for Multisite Setup.pptx
Ahmed Okour
ย 
PPTX
NeuroStrata: Harnessing Neuro-Symbolic Paradigms for Improved Testability and...
Ivan Ruchkin
ย 
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
ย 
PDF
Designing Accessible Content Blocks (1).pdf
jaclynmennie1
ย 
PPTX
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
ย 
PDF
From Chaos to Clarity: Mastering Analytics Governance in the Modern Enterprise
Wiiisdom
ย 
PDF
Difference Between Kubernetes and Docker .pdf
Kindlebit Solutions
ย 
PPTX
CONCEPT OF PROGRAMMING in language .pptx
tamim41
ย 
PDF
LPS25 - Operationalizing MLOps in GEP - Terradue.pdf
terradue
ย 
PDF
AWS Consulting Services: Empowering Digital Transformation with Nlineaxis
Nlineaxis IT Solutions Pvt Ltd
ย 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
ย 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
ย 
PPTX
Iobit Driver Booster Pro 12 Crack Free Download
chaudhryakashoo065
ย 
PDF
>Nitro Pro Crack 14.36.1.0 + Keygen Free Download [Latest]
utfefguu
ย 
PPTX
IObit Driver Booster Pro Crack Download Latest Version
chaudhryakashoo065
ย 
PPTX
Mistakes to Avoid When Selecting Policy Management Software
Insurance Tech Services
ย 
IObit Uninstaller Pro 14.3.1.8 Crack for Windows Latest
utfefguu
ย 
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
ย 
WholeClear Split vCard Software for Split large vCard file
markwillsonmw004
ย 
For my supp to finally picking supp that work
necas19388
ย 
Perfecting XM Cloud for Multisite Setup.pptx
Ahmed Okour
ย 
NeuroStrata: Harnessing Neuro-Symbolic Paradigms for Improved Testability and...
Ivan Ruchkin
ย 
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
ย 
Designing Accessible Content Blocks (1).pdf
jaclynmennie1
ย 
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
ย 
From Chaos to Clarity: Mastering Analytics Governance in the Modern Enterprise
Wiiisdom
ย 
Difference Between Kubernetes and Docker .pdf
Kindlebit Solutions
ย 
CONCEPT OF PROGRAMMING in language .pptx
tamim41
ย 
LPS25 - Operationalizing MLOps in GEP - Terradue.pdf
terradue
ย 
AWS Consulting Services: Empowering Digital Transformation with Nlineaxis
Nlineaxis IT Solutions Pvt Ltd
ย 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
ย 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
ย 
Iobit Driver Booster Pro 12 Crack Free Download
chaudhryakashoo065
ย 
>Nitro Pro Crack 14.36.1.0 + Keygen Free Download [Latest]
utfefguu
ย 
IObit Driver Booster Pro Crack Download Latest Version
chaudhryakashoo065
ย 
Mistakes to Avoid When Selecting Policy Management Software
Insurance Tech Services
ย 
Ad

SDLC in software engineering models outlines the plan for each stage so that each stage of the software development

  • 1. Software Engineering Software development lifecycle (SDLC) Osman Kanu
  • 2. Software Development Life Cycle (SDLC) โ€ข Software development life cycle (SDLC) is a structured process that is used to design, develop, and test good-quality software. โ€ข Software development life cycle(SDLC), is a methodology that defines the entire procedure of software development step-by-step. โ€ข The goal of the SDLC life cycle model is to deliver high-quality, maintainable software that meets the userโ€™s requirements. โ€ข SDLC in software engineering models outlines the plan for each stage so that each stage of the software development model can perform its task efficiently to deliver the software at a low cost within a given time frame that meets users requirements.
  • 3. Software Development Life Cycle (SDLC) โ€ข SDLC is a process followed for software building within a software organization. SDLC consists of a precise plan that describes how to develop, maintain, replace, and enhance specific software. โ€ข The life cycle defines a method for improving the quality of software and the all-around development process.
  • 4. Planning and Requirement Analysis โ€ข Planning is a crucial step in everything, just as in software development. โ€ข In this same stage, requirement analysis is also performed by the developers of the organization. โ€ข This is attained from customer inputs, and sales department/market surveys. โ€ข The information from this analysis forms the building blocks of a basic project. The quality of the project is a result of planning. โ€ข Thus, in this stage, the basic project is designed with all the available information.
  • 5. Defining Requirements โ€ข In this stage, all the requirements for the target software are specified. These requirements get approval from customers, market analysts, and other stakeholders. โ€ข This is fulfilled by utilizing SRS (Software Requirement Specification). โ€ข This is a sort of document that specifies all those things that need to be defined and created during the entire project cycle.
  • 6. Defining Requirements โ€ข SRS is a reference for software designers to come up with the best architecture for the software. Hence, with the requirements defined in SRS, multiple designs for the product architecture are present in the Design Document Specification (DDS). โ€ข This DDS is assessed by market analysts and stakeholders. After evaluating all the possible factors, the most practical and logical design is chosen for development.
  • 7. Developing Product โ€ข At this stage, the fundamental development of the product starts. For this, developers use a specific programming code as per the design in the DDS. โ€ข Hence, it is important for the coders to follow the protocols set by the association. Conventional programming tools like compilers, interpreters, debuggers, etc. are also put into use at this stage. โ€ข Some popular languages like C/C++, Python, Java, etc. are put into use as per the software regulations.
  • 8. Developing Product โ€ข At this stage, the fundamental development of the product starts. For this, developers use a specific programming code as per the design in the DDS. โ€ข Hence, it is important for the coders to follow the protocols set by the association. Conventional programming tools like compilers, interpreters, debuggers, etc. are also put into use at this stage. โ€ข Some popular languages like C/C++, Python, Java, etc. are put into use as per the software regulations.
  • 9. Product Testing and Integration โ€ข After the development of the product, testing of the software is necessary to ensure its smooth execution. โ€ข Although, minimal testing is conducted at every stage of SDLC. Therefore, at this stage, all the probable flaws are tracked, fixed, and retested. โ€ข Documentation, Training, and Support: Software documentation is an essential part of the software development life cycle. โ€ข A well-written document acts as a tool and means to information repository necessary to know about software processes, functions, and maintenance. โ€ข Documentation also provides information about how to use the product.
  • 10. Deployment and Maintenance of Products โ€ข After detailed testing, the conclusive product is released in phases as per the organizationโ€™s strategy. โ€ข Then it is tested in a real industrial environment. It is important to ensure its smooth performance. โ€ข If it performs well, the organization sends out the product as a whole. โ€ข After retrieving beneficial feedback, the company releases it as it is or with auxiliary improvements to make it further helpful for the customers.
  • 11. What are SDLC models? โ€ข Are frameworks that define the structure, processes, and phases involved in developing a software product. โ€ข They provide a systematic approach to ensure the software is developed efficiently, meets quality standards, and satisfies user requirements. โ€ข Why Use SDLC Models? โ€ข Organized Workflow: Ensures the project progresses smoothly through defined stages. โ€ข Quality Assurance: Incorporates testing and reviews at every stage. โ€ข Risk Management: Identifies potential risks early and addresses them. โ€ข Cost Efficiency: Reduces wastage of resources by detecting issues early.
  • 12. Waterfall Model โ€ข The waterfall model arranges all the phases sequentially so that each new phase depends on the outcome of the previous phase. โ€ข Conceptually, the design flows from one phase down to the next, like that of a waterfall.
  • 13. Advantages of the Waterfall Model Simplicity and Structure: The model is easy to understand and manage due to its linear and structured approach. Clear Phases and Milestones: Each phase has specific deliverables and reviews, making progress measurable. Well-Documented Process: Extensive documentation ensures clear communication of requirements and design. Best for Fixed Requirements: Ideal for projects with clearly defined and unchanging requirements. Easy to Manage: The model is suitable for inexperienced teams due to its straightforward nature.
  • 14. Disadvantages of the Waterfall Model Inflexibility: Changes to requirements are difficult to incorporate once a phase is completed. Late Testing: Testing is performed only after implementation, making it hard to address issues discovered late. High Risk for Changing Requirements: Not suitable for projects where requirements may evolve during development. No Overlapping Phases: Each phase must be completed fully before moving on, which can delay the overall project. Customer Involvement is Limited: Customers are not engaged after the initial requirements gathering phase, which can lead to misaligned expectations.
  • 15. When to Use the Waterfall Model โ€ข The Waterfall model is best suited for: โ€ข Small projects with well-defined and stable requirements. โ€ข Projects with low uncertainty, where all technical and functional aspects are well understood. โ€ข Government and military projects, where thorough documentation and structured processes are critical. โ€ข Hardware-related projects, where changes are less frequent compared to software.
  • 16. Agile SDLC Model โ€ข The Agile model is a flexible and iterative approach to software development that focuses on delivering small, working increments of the product frequently. โ€ข Agile emphasizes collaboration, customer feedback, and adaptability to change. Instead of completing all phases sequentially, Agile teams work in cycles called iterations or sprints, where each cycle delivers a functional increment of the software.
  • 17. Advantages of Agile Flexibility: Agile adapts to changing requirements and priorities, even late in the development process. Customer-Centric: Continuous customer involvement ensures the product meets user expectations. Frequent Delivery: Regular delivery of working increments allows for quicker feedback and deployment. Reduced Risk: Regular reviews and incremental development help identify and address risks early. Team Collaboration: Agile fosters close communication and collaboration between developers, stakeholders, and customers. Focus on Quality: Continuous testing and integration ensure a higher-quality product.
  • 18. Disadvantages of Agile Requires Skilled Teams: Agile requires experienced developers and strong communication skills within the team. Scope Creep: Frequent changes in requirements can lead to uncontrolled scope expansion. Lack of Predictability: Without fixed requirements, estimating time and cost can be challenging. Documentation is Minimal: Agile prioritizes working software over detailed documentation, which can be problematic for large teams or future maintenance. Customer Dependency: Active involvement of the customer is required, which may not always be feasible. Not Ideal for Small Teams or Projects: Agile can introduce unnecessary overhead for small, well-defined projects.
  • 19. When to Use the Agile Model The Agile model is best suited for: Projects with evolving requirements or where the final product vision is unclear. Customer-focused products that require frequent feedback and updates. Large, dynamic teams with good communication and collaboration practices. Startups and innovative projects where rapid prototyping and delivery are needed. Continuous delivery scenarios where software is updated regularly.
  • 20. Iterative SDLC Model โ€ข The Iterative model is a software development approach that focuses on breaking down a project into smaller, manageable parts, called iterations. โ€ข Each iteration goes through the core development phases (planning, design, development, and testing) and delivers a functional version of the product. โ€ข With every iteration, new features are added or existing ones are refined based on feedback, until the final product is achieved.
  • 21. Advantages of the Iterative Model โ€ข Early Testing: Testing is conducted after every iteration, helping to identify and fix issues early in the development process. โ€ข Progress Visibility: Each iteration produces a working version of the product, offering stakeholders tangible progress throughout the project. โ€ข Flexibility: Requirements can evolve over time, allowing for adjustments and refinements after each iteration. โ€ข Risk Reduction: โ€ข Risks are identified and mitigated early since development starts with a small portion of the system. โ€ข Customer Feedback: Regular feedback from stakeholders ensures the product aligns with their expectations.
  • 22. Disadvantages of the Iterative Model โ€ข Incomplete Requirements: Initial requirements might not be comprehensive, leading to potential rework during later iterations. โ€ข Higher Costs: Repeated iterations can increase the overall cost of development compared to other models. โ€ข Complex Management: Managing multiple iterations, tracking changes, and integrating new functionality can be challenging. โ€ข Overlapping Phases: Since phases are repeated for each iteration, there may be confusion and inefficiencies if not managed properly. โ€ข Time-Consuming: The iterative process may take longer than linear models if too many iterations are required.
  • 23. When to Use the Iterative Model The Iterative model is best suited for: โ€ข Projects with evolving requirements, where all requirements are not fully known at the start. โ€ข Large and complex systems, which can be developed incrementally. โ€ข Projects with higher risk, where early prototypes help reduce uncertainties. โ€ข Customer-focused projects, where frequent feedback is essential. โ€ข Innovative and experimental projects, where requirements might emerge over time.
  • 24. Key Difference Between Iterative and Agile โ€ข While both Iterative and Agile models involve incremental development, Agile emphasizes collaboration, flexibility, and adaptability to customer feedback at every stage. โ€ข The Iterative model, on the other hand, focuses more on refining prototypes based on feedback but may not require constant customer involvement like Agile does.
  • 25. Q & A