SPS LAB
SPS LAB
GROUP MEMBERS
OBJECTIVE
To understand and compare different software process models by analyzing their features, advantages,
disadvantages, and use cases.
1. Waterfall Model
2. V-Model
3. Incremental Model
4. Iterative Model
5. Spiral Model
8. DevOps Approach
PROCESS OVERVIEW
RAD is a software development methodology that emphasizes quick development, rapid prototyping and
user feedback early and continuously over long planning and testing cycles.
KEY PHASES
1. Requirement Planning:
Stakeholders and developers agree on the business needs through different techniques such as
brainstorming, task analysis and user scenarios. This aids in creating a structured plan describing crucial
data and the methods needed to process it.
2. User Design:
Build initial prototypes and refine with user feedback. This is an iterative process and allows for continuous
improvement and validation.
3. Construction:
4. Cutover (Development):
Final phase of the process, including testing the independent components of the product, acceptance
testing of the product by the user and deployment.
ADVANTAGES
1. Speedy Development
RAD prioritizes rapid prototyping and iterations to produce a working system as soon as possible.
The model allows for quick adaptation to changing requirements and user input
3. Stakeholder Participation
Active participation from end users and stakeholders throughout the development cycle allows for faster
and more accurate product that increases the likelihood of stakeholder satisfaction
Early testing and visualization of system components help in identifying issues and confirming design and
functionality choices.
DISADVANTAGES
1. Very Demanding
Requires a lot of collaboration across different disciplinary teams (design team, development team, quality
assurance team)
2. Less scalable
Prototyping and continuous testing work well for small and medium projects but may not be suitable for
large-scale projects and may become cumbersome.
Frequent changes and iterations require a skilled technical team to be able to address and make
improvements upon the project after each change or iteration.
Examples include:
· User feedback can guide tweaks and changes during the campaign
DEVOPS APPROACH
Key phases
1. Continuous Planning
Collaborative planning among development, operations, QA, and business teams to define goals,
timelines, and responsibilities.
Merging code changes frequently into a shared repository, where automated tests verify the
changes immediately.
3. Continuous Testing
Automated testing of code throughout the development cycle to catch bugs early and ensure
quality.
4. Continuous Delivery
Automatically preparing code changes for release to production, ensuring it's always in a deployable
state.
Automatically releasing every change that passes all stages of your production pipeline into
production without manual intervention.
6. Continuous Monitoring
Tracking performance, errors, and system health in real time to identify issues quickly and ensure
system reliability.
7. Continuous Feedback
Gathering input from users, system metrics, and teams to continuously improve the product and the
development process.
3. Improved collaboration
DISADVANTAGES
1. Cultural Resistance
Developers, testers, and operations may not easily embrace shared responsibilities.
2. Skill Gaps
Organizations may struggle to find or train talent with the right skill set.
3. Toolchain Complexity
Managing and integrating multiple tools (Jenkins, Docker, Kubernetes, etc.) can get overwhelming.
4. Automation Issues
Frequent updates as well as user-driven development makes an ideal environment for DevOps.
2. Cloud-based applications
DevOps aligns perfectly with cloud scalability, CI/CD pipelines, and infrastructure automation.
Agile and DevOps both support rapid iteration, collaboration, and continuous delivery.
Spiral Model
The spiral model is a software development life cycle(SDLC) method that combines iterative development
with risk management, making it suitable for large, complex and high risk projects. It’s characterised by its
risk-driven approach, allowing for incremental releases and refinement of the software throughout multiple
interactions , or spiral objects.
Key phases
Identification
This phase starts with gathering business requirements in the baseline spiral. Identification of
system requirements, subsystem requirements and unit requirements are all done in this phase.
This phase also includes understanding the system requirements by continuous communication
between customer and the system analyst.
Design
This phase starts with the conceptual design in the baseline spiral and invilves architectural design,
logical design of modules, physical product design and final design in the subsequent spirals.
Construct/Build
The Construct phase refers to production of the actual software product at every spiral. In the
baseline spiral, when the product is just thought of and the design is being developed a POC (Proof
of Concept) is developed in this phase to get customer feedback.
Risk Analysis includes identifying, estimating and monitoring the technical feasibility and
management risks, such as schedule slippage and cost overrun. After testing the build, at the end
of first iteration, the customer evaluates the software and provides feedback.
The following illustration is a representation of the Spiral Model, listing the activities in each phase.
Advantages
Disadvantages
AGILE
Agile is a project management and software development methodology that focuses on flexibility,Customer
collaboration, small iterations, continuous improvement and working software over documentation.
Key phases
2. Brainstom
3. Design
4. Development
5. Testing
● Continuous testing is done throughout the sprint.
● Includes unit testing, integration tests and user acceptance tests.
● QA works with developers to find and fix bugs quickly.
7.Deployment
8.Retrospective
● Team reflects on what went well, what didn't , and how to improve.
●
Agile Frameworks
1.Scrum
● A lightweight Agile framework that focuses on team collaboration, sprints and continuous delivery.
Key elements:
XP(Extreme Programming)
● A technical Agile framework that emphasizes engineering excellence and frequent releases to
improve productivity and responsiveness to changing customer requirements.
Key elements:
Advantages
1. Customer Involvement
○ Frequent feedback ensures the final product matches the customer’s needs.
3. Faster Delivery
4. Improved Quality
6. Risk Reduction
○ Short iterations mean that problems are spotted and resolved early.
7. Continuous Improvement
Disadvantages
1. Less Predictability
○ Scope, time, and budget can be hard to predict accurately at the start.
○ Since changes are welcome, there’s a risk of continuous additions that delay delivery.
4. Lack of Documentation
○ Agile favors working software over documentation, which can cause issues later.
○ For fixed-scope or regulated projects, Agile may not be the best fit.
6. Team Dependency
○ Agile success depends heavily on the team's experience, communication, and discipline.
Iterative Model
Model Process Flexibility Customer Risk Cost Project type Delivery speed
Flow Involveme Handling Estimatio suitability
nt n
Waterfall
Model
V-Model
Incremental
Model
Iterative
Model
Spiral Model
Agile
Model(SRCU
M)
Agile Model
(XP)
RAD (Rapid Requiremen Very Very high Moderate Moderate Tight Very fast
Application ts planning Flexible Deadlines product done
Development from a few days
) User design Need to weeks
frequent
Constructio user input
n
Frequently
Cutover changing
requirement
s
DevOps
Approach