Assignment # 02
Project Management Models
Waterfall model
First introduced in 1970, the waterfall model is a software development process. The waterfall model
emphasizes that a logical progression of steps be taken throughout the software development life
cycle (SDLC). In a Waterfall model, each phase must be completed before the next phase can
begin and there is no overlapping in the phases. The outcome of one phase acts as the input
for the next phase sequentially. This means that any phase in the development process begins
only if the previous phase is complete. In this model progress is seen as flowing steadily
downwards (like a waterfall) through different phase. It is very simple to understand and use.
The phases in Waterfall model are
Requirement Gathering and analysis − All possible requirements of the system to be developed
are captured and documented in a requirement specification document.
System Design − The requirement specifications from first phase are studied in this phase and the
system design is prepared. This system design helps in specifying hardware and system
requirements and helps in defining the overall system architecture.
Implementation − With inputs from the system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and tested
for its functionality, which is referred to as Unit Testing.
Integration and Testing − All the units developed in the implementation phase are integrated
into a system after testing of each unit. Post integration the entire system is tested for any faults
and failures.
Deployment of system − Once the functional and non-functional testing is done; the product is
deployed in the customer environment or released into the market.
Maintenance − There are some issues which come up in the client environment. To fix those
issues, patches are released. Also to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer environment.
Waterfall Model – Application
Some situations where the use of Waterfall model is most appropriate are
Requirements are very well documented, clear and fixed (not changing frequently)
Product definition is stable and it is not complicated and big
The project is short.
Environment is stable
Technology and tools used are not dynamic and is stable
Resources are available and trained.
Spiral Model:
The spiral model was first introduced in 1986 paper. Spiral Model is a combination
of a waterfall model and iterative model. Each phase in spiral model begins with a
design goal and ends with the client reviewing the progress. The spiral model is
similar to the incremental model, with more emphasis placed on risk analysis
which provides support for Risk Handling. In its diagrammatic representation, it looks like a spiral
with many loops. The exact number of loops of the spiral is unknown and can vary from project to
project. Each loop of the spiral is called a Phase of the development process. The exact number of
phases needed to develop the product can be varied by the project manager depending upon the
project risks
Spiral Model Phases
Planning- It includes estimating the cost, schedule and resources for the
iteration. It also involves understanding the system requirements for continuous
communication between the system analyst and the customer.
Risk Analysis- Identification of potential risk is done while risk mitigation strategy is
planned and finalized.
Engineering- It includes testing, coding and deploying software at the customer site.
Evaluation- Evaluation of software by the customer. Also, includes identifying and
monitoring risks such as schedule slippage and cost overrun.
When to use Spiral Methodology?
When releases are required to be frequent
For medium to high-risk projects
When requirements are unclear and complex
When changes may require at any time
When costs and risk evaluation is important
Long-term project commitment.
Users are unsure of their needs
New product line
Agile Model:
AGILE methodology is a practice that promotes continuous iteration of
development and testing throughout the project. Both development and testing
activities are concurrent unlike the Waterfall model. A gile model believes that every
project needs to be handled differently and the existing methods need to be tailored to
best suit the project requirements.
The Agile model was primarily designed to help a project to adapt to change requests
quickly. So, the main aim of the Agile model is to facilitate quick project completion. To
accomplish this task agility is required. Agility is achieved by fitting the process to the
project, removing activities that may not be essential for a specific project. Also, anything
that is wastage of time and effort is avoided.
Iterative and Incremental process models:
In the Agile model, the requirements are decomposed into many small parts that can be
incrementally developed. The Agile model adopts Iterative development. Each incremental
part is developed over an iteration. Each iteration is intended to be small and easily
manageable and that can be completed within a couple of weeks only. At a time one iteration
is planned, developed and deployed to the customers. Long-term plans are not made.
Agile model is the combination of iterative and incremental process models. Steps involve in
agile SDLC models are:
Requirement gathering
Requirement Analysis
Design
Coding
Unit testing
Acceptance testing
The time to complete an iteration is known as a Time Box. Time-box refers to the maximum
amount of time needed to deliver an iteration to customers. So, the end date for an iteration
does not change.
Agile was originally developed for the software industry to streamline and improve the
development process in an effort to rapidly identify and adjust for issues and defects. It
provides a way for developers and teams to deliver a better product, in a faster manner,
through short, iterative, interactive sessions. In the era of digital transformation, with many
companies migrating to a digital workplace, agile is a perfect fit for organizations looking to
transform how they manage projects and operate as a whole. Agile can help ensure company-
wide process and methodological alignment. In terms of business benefits, both the digital
workplace and agile provide:
Increased flexibility
Increased productivity
Increased transparency
Higher quality deliverables
Decreased risk of missed objectives
Increased stakeholder engagement and satisfaction
Comparison Table:
Trait/Feature Project Management
Models
Waterfall Model Spiral Model Agile Model
Approach The waterfall model Spiral Model is a AGILE methodology
emphasizes that a combination of a is a practice that
logical progression of
steps be taken waterfall model promotes continuous
throughout the and iterative iteration of
process. In model. Each development and
a Waterfall model, phase in spiral testing throughout
each phase must be model begins the project
completed before with a design
the next phase can
begin and there is
goal and ends
no overlapping in with the client
the phases. reviewing the
progress.
Customer Require customer Customer can Prefer Customer available
Availability involvement at project see the working throughout the project.
milestone. product at the
early stages of
software
development
lifecycle
Cost Only one initial Cost estimation Incremental
investment to be becomes easy as investment process
spread out over the the prototype where money is
project timeline. building is done released with phases
in small
fragments. Can be
a costly model to
use.
Scope/Size Suited for smaller It is Smaller and cross-
projects where recommended to functional teams.
requirements are use the Spiral Projects/businesses
well defined Model in large
that need very flexible
and complex
projects. environment
Documentation Elaborate
documentation is
done at every phase
of the software's
development cycle
Team
References:
[Link]
[Link]
[Link]
[Link]
leadership/pulse/[Link]?sc_lang_temp=en
[Link]
[Link]
[Link]