0% found this document useful (0 votes)
22 views15 pages

Spiral Model

The document outlines the Software Development Life Cycle (SDLC) and various life cycle models, including the Spiral and Agile models. The Spiral Model emphasizes risk management and iterative refinement, while the Agile Model focuses on adaptability and customer involvement through iterative development. Each model has its advantages and limitations, catering to different project complexities and requirements.

Uploaded by

tochukwub65
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views15 pages

Spiral Model

The document outlines the Software Development Life Cycle (SDLC) and various life cycle models, including the Spiral and Agile models. The Spiral Model emphasizes risk management and iterative refinement, while the Agile Model focuses on adaptability and customer involvement through iterative development. Each model has its advantages and limitations, catering to different project complexities and requirements.

Uploaded by

tochukwub65
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SOFTWARE DEVELOPMENT LIFE CYCLE

• LIFE CYCLE MODEL


• A software life cycle model (also called
process model) is a descriptive and
diagrammatic representation of the software
life cycle.
• A life cycle model represents all the activities
required to make a software product transit
through its life cycle phases.
• A few important and commonly used life cycle
models are as follows:
· Classical Waterfall Model
· Iterative Waterfall Model
· Prototyping Model
 Evolutionary Model
 Spiral Model
 Agile Model
The Spiral Model
• The Spiral Model is a risk-driven software development process
model introduced by Barry Boehm in 1986. It combines
elements of both iterative development and the Waterfall
model, emphasizing risk analysis and continuous refinement.
Structure of the Spiral
• The diagram looks like a spiral with multiple loops.
• Each loop represents a phase of the software development
process.
• The number of loops is not fixed—it depends on the size,
complexity, and risk of the project.
• Progression through the spiral is clockwise, moving outward
with each iteration.
Phases in Each Loop
• Every loop (phase) typically involves four key activities:
• Objective Setting
– Define goals, constraints, and requirements for that phase.
• Risk Analysis & Prototyping
– Identify potential risks.
– Build prototypes or models to reduce uncertainty.
• Development & Testing
– Implement the planned features.
– Test to ensure quality and correctness.
• Planning the Next Iteration
– Review progress.
– Plan the next loop with refined objectives.
Key Features
• Flexibility: The spiral can expand with more
loops as needed.
• Risk Management: Each loop emphasizes
identifying and mitigating risks.
• Iterative Refinement: Software evolves through
repeated cycles, improving with each loop.
• Customer Feedback: Stakeholders are involved at
every stage, ensuring alignment with
expectations.
Advantages

• Handles large, complex, high-risk projects


effectively.
• Encourages early prototyping and continuous
improvement.
• Reduces chances of project failure by
addressing risks early.
Limitations

• Can be costly and time-consuming


due to repeated risk analysis.
• Requires expertise in risk
management.
• Not ideal for small or low-risk
projects.
Agile Model
• Agile refers to something that is quick or adaptable.
• A software development approach based on
iterative development is referred to as an “agile
process model.”
• Agile approaches divide projects into smaller
iterations or sections and avoid long-term planning.
The scope and requirements of the project are
defined at the start of the development phase. The
number of iterations, duration, and scope of each
iteration are all clearly determined ahead of time
Different phases of Agile Methodology are
defined in the below points;
• Requirement Gathering: assess technical and economic feasibility based on the
project’s business opportunities and estimate the time and effort required to complete
• Design the requirement: Work with stakeholders to define requirements once you’ve
defined the project. To demonstrate how new features function and how they will fit
into your existing system, use a user flow diagram or a high-level UML diagram.
• Develop/Iteration: The work begins once the team has defined the requirements.
Designers and developers begin work on their projects, with the goal of releasing a
functional product. The product will go through several stages of development before
being released, thus it will have basic, rudimentary functionality. Ultimately, deploying
a non-static product or service.
• Test: This phase basically involves the testing team i.e. the Quality Assurance team
checks the product’s performance and seeking for the bug during this phase.
• Deployment: The team creates a product for the user’s work environment in this
phase.
• Review / Feedback: The final phase is to get feedback after the product has been
released. This is where the team receives feedback on the product and works through
it.
Some common practices include:
Scrum
• It is an agile development methodology that focuses on task
management within a team-based development
environment.
• It promotes working in small teams and believes in
empowering the development team.
• There are three positions in it, each with its own set of
responsibilities described below:
• Scrum Master: Sets up the team, holds sprint meetings, and
removes roadblocks to development.
• Product Owner: Creates the product backlog, prioritizes the
delay, and is in charge of the functionality distribution on
each repeat.
• Scrum Team: The team organizes and oversees their work in
order to accomplish the sprint or cycle.
• Kanban: Visualizes workflow with boards and
cards to manage tasks.

• Extreme Programming (XP): Emphasizes


technical excellence, pair programming, and
test-driven development.
✅ Advantages

• Faster delivery of usable software.


• High adaptability to changing
requirements.
• Strong customer involvement
ensures relevance.
• Improved team collaboration and
morale.
✅ ✅ Limitations

• Requires active customer


participation (not always
feasible).
• Can be harder to predict
timelines and costs.

You might also like