Software Development
Methodologies
Here is where our presentation begins
Brought to you by:
Courtney Fradreck Taga
(230350)
Dennis U. Ifu (230533)
Presenters
Contents of our Presantation.
1. Define and Explain the Software Development Lifecycle
(SDLC) and its phases.
2. Define Software Development Methodologies (SDM)
3. Discuss the different methodologies and show visuals
to better present each methodologies
4. Compare and Contrast Waterfall and Agile Model
The Software Development Lifecycle
(SDLC) is a systematic process for
planning, creating, testing, deploying, and
maintaining software applications or
systems. It provides a framework for
software development teams to follow and
ensures that the development process is
well-organized, controlled, and
predictable. The specific phases and
activities within the SDLC can vary based
on the development methodology being
used, but the following are common
phases in most SDLC models:
What is the Software Development Lifecycle?
01. Planning
02. Requirements Analysis
03. Design
04. Implementation
05. Testing
06. Deployment
SDLC Phases
Phases
Each phases above was clearly explained
during the presentation, but for more
information you can watch this video:
https://youtu.be/Fi3_BjVzpqk?si=yFz3Gw_
204n03XIS
What is
Software
Development
Methodology
01.
What are Software Development Methodoloies
• Software development methodologies are structured approaches to a
software development project that can improve efficiency, quality,
and collaboration.
• They are important because they help developers plan, organize,
execute, and deliver software products that meet the needs and
expectations of the clients and users.
• They also improve efficiency, quality, and collaboration in the software
development process.
Overview of Software Developmet Methodologies
1. Waterfall Model
2. Agile Model: Scrum, Kanban, XP
3. Prototyping Model The Spiral Model
4. Rapid Application Development Model
5. Iterative and Incremental Process Model
Overview of Software Developmet Methodologies
This is a traditional and linear
methodology that follows a
sequential order of phases, such as
requirements, design,
implementation, testing, and
maintenance. Each phase depends
on the completion and approval of
the previous one. This methodology
is suitable for well-defined and stable
projects, but not for dynamic and
complex ones.
Waterfall Model
Pros and Cons of the Waterfall Model.
• Requirement is clear before development starts
• Each phase is completed in specified period of time after that it moves to the
next phase
• As it’s a linear model, its easier to implement.
• The amount of resources required to implement this model are minimal
• Each phase proper documentation is followed for the quality of development.
Pros
Cons
• The problems with one phase are never completely solved during that phase
and in fact many problems regarding a particular phase arise after the phase is
signed off, this results in badly structured system.
• If client want the requirements to be changed, it will not be implemented in the
current development process.
In spite of the cons, the many pros of this model ensure that it remains one of the
most popular models used in the field of software development.
What
is
Agile?
Agile
Agile Model: Scrum, Kanban, XP:
This is a methodology that values flexibility,
collaboration, and customer satisfaction. The agile
model is based on the principles of the Agile
Manifesto, which emphasize adaptive planning,
iterative development, continuous improvement, and
stakeholder involvement. The agile model has several
frameworks, such as Scrum, Kanban, and XP, that
provide specific practices and roles for implementing
the agile principles. The agile model is suitable for
projects that have changing and evolving
requirements and need frequent feedback and
delivery.
Agile project management infographics
Agile
1
2
3
4
5
6 7 Insert text insert text
Insert text insert text
Launch
7
Insert text insert text
Insert text insert text
Review
6
Insert text insert text
Insert text insert text
Deploy
5
Identifying and fixing
defects or bugs.
Test
4
The actual coding or
programming begins.
Develop
3
The system architecture
is designed.
Design
2
Project goals, timelines.
Scope and rersouces
are defined
Plan
1
What
Agile
is not.
What is Agile? (youtube.com)
To understand what is Agile and What it means to be
agile you can watch the video below:
For more info on Agile, you can
watch the following vidoes
Agile vs Waterfall: Choosing Your Methodology –
YouTube
Scrum vs Kanban - What's the Difference? + FREE
CHEAT SHEET (youtube.com)
(1) Agile Cartoons - YouTube
OSDM Continued
This is a methodology that combines the
iterative and incremental approach with the risk
analysis and evaluation of the waterfall model.
The software development process is
represented as a spiral, with each loop
consisting of four stages: planning, risk analysis,
engineering, and evaluation. The spiral model is
suitable for large and complex projects that
involve high risks and uncertainties.
Prototyping Model
The Spiral Model
OSDM Continued
Rapid Application
Development Model:
This is a methodology that focuses on
delivering software products and
features quickly and efficiently, using
techniques such as prototyping,
timeboxing, and user involvement.
The software development process
consists of four phases: requirements
planning, user design, construction,
and cutover. The rapid application
development model is suitable for
projects that have clear and well-
defined requirements and need fast
delivery.
Iterative and Incremental Process Model
Follow the link below to understand more about the methodologies. For more info, click here
This is a methodology that
divides the software development
process into smaller and
manageable iterations, each of
which produces a working version
of the software. The iterations are
repeated until the final product
meets the desired requirements
and quality. This methodology
allows for feedback, changes,
and improvements along the way.
Summary
SDLC
SDM
Agile
SDLC
SDLC is a general term that describes the
process of creating software,,
SDM
while software development methodology
is a specific way of implementing the
SDLC.
Agile
There are different types of software
development methodologies, such as
waterfall, agile, scrum, and so on. Each
methodology has its own advantages and
disadvantages, depending on the nature
and scope of the project.
The End!
Questions?

Introductio to Software Development.pptx

  • 1.
    Software Development Methodologies Here iswhere our presentation begins
  • 2.
    Brought to youby: Courtney Fradreck Taga (230350) Dennis U. Ifu (230533) Presenters
  • 3.
    Contents of ourPresantation. 1. Define and Explain the Software Development Lifecycle (SDLC) and its phases. 2. Define Software Development Methodologies (SDM) 3. Discuss the different methodologies and show visuals to better present each methodologies 4. Compare and Contrast Waterfall and Agile Model
  • 4.
    The Software DevelopmentLifecycle (SDLC) is a systematic process for planning, creating, testing, deploying, and maintaining software applications or systems. It provides a framework for software development teams to follow and ensures that the development process is well-organized, controlled, and predictable. The specific phases and activities within the SDLC can vary based on the development methodology being used, but the following are common phases in most SDLC models: What is the Software Development Lifecycle?
  • 5.
    01. Planning 02. RequirementsAnalysis 03. Design 04. Implementation 05. Testing 06. Deployment SDLC Phases
  • 6.
    Phases Each phases abovewas clearly explained during the presentation, but for more information you can watch this video: https://youtu.be/Fi3_BjVzpqk?si=yFz3Gw_ 204n03XIS
  • 7.
  • 8.
    What are SoftwareDevelopment Methodoloies • Software development methodologies are structured approaches to a software development project that can improve efficiency, quality, and collaboration. • They are important because they help developers plan, organize, execute, and deliver software products that meet the needs and expectations of the clients and users. • They also improve efficiency, quality, and collaboration in the software development process.
  • 9.
    Overview of SoftwareDevelopmet Methodologies 1. Waterfall Model 2. Agile Model: Scrum, Kanban, XP 3. Prototyping Model The Spiral Model 4. Rapid Application Development Model 5. Iterative and Incremental Process Model
  • 10.
    Overview of SoftwareDevelopmet Methodologies This is a traditional and linear methodology that follows a sequential order of phases, such as requirements, design, implementation, testing, and maintenance. Each phase depends on the completion and approval of the previous one. This methodology is suitable for well-defined and stable projects, but not for dynamic and complex ones. Waterfall Model
  • 11.
    Pros and Consof the Waterfall Model. • Requirement is clear before development starts • Each phase is completed in specified period of time after that it moves to the next phase • As it’s a linear model, its easier to implement. • The amount of resources required to implement this model are minimal • Each phase proper documentation is followed for the quality of development. Pros Cons • The problems with one phase are never completely solved during that phase and in fact many problems regarding a particular phase arise after the phase is signed off, this results in badly structured system. • If client want the requirements to be changed, it will not be implemented in the current development process. In spite of the cons, the many pros of this model ensure that it remains one of the most popular models used in the field of software development.
  • 12.
  • 13.
    Agile Model: Scrum,Kanban, XP: This is a methodology that values flexibility, collaboration, and customer satisfaction. The agile model is based on the principles of the Agile Manifesto, which emphasize adaptive planning, iterative development, continuous improvement, and stakeholder involvement. The agile model has several frameworks, such as Scrum, Kanban, and XP, that provide specific practices and roles for implementing the agile principles. The agile model is suitable for projects that have changing and evolving requirements and need frequent feedback and delivery.
  • 14.
    Agile project managementinfographics Agile 1 2 3 4 5 6 7 Insert text insert text Insert text insert text Launch 7 Insert text insert text Insert text insert text Review 6 Insert text insert text Insert text insert text Deploy 5 Identifying and fixing defects or bugs. Test 4 The actual coding or programming begins. Develop 3 The system architecture is designed. Design 2 Project goals, timelines. Scope and rersouces are defined Plan 1
  • 15.
    What Agile is not. What isAgile? (youtube.com) To understand what is Agile and What it means to be agile you can watch the video below:
  • 16.
    For more infoon Agile, you can watch the following vidoes Agile vs Waterfall: Choosing Your Methodology – YouTube Scrum vs Kanban - What's the Difference? + FREE CHEAT SHEET (youtube.com) (1) Agile Cartoons - YouTube
  • 17.
    OSDM Continued This isa methodology that combines the iterative and incremental approach with the risk analysis and evaluation of the waterfall model. The software development process is represented as a spiral, with each loop consisting of four stages: planning, risk analysis, engineering, and evaluation. The spiral model is suitable for large and complex projects that involve high risks and uncertainties. Prototyping Model The Spiral Model
  • 18.
    OSDM Continued Rapid Application DevelopmentModel: This is a methodology that focuses on delivering software products and features quickly and efficiently, using techniques such as prototyping, timeboxing, and user involvement. The software development process consists of four phases: requirements planning, user design, construction, and cutover. The rapid application development model is suitable for projects that have clear and well- defined requirements and need fast delivery.
  • 19.
    Iterative and IncrementalProcess Model Follow the link below to understand more about the methodologies. For more info, click here This is a methodology that divides the software development process into smaller and manageable iterations, each of which produces a working version of the software. The iterations are repeated until the final product meets the desired requirements and quality. This methodology allows for feedback, changes, and improvements along the way.
  • 20.
    Summary SDLC SDM Agile SDLC SDLC is ageneral term that describes the process of creating software,, SDM while software development methodology is a specific way of implementing the SDLC. Agile There are different types of software development methodologies, such as waterfall, agile, scrum, and so on. Each methodology has its own advantages and disadvantages, depending on the nature and scope of the project.
  • 21.