The Fun Filled World of
Methodologies
By Eric DeLisle & Sasan Rastegarlari
Presentation Overview
What is a Methodology?
Who uses Methodologies?
What are Methodologies used for?
Several types of Methodologies
Waterfall
SDLC
RAD
Agile
Object-Oriented
What is a Methodology?
Multi-step approach to systems
development
Influences the quality of the Final
product
Comprehensive
Consistent method with the
Organizations management style.
Who Uses Methodologies?
Most Organizations and Firms Today
IBM, Microsoft, Monsanto, NASA, AT&T,
Drury Hotels, Edward Jones, A.B.
Majority of Organizations and Firms
use a specific type of methodology
that is tailored to their needs.
What Are Methodologies Used For?
Systems Development
Guidelines or References
Step by Step process
Leads to final product
Analysis
Information
Gathered and Used to help the
development process
History of Methodologies
Present
Computer-based
day Info Systems
Info Systems began
Intranet, and Extranets.
in Internet,
the 1950s.
1980s introduced microcomputers
CASE tools development
System developers went from builders to
integrators.
1990s brought systems integration.
Visual programming environments.
Popular Methodologies
The Waterfall Methodology
The SDLC Methodology
The RAD Methodology
Agile Methodologies
eXtreme Programming (XP)
Object-Oriented Methodologies
Rational Unified Process (RUP)
Waterfall Methodology
Waterfall Methodology
Overview
Introduced by W.W. Royce in 1970
It was later redesigned using a more
iterative process, unfortunately this way
was ignored resulting in the current
Waterfall methodology
Most System Analysts do not like the
Waterfall Method
Each phase must be completed perfectly
There is no overlap or moving backward
in phases
Waterfall Methodology
Phases
Testing:
Requirements:
The requirements
of is
After integration
the system
the system
are collected
and set in
tested
and bugs
are removed.
stone.
Installation
& Maintenance: The final
installation
Design: A of
blueprint
is made
for the
the system
is done
at this
phase.
Users are
trained
and the system
programmers
using
the previously
is
maintained
by the system designers.
collected
requirements.
Implementation: System components
are designed by coders and integrated
together.
Waterfall Methodology
Cons
Pros
Impossible
knowinexactly
what is
Time spenttoearly
production
can
needed
in each phase
of the software
save a company
hundreds
of
process
before
some time is spent in the
thousands
of dollars.
phase following it.
More emphasis is placed on
Requirments are locked in too early
documentation than any other
leaving no room for user feedback and
methods.
modification.
Too much emphasis on deadlines rather
than user requirments.
Systems Development Life Cycle (SDLC)
Planning
First phase
Maintenance
Fifth phase
Analysis
Second
phase
Implementation
Fourth phase
Design
Third phase
Systems Development Life Cycle (SDLC)
Overview
Traditional Methodology
Used to develop, maintain, and replace info
systems
Common method for systems development
Contains several phases
Planning, Analysis, Design,
Implementation, Maintenance.
Systems Development Life Cycle (SDLC)
Phases
Implementation
Planning
System
Identification
phase specs turned over to
and Written
programmers
Needs are examined as a whole
Analysis
Implementation process
Studies
current
procedures
and Info Systems
Coding,
testing,
installation
Sub phase - Requirement determination
Maintenance
Design
Systems are in operation
Convert alternative solutions
Specific problems or changes are made
Inputs and Outputs
Reports, databases, computer processes
Rapid Application Development (RAD)
Requirements
Requirements Planning
Planning
User
User Design
Design
Construction
Construction
Cutover
Cutover
Rapid Application Development (RAD)
Overview
Methodology used to decrease time in
development process.
Efficient and Cheaper
Allows systems developers and end users
work together from the beginning.
Becoming a more legitimate way of
developing Web Based systems.
E-business applications
VisualAge Generator, Java, WebSphere Stuido
etc.
Rapid Application Development (RAD)
Phases
RAD phases are similar to SDLC
Shortened and Combined simplifies the
development process.
Systems are analyzed in isolation to other systems.
Eliminates time consuming activities.
Coordinating with existing standards and
systems during the Design and Development
phases
RAD focuses on Prototyping similar to JAD
Prototyping becomes the basis for the new system
eXtreme Programming (XP)
eXtreme Programming (XP)
Overview
An Agile Methodology invented about 8
years ago by Kent Beck
Successful because it stresses customer
satisfaction and software creation on
demand
Responsive to changing customer
requirements even late in the life cycle
Improves software projects in four essential
ways; communication, simplicity, feedback,
and courage.
eXtreme Programming (XP)
Phases
Coding:
iterative
usually
Planning:Very
User
storiesprocess
are collected
done
withcustomer.
teams of Feedback
2 programmers
at to
a
from the
is given
time.
Customer
feedback
is understand
constantly
the customer
to help
better
used
during the coding process.
the requirements.
Testing:
Consistently
doneisafter
each
Designing:
Primary focus
on keeping
portion
of code
is created.
the design
simple.
ConstantIf bugs are
found
the code is
reworked
and retested.
communication
with
the customer
is
used to design
andare
redesign
and
Releases:
These
usuallyover
done
in
over again
until Final
they have
reached
an
small
portions.
product
is then
acceptable solution.
thoroughly
tested upon release.
eXtreme Programming (XP)
Cons
Pros
Really
Code will
be developed,
tested,
there
are no cons
to and
XP besides
implemented
the system
a few hours
the
fact thatinto
it may
not bewithin
applicable
to
after it has been written.
every project.
XP is governed by very simple rules and
practices.
Pair programming used in XP produces more and
better communication among developers, higher
levels of productivity, higher quality code, and
reinforcement of the other practices in XP, such
as the code-and-test discipline.
Rational Unified Process (RUP)
Simple Diagram
Rational Unified Process (RUP)
Detailed Diagram
Rational Unified Process (RUP)
Overview
An
iterative
software
TheObject-Oriented
RUP uses six key
principles
in its
development
development process
process.created by the
4.
value
iteratively:
Projects
are
Rational
Software
Corporation
(a right
division
1. Demonstrate
Adapt continuously
the process:
Decide
on the
size
6.
Focus
on
quality:
Encourages
delivered
in2003)
an through
incremental
andnot
iterative
project
and
budget
for the
organization.
of IBM
since
around
1998.
quality
checks
testing
only at
This
encourages
feedback
from
the
end
but
during
the
creation
of
the
2. fashion.
Balance
stakeholder
priorities:
Determines
RUP
is like an online
mentor
thatto adjust
stakeholders
and
allows
projects
projects.
business
goals and stakeholder
needs.
provides
guidelines,
templates,
and
to changing requirements.
3. Collaborate
across
teams:
With
a broad
examples
for
all
aspects
and
stages
of
5. Elevate
the
level
of
abstraction:
Motivates
variety development.
of stakeholders, all voices need to
program
the reuse of software or Framework
be heard. Everyone within the project
already created.
shares information, opinions, and ideas.
Rational Unified Process (RUP)
Phases
The software
is actually
Construction:
Inception: Analysts
define the
scope,
coded,
tested,
documented.
At the
determine
the and
feasibility
of the project,
end
of this phase
a beta versionand
of the
understand
user requirements,
project
should have
prepareisa released
softwarethat
development
plan.
capabilities.
operational
Elaboration:
Analysts detail user
Transition:
requirementsThe
andsystem
develop
baseline
is adeployed,
architecture.
this phase
anthe
executable
problems
are In
corrected,
and
users
demonstration
the criticalOnce
pieces will
are
trained andof
supported.
be developed.
acceptable
criteria are met the product
can then be scheduled for final release.
Rational Unified Process (RUP)
Cons
Pros
If
Establishes
a better
understanding
and
the
users
of
RUP
do
not
understand
communication channel between business
that
RUP isand
a process
engineering
software framework,
engineering. they
may
Provides
pre-configured
for
perceive
it as a process
weightytemplates
and
small, medium and large projects, which can be
expensive
process.
used for easier
adoption.
Requires
Allows for constant
the. business
an RUP feedback
process from
expert
as well as the stakeholders.
May
Encourages
use of reusable
such as
not bethe
applicable
to allassets
situations.
software pattern, 4GL or Framework which in
turn prevents software engineers from having to
custom make software.
Conclusion
Who uses Methodologies?
What are Methodologies used for?
A brief history of Methodologies?
Popular methodologies in the Systems
Design Process.
Waterfall
Systems Development Life Cycle (SDLC)
Rapid Application Development (RAD)
eXtreme Programming (XP)
Rational Unifide Process (RUP)
Thank You
You May Now
Applause!