You are on page 1of 10

When to use and when not to

use Agile
PROS AND CONS

Overview
 Traditional, Plan Driven Development Principles
 Pros and Cons
 Agile Product Development Principles
 Pros and Cons
 How to determine when to use Agile vs. Waterfall
 Open discussion forum

 The most common and purest form of traditional,

Traditional
Development




plan-driven development is referred to as


waterfall.
A linear, plan-driven, top-to-bottom approach to
development that originates from the
manufacturing and construction industries.
Consists of 5 stages: Initiation, Planning,
Executing, Controlling, Project Close-Out
(according to PMI).
All steps are laid out, dependencies mapped, and
you move to the next stage only after completing
the previous one.
All requirements are to be defined, documented,
and signed-off during the initial phases of the
project .
Stresses documentation.
Emphasis on triple constraint: Time, Cost, Scope.

Waterfall
Pros


The waterfall methodology stresses


meticulous record keeping. Having such
records allows for the ability to improve upon
the existing program in the future.
With the waterfall methodology, the client
knows what to expect. Theyll have an idea of
the size, cost, and timeline for the project.
Theyll have a definite idea of what their
program will do in the end.
In the case of employee turnover, waterfalls
strong documentation allows for minimal
project impact.
Best for projects that deal with physical
objects-from a construction project to a
hardware installation project.
Project plans are repeatable for identical or
similar projects in the future.

Cons



Requires substantial scope and schedule


planning before work begins.
Once a step has been completed, developers
cant go back to a previous stage and make
changes.
Relies heavily on initial requirements. Less
effective for software, design, and other nonphysical or services-based projects.
The whole product is only tested at the end. If
bugs are written early, but discovered late,
their existence may have affected how other
code was written.
The plan doesnt take into account a clients
evolving needs. If the client realizes that they
need more than they initially thought, and
demand change, the project will come in late
and impact budget.
Scope changes can be slow and require
formal change control processes.

Agile
Development













Highest priority is to satisfy the customer through early


and continuous delivery of valuable software
Welcome changing requirements, even late in
development
Deliver working software frequently
Business people and developers must work together daily
throughout the project
Build projects around motivated individuals
Face-to-face conversation / collaboration
Working software is the primary measure of progress
Agile processes promote sustainable development
Continuous attention to technical excellence and good
design enhances agility
Simplicity--the art of maximizing the amount of work not
done--is essential
The best architectures, requirements, and designs emerge
from self-organizing teams
At regular intervals inspect and adapt.

Agile
Pros


The Agile methodology allows for changes


to be made after the initial planning. Rewrites to the program, as the client
decides to make changes, are expected.
Because the Agile methodology allows you
to make changes, its easier to add features
that will keep you up-to-date with the
latest developments in your industry.
At the end of each sprint, project priorities
are evaluated. This allows clients to add
their feedback so that they ultimately get
the product they desire.
The testing at the end of each sprint
ensures that the bugs are caught and
taken care of in the development cycle.
They wont be found at the end.
Empowers project teams to work
creatively and efficiently.

Cons
 Not suited for projects with strictly


defined requirements and scope.


Uncertainty around scope and
schedules can make stakeholders and
executives nervous (at first).
Requires vigilant backlog and
documentation maintenance, and
tech debt management.
With a less successful project
manager, the project can become a
series of code sprints. If this
happens, the project is likely to come
in late and over budget.
As the initial project doesnt have a
definitive plan, the final product can
be grossly different than what was
initially intended

When to use
Waterfall

Agile

Large Complete Projects where structure


is required
 When there is a clear picture of what the
final product should be.
 When clients wont have the ability to
change the scope of the project once it has
begun.
 When definition, not speed, is key to
success





When rapid production is more important


than the quality of the product.
When clients will be able to change the
scope of the project.
When there isnt a clear picture of what
the final product should look like.
When you have skilled developers who are
adaptable and able to think
independently.
When the product is intended for an
industry with rapidly changing standards.

When to use

How to determine which approach to use

For each competency place a check mark representing your company capability
 Count the number of check marks that fall in Waterfall and Agile
 The methodology with the higher number of check marks is the best fit


Open Discussion

You might also like