0% found this document useful (0 votes)
21 views

Assignment 2

Uploaded by

faysalahmed915
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Assignment 2

Uploaded by

faysalahmed915
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Assignment-02

Software Project-II

Submitted by: -

Sl. Team Members ID

1 Nusrat Jahan 0242220005101122

2 Najmun Nahar Jerin 0242220005101331

3 Tabassum Mashiat Tisha 0242220005101347

4 Mehrin Binte Ibrahim 221-15-5554

Submitted To: -

Mushfiqur Rahman
Lecturer
Department of CSE
Daffodil International University

DAFFODIL INTERNATIONAL UNIVERSITY


DHAKA, BANGLADESH
MAY 2024

1
1. Waterfall Model:
Definition: The Waterfall Model is a sequential software development process in which
progress flows steadily downwards through defined phases, like a waterfall. Each phase must be
completed before the next one begins.
Examples:
1. Building construction projects
2. Manufacturing processes with distinct stages
3. Traditional project management methodologies
4. Large-scale infrastructure development projects
5. Regulatory compliance procedures
6. Aerospace and defense projects
7. Documentation-heavy projects with stringent requirements

2. Agile Model:
Definition: Agile is an iterative approach to software development that prioritizes flexibility,
collaboration, and customer feedback. It emphasizes incremental delivery of working software
and welcomes changes throughout the development process.
Examples:
1. Software development for mobile applications
2. Web development projects with rapidly changing requirements
3. Start-up companies with evolving product visions
4. E-commerce platforms adapting to market trends
5. Video game development with frequent updates and patches
6. Agile marketing campaigns responding to consumer feedback
7. Research and development projects requiring experimentation and adaptation

3. Spiral Model:

2
Definition: The Spiral Model combines elements of both waterfall and iterative development
methodologies. It emphasizes risk management by incorporating multiple cycles of prototyping,
risk analysis, and development.
Examples:
1. Complex software systems requiring extensive risk assessment
2. Software projects with evolving requirements and uncertain technologies
3. Long-term projects with changing stakeholder priorities
4. Projects involving cutting-edge technologies with uncertain outcomes
5. Military and defense systems with high reliability requirements
6. Healthcare software systems with stringent regulatory constraints
7. Software projects with evolving user needs and market demands

Different between Spiral Model, Agile Model, Waterfall


Model
Aspect Waterfall Model Agile Model Spiral Model
Development Sequential and linear Iterative and Iterative and
Approach incremental incremental
Flexibility Low, changes are High, welcomes Moderate, changes
difficult to changes throughout are addressed in
accommodate development subsequent iterations
Requirement Analysis Done upfront before Continuous, Continuous, initial
development begins requirements evolve requirements evolve
throughout with each iteration
Project Visibility Limited visibility until High visibility due to Moderate visibility,
later stages frequent deliverables improved with each
iteration
Risk Management Limited focus on risk Addresses risks Significant focus on
management continuously risk management,
throughout especially in early
phases
Customer Minimal customer Customer Customer
Involvement involvement until involvement involvement
later stages throughout the increases with each
process iteration

3
Time to Market Long lead time due to Shorter lead time Moderate lead time,
sequential phases due to incremental can be adjusted
delivery based on risk analysis
Adaptability Low adaptability, Highly adaptable to Moderate
changes may disrupt changing adaptability, can
workflow requirements adjust based on risk
analysis
Testing Testing occurs after Continuous testing Testing integrated
development is throughout throughout the
complete development development process
Documentation Extensive Emphasizes working Documentation
documentation at software over tailored to each
each phase documentation iteration's objectives
Stakeholder Limited stakeholder Regular stakeholder Stakeholder
Engagement engagement until involvement involvement
later stages throughout increases with each
iteration
Complexity May struggle with Suitable for Effective in managing
Management complex and evolving managing complexity complexity with risk
requirements through iterations analysis and
prototyping
Project Control Control is rigid, Allows for greater Provides control
changes may require control and through risk
extensive rework adaptation management and
throughout iterative planning
Resource Allocation Resources allocated Resources adjusted Resources adjusted
based on predefined based on changing based on risk analysis
plan priorities and iteration
outcomes
Success Success measured by Success measured by Success measured by
Measurement adherence to plan customer satisfaction risk mitigation,
and on-time delivery and value delivered meeting evolving
requirements, and
stakeholder
satisfaction

This table outlines the main differences between the Waterfall, Agile, and Spiral models across
various aspects of software development, including their approach, flexibility, risk management,
customer involvement, adaptability, testing, documentation, stakeholder engagement, and
more.

4
In a software why we use Waterfall Model, why we do not use Agile model and
Spiral Model?
The Waterfall Model is often favored in scenarios where the requirements are well-defined and
unlikely to change significantly throughout the project. Let's analyze why the Waterfall Model
might be preferred over Agile and Spiral Models in the given examples:

1. Building construction projects: Waterfall may be preferred because the requirements for
construction projects are usually fixed at the beginning, and changes are costly and time-
consuming. The linear nature of the Waterfall Model aligns well with the sequential phases of
construction projects.

2. Manufacturing processes with distinct stages: Similar to construction projects,


manufacturing processes often follow a predefined sequence of stages. Waterfall's sequential
approach allows for clear planning and execution of each stage without the need for frequent
adjustments.

3. Traditional project management methodologies: Waterfall is a traditional project


management approach that works well when project requirements are stable and predictable. It
provides a structured framework for planning and executing projects according to predefined
specifications.

4. Large-scale infrastructure development projects: Large-scale infrastructure projects typically


involve complex requirements and long planning phases. The Waterfall Model's emphasis on
upfront planning and documentation may be more suitable for managing the intricacies of such
projects.

5. Regulatory compliance procedures: Regulatory compliance often requires strict adherence to


predefined standards and procedures. The Waterfall Model's emphasis on documentation and
traceability aligns well with the requirements of regulatory compliance.

6. Aerospace and defense projects: Aerospace and defense projects often involve stringent
requirements, high safety standards, and long development cycles. The Waterfall Model's

5
structured approach allows for thorough planning, rigorous testing, and traceability, which are
crucial in these industries.

7. Documentation-heavy projects with stringent requirements: Projects with extensive


documentation requirements and strict quality standards may benefit from the Waterfall
Model's emphasis on thorough documentation at each phase of development.

In contrast, Agile and Spiral Models are more suitable for projects where requirements are likely
to evolve, and there's a need for flexibility, iterative development, and continuous feedback
from stakeholders. These models prioritize adaptability, collaboration, and delivering value
incrementally, which may not align with the characteristics of the examples provided.

In a software why we use Agile Model, why we do not use Waterfall


model and Spiral Model?
Agile Model is well-suited for dynamic and evolving project environments where requirements
are likely to change, and there's a need for rapid adaptation and continuous delivery of value.
Let's examine why the Agile Model is preferred over the Waterfall and Spiral Models in the
given examples:

1.Software development for mobile applications: Agile is preferred for mobile app
development due to the fast-paced nature of the mobile market, evolving user preferences, and
the need for frequent updates and enhancements. Agile allows for iterative development, quick
response to user feedback, and incremental delivery of features, which align well with the
requirements of mobile app development.

2. Web development projects with rapidly changing requirements: Web development projects
often face rapidly changing requirements driven by market trends, technological advancements,
and user feedback. Agile's iterative approach enables teams to adapt quickly to changing
requirements, prioritize features based on customer needs, and deliver value incrementally.

3. Start-up companies with evolving product visions: Start-ups typically operate in dynamic
environments with evolving product visions, uncertain market conditions, and limited resources.
Agile's flexibility, emphasis on collaboration, and focus on delivering working software align well

6
with the needs of start-up companies seeking to iterate rapidly, validate ideas, and respond to
market feedback.

4. E-commerce platforms adapting to market trends: E-commerce platforms must continuously


adapt to changing market trends, customer preferences, and competitive pressures. Agile
enables e-commerce teams to respond quickly to market dynamics, experiment with new
features, and optimize the user experience to stay competitive in the rapidly evolving e-
commerce landscape.

5. Video game development with frequent updates and patches: Video game development
involves complex and iterative processes, with frequent updates, patches, and downloadable
content to keep players engaged. Agile's iterative development approach allows game
developers to release updates incrementally, gather player feedback, and prioritize features
based on player preferences and gameplay metrics.

6. Agile marketing campaigns responding to consumer feedback: Agile methodologies are


increasingly being applied to marketing campaigns to enable quick adaptation to consumer
feedback, market trends, and campaign performance metrics. Agile marketing allows marketing
teams to experiment with different strategies, iterate on campaigns in real-time, and optimize
marketing efforts based on data-driven insights.

7. Research and development projects requiring experimentation and adaptation: Research


and development projects often involve experimentation, discovery, and adaptation as teams
explore new ideas and technologies. Agile's iterative approach supports continuous
experimentation, collaboration between cross-functional teams, and rapid adaptation to
changing project requirements and objectives.

In summary, Agile Model is preferred in these examples due to its ability to accommodate
change, foster collaboration, and deliver value incrementally in dynamic and evolving project
environments. Waterfall and Spiral Models, with their sequential and more rigid approaches,
may not be as well-suited for projects with rapidly changing requirements and the need for
continuous adaptation and innovation.

7
In a software why we use Spiral Model, why we do not use Agile model and
Waterfall Model?
The Spiral Model is often preferred in scenarios where projects involve high levels of
uncertainty, complexity, and risk, and where iterative development with a focus on risk
management is essential. Let's analyze why the Spiral Model might be favored over the
Waterfall and Agile Models in the given examples:

1. Complex software systems requiring extensive risk assessment: The Spiral Model's iterative
approach allows for thorough risk assessment and mitigation throughout the project lifecycle. It
enables teams to identify and address potential risks early, which is crucial for complex systems
where failure can have significant consequences.

2. Software projects with evolving requirements and uncertain technologies: The Spiral Model
accommodates evolving requirements and uncertain technologies by allowing for iterative
development and prototyping. It enables teams to refine requirements and experiment with
different solutions, making it suitable for projects with changing or unclear requirements.

3. Long-term projects with changing stakeholder priorities: Long-term projects often


experience changing stakeholder priorities due to evolving business needs or external factors.
The Spiral Model's iterative nature allows for flexibility in accommodating changing priorities
and adjusting project plans accordingly.

4. Projects involving cutting-edge technologies with uncertain outcomes: The Spiral Model is
well-suited for projects involving cutting-edge technologies with uncertain outcomes. It allows
for experimentation and prototyping to explore new technologies and assess their feasibility
before committing to full-scale development.

5. Military and defense systems with high reliability requirements: Military and defense
systems require high reliability and stringent testing to ensure operational effectiveness and
safety. The Spiral Model's emphasis on risk management and iterative development aligns well
with the rigorous testing and validation processes required for such systems.

8
6. Healthcare software systems with stringent regulatory constraints: Healthcare software
systems are subject to stringent regulatory constraints to ensure patient safety and data
security. The Spiral Model's iterative approach facilitates compliance with regulatory
requirements by allowing for continuous validation and verification of system functionality and
security measures.

7. Software projects with evolving user needs and market demands: The Spiral Model is
suitable for projects with evolving user needs and market demands because it allows for
frequent feedback loops and adjustments based on user feedback. It enables teams to adapt
the software to changing requirements and market conditions over time.

In summary, the Spiral Model is preferred in these examples due to its ability to manage
uncertainty, mitigate risks, and accommodate changing requirements through iterative
development and risk analysis. The Waterfall Model's sequential approach may be too rigid to
handle uncertainty and change effectively, while the Agile Model, although adaptable, may not
provide the level of risk management and comprehensive planning needed for projects with
high levels of complexity and uncertainty.

You might also like