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
Computer-based Info Systems began
Present day Info Systems
Internet, Intranet, and Extranets.
in the 1950’s.
1980’s introduced microcomputers
CASE tools development
System developers went from builders to
integrators.
1990’s 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
Requirements: The requirements of
Testing: After integration the system is
the system are are removed.
tested and bugscollected and set in
stone.
Installation & Maintenance: The final
Design: A blueprint is made for at this
installation of the system is done the
programmers using the previously
phase. Users are trained and the system
collected requirements.
is maintained by the system designers.
Implementation: System components
are designed by coders and integrated
together.
Waterfall Methodology
Pros
Cons
Impossible to know exactly what is
Time spent early in production can
save a in each phase of the of
needed company hundreds software
thousands of some time is spent in the
process before dollars.
phase following it.
More emphasis is placed on
documentation locked in other
Requirments are than any too early
leaving no room for user feedback and
methods.
modification.
Too much emphasis on deadlines rather
than user requirments.
Systems Development Life Cycle (SDLC)
Planning
Maintenance First phase
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
Identification phase
System and Written specs turned over to
Needs are examined as a whole
programmers
Analysis
Implementation process
Studies current procedures and Info Systems
Coding, testing, installation
Sub phase -
Maintenance Requirement determination
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 Planning
User Design
Construction
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: Very iterative process usually
Planning: User stories are collected
from with teams of Feedback is given a
done the customer. 2 programmers at to
the customer to feedback is constantly
time. Customer help better understand
used during the coding process.
the requirements.
Designing: Primary focus after each
Testing: Consistently doneis on keeping
portion of code is created. If bugs are
the design simple. Constant
found the code is reworked and retested.
communication with the customer is
used to design and redesign over and
Releases: These are usually done in
over portions. they have reached an
smallagain until Final product is then
acceptable solution.
thoroughly tested upon release.
eXtreme Programming (XP)
Pros
Cons
Code will be developed, tested, XP
Really there are no cons to and besides
implemented into the system within a few hours
the fact that it may not be 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
The RUP uses six key principles in its
An Object-Oriented iterative software
development process.
development process created by the
6. Focus the process: Decide on (a division
1. Adapt Software Corporation Encourages
Rational continuously iteratively:the right size
4. Demonstrate value on quality: Projects are
delivered in budget for testing not
quality and an incremental and iterative
project checks through the 1998. only at
of IBM since 2003) around organization.
the end This encourages feedback from
2. fashion. but during the creationDetermines
Balance stakeholder mentor that the
RUP is like an online priorities: of
stakeholders and allows projects to adjust
projects.
business goals and templates, and
provides guidelines, stakeholder needs.
to changing requirements.
3. Collaborate across
examples the level ofteams: With a broad
for all aspects and stages of
abstraction: Motivates
5. Elevate of stakeholders, all voices need to
variety development.
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
Inception: Analysts define is scope,
Construction: The softwarethe actually
coded, tested, and documented. At the
determine the feasibility of the project,
understand user a beta version of
end of this phaserequirements, andthe
project is released that should have
prepare a software development plan.
operational capabilities.detail user
Elaboration: Analysts
requirements and develop deployed,
Transition: The system is a baseline
architecture. corrected, and the users
problems are In this phase an executable
demonstration supported. Once
are trained andof the critical pieces will
be developed.
acceptable criteria are met the product
can then be scheduled for final release.
Rational Unified Process (RUP)
Pros
Cons
Establishes a better understanding and
If the users of RUP do not understand
communication channel between business
engineering a software engineering.
that RUP isandprocess framework, they
Provides pre-configured process templates for
may perceive it as a weighty and
small, medium and large projects, which can be
expensive process.
used for easier adoption.
Allows for constant feedback from the business
Requires the stakeholders. expert.
as well as an RUP process
Encourages the use of reusable assets such as
be applicable to all situations.
May not pattern, 4GL or Framework which in
software
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!