26
Waterfall Model (Contd…)
AdvantagesDisadvantages
Easy to be explained Inflexible
Stages and activities are well defined Adjusting scope is difficult and
expensive
Milestones are well understood Model doesn't provide a clear path
for problems
found during testing phases
Each phase has specific deliverables Costly and required more time
Works well for smaller projects
where requirements are very well
understood.
Needs very proper and detailed
planning
Process and results are well
documented
No continuous customer
involvement to review the output
04/06/2025
Amity Institute ofInformation
Technology
28
Prototyping Model
• This model is used when the customers do not know the
exact project requirements beforehand.
• In this model, a prototype of the end product is first
developed, tested, and refined as per customer feedback
repeatedly till a final acceptable prototype is achieved, which
forms the basis for developing the final product.
04/06/2025
Amity Institute ofInformation
Technology
30
Advantage of Prototype Model
1. Reduce the risk of incorrect user requirement.
2. Good where requirement are changing/uncommitted.
3. Regular visible process aids management.
4. Support early product marketing.
5. Reduce Maintenance cost.
6. Errors can be detected much earlier as the system is made
side by side.
31.
04/06/2025
Amity Institute ofInformation
Technology
31
Disadvantage of Prototype Model
1. An unstable/badly implemented prototype often becomes the final
product.
2. Difficult to know how long the project will last.
3. It is a time-consuming process.
32.
04/06/2025
Amity Institute ofInformation
Technology
32
Types of Prototyping Models
• Rapid Throwaway Prototyping
Rapid prototyping is also known as “throwaway prototyping” because the prototype is
expected to be relevant only in the short term, It may go through several cycles of
feedback, modification, and evaluation during that time. When all the stakeholders are
satisfied, it becomes a reference for the designers and developers to use.
• Evolutionary Prototyping
An evolutionary prototype is a functional piece of software, not just a
simulation. Evolutionary prototyping starts with a product that meets only the
understood system requirements.
04/06/2025
Amity Institute ofInformation
Technology
34
Incremental
Model
• Incremental Model is a process of software development
where requirements are broken down into multiple standalone
modules of software development cycle.
• First increment is often a core product where the basic
requirements are addressed, and supplementary features are
added in the next increments.
35.
04/06/2025
Amity Institute ofInformation
Technology
Analysis Phase
• The development process starts with the analysis phase. This phase
results in a specification document that shows what the software will do
without specifying how it will be done.
35
36.
04/06/2025
Amity Institute ofInformation
Technology
Design Phase
• The design phase defines how the system will accomplish what was
defined in the analysis phase. In the design phase, all components of the
system are defined.
36
37.
04/06/2025
Amity Institute ofInformation
Technology
Implementation Phase
• In this phase the programmers write the code for the modules in procedure-
oriented design, or write the program units to implement classes in object-
oriented design. There are several issues we need to mention in each case.
37
38.
04/06/2025
Amity Institute ofInformation
Technology
Testing Phase
• The goal of the testing phase is to find errors, which means that a good
testing strategy is the one that finds most errors.
38
39.
04/06/2025
Amity Institute ofInformation
Technology
39
• Advantages-
1. Prepares the software fast.
2. Clients have a clear idea of the project.
3. Changes are easy to implement.
4. Provides risk handling support, because of its iterations.
• Disadvantages-
5. A good team and proper planned execution are required.
6. Because of its continuous iterations the cost increases.
04/06/2025
Amity Institute ofInformation
Technology
44
Advantages of the Spiral Model
• Risk Handling
• Good for large projects
• Flexibility in Requirements
• Customer Satisfaction
• Emphasis on Risk Management
• Improved Communication
• Improved Quality
45.
04/06/2025
Amity Institute ofInformation
Technology
45
Disadvantages of the Spiral
Model
• Complex
• Expensive
• Time-Consuming
• Resource Intensive
• Time-Consuming
04/06/2025
Amity Institute ofInformation
Technology
49
THE RAD MODEL
• the RAD process enables a development team to create a “fully functional
system” within very short time periods (e.g., 60 to 90 days).
• In the RAD model, the functional modules are developed in parallel
as prototypes and are integrated to make the complete product for
faster product delivery.
• RAD projects follow iterative and incremental model and have small
teams
comprising of developers.
50.
04/06/2025
Amity Institute ofInformation
Technology
50
THE RAD MODEL
• Business modeling. The information flow among business functions is
modeled in
a way that answers the following questions: What information drives the
Business process? What information is generated? Who generates it?
Where does the information go? Who processes it?
• Data modeling. The information flow defined as part of the business
modeling phase is refined into a set of data objects that are needed to
support the business.
• Process modeling. The data objects defined in the data modeling phase
are transformed to achieve the information flow necessary to implement
a business function.
51.
04/06/2025
Amity Institute ofInformation
Technology
51
THE RAD MODEL
• Application generation. Rather than creating software using conventional third
generation programming languages the RAD process works to reuse existing
program components. Automated tools are used to facilitate construction of the
software.
• Testing and turnover. Since the RAD process emphasizes reuse, many of the
program components have already been tested. This reduces overall testing time.
However, new components must be tested and all interfaces must be fully
exercised.
52.
04/06/2025
Amity Institute ofInformation
Technology
THE RAD MODEL (Drawbacks)
52
• For large but scalable projects, RAD requires sufficient human resources to create
the right number of RAD teams.
• RAD requires developers and customers who are committed to the rapid-fire
activities necessary to get a system complete in a much abbreviated time frame.
• If high performance is an issue and performance is to be achieved through tuning
the interfaces to system components, the RAD approach may not work.
• RAD is not appropriate when technical risks are high. This occurs when a new
application heavily uses new technology or when the new software requires a high
degree of interoperability with existing computer programs.
04/06/2025
Amity Institute ofInformation
Technology
54
Component-Based Software
• Components provide a service
without regard to where the
component is executing or its
programming language
– A component is an independent
executable entity that can be made
up of one or more executable objects
– The component interface is published and
all interactions are through the
published interface
04/06/2025
Amity Institute ofInformation
Technology
What is
agile?
• Agile is a process that allows a team to more
efficiently manage a project by breaking it
down into several stages, each of which allows
for consistent collaboration with stakeholders to
promote steady improvements at every stage.
• In software development, agile practices involve
discovering requirements and developing
solutions through the collaborative effort of self-
organizing and cross-functional teams and their
customer/end user.
5
58.
04/06/2025
Amity Institute ofInformation
Technology
Agile
methodology
• Agile methodology is a type of project management process,
mainly used for software development, where demands and
solutions evolve through the collaborative effort of
self- organizing and cross-functional teams and their
customers.
• Agile software development refers to a group of software
development methodologies based on iterative development,
where requirements and solutions evolve through
collaboration between self-organizing cross-functional teams.
5
59.
04/06/2025
Amity Institute ofInformation
Technology
Agile
methodology
• In Agile, the product is
“manufactured” through
incremental cycles known as
sprints.
• The product is built in “bits”
and “pieces” through sprint
cycles. At the end of each
sprint, “some” product
features and functionality is
developed by the team.
5
60.
04/06/2025
Amity Institute ofInformation
Technology
Agile
manifesto
The Agile Manifesto was founded in 2001 with the aim of
“uncovering better ways of developing software by doing
it and helping others do it.”
4 values:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value
the items on the left more.
69
6
61.
04/06/2025
Amity Institute ofInformation
Technology
What are the 12 principles of
agile?
• Customer satisfaction
• Early and continuous delivery
• Embrace change
• Frequent delivery
• Collaboration of businesses and developers
• Motivated individuals
• Face-to-face conversation
• Functional products
• Technical excellence
• Simplicity
• Self-organized teams
• Regulation, reflection and adjustment
6
62.
04/06/2025
Amity Institute ofInformation
Technology
Plan-driven and agile specification
71
separate
developmen
t stages with
the outputs
to be
produced at
each of
these stages
planned in
advance.
Not
necessarily
waterfall
model –
plan- driven,
incremental
developmen
t is possible
Iteration within
stage
Iteration of
stage
User's full
agreement at
end, not
before code
6
04/06/2025
Amity Institute ofInformation
Technology
Examples of Agile Methodology
• Agile Scrum Methodology.
• Lean Software Development.
• Kanban.
• Extreme Programming (XP)
• Crystal.
• Dynamic Systems Development Method (DSDM)
• Feature Driven Development (FDD)
6
65.
04/06/2025
Amity Institute ofInformation
Technology
Frameworks for Agile Methodology
• You can run an Agile project using several different
frameworks. Some of the more popular ones include:
• Scrum
• Kanban
• Extreme Programming
• DSDM (Dynamic System Development Methods)
6
04/06/2025
Amity Institute ofInformation
Technology
Scrum Framework
• It is based upon the systematic interactions
between the three major roles with defined
accountabilities:
• Scrum Master,
• Product Owner,
• and the Team.
6
04/06/2025
Amity Institute ofInformation
Technology
71
Benefits of Agile project management
• Continuous customer contact
• The ability to adapt
• Faster delivery
• Lower project risk
• Ongoing innovation
72.
04/06/2025
Amity Institute ofInformation
Technology
72
Disadvantages of Agile project
management
1. Due to the shortage of formal documents, it creates confusion
and crucial decisions taken throughout various phases can
be misinterpreted at any time by different team members.
2. Due to the lack of proper documentation, once the project
completes and the developers allotted to another project,
maintenance of the finished project can become a difficulty.
73.
Selection of aLife
Cycle Model
Selection of a model is based on:
a) Requirements
b) Development team
c) Users
d) Project type and associated
risk
73
74.
Based On CharacteristicsOf
Requirements
Requirements Waterfall Prototype Iterative
enhancement
Evolutionary
development
Spiral RAD
Are requirements
easily understandable
and defined?
Yes No No No No Yes
Do we change
requirements quite
often?
No Yes No No Yes No
Can we define
requirements early
in the cycle?
Yes No Yes Yes No Yes
Requirements are
indicating a complex
system to be built
No Yes Yes Yes Yes No
74
75.
Developmen
t team
Waterfall PrototypeIterative
enhancement
Evolutionary
development
Spiral RAD
Less experience on
similar projects?
No Yes No No Yes No
Less domain
knowledge (new to
the technology)
Yes No Yes Yes Yes No
Less experience on
tools to be used Yes No No No Yes No
Availability of
training if required No No Yes Yes No Yes
Based On Status Of
Development Team
75
76.
Based On User’s
Participation
Involveme
ntof
Users
Waterfall Prototype Iterative
enhancement
Evolutionary
development
Spiral RAD
User involvement
in all phases No Yes No No No Yes
Limited
user
participatio
n
Yes No Yes Yes Yes No
User have no
previous experience
of participation in
similar projects
No Yes Yes Yes Yes No
Users are experts
of problem domain No Yes Yes Yes No Yes
76
77.
Project
type
and risk
Waterfall PrototypeIterative
enhancement
Evolutionary
development
Spiral RAD
Project is the
enhancement of the
existing system
No No Yes Yes No Yes
Funding is
stable for the
project
Yes Yes No No No Yes
High
reliability
requirements
No No Yes Yes Yes No
Tight
project
schedule
No Yes Yes Yes Yes Yes
Use of
reusable
components
No Yes No No Yes Yes
Are resources
(time, money,
people etc.) scare?
No Yes No No Yes No
Based On Type Of Project With
Associated Risk
77