It’s a common misconception that Agile development methodology is a no-documentation-little-planning-and gun-ho-developers-on-the-loose Google style of project management compared to the traditional Waterfall methodology.
CNIC Information System with Pakdata Cf In Pakistan
Acknowledging The Common Good of Agile
1. 1
Shared
Services
Analysis
ACKNOWLEDGING
THE
COMMON
GOOD
OF
AGILE
Praising
the
good
of
Agile
and
abrogating
the
negativity
it
brings
June
5,
2013
Questions
or
comments?
Please
contact
Corbin
Norman,
norman@logapps.com,
703-‐592-‐6360
2. 2
Introduction
It’s
a
common
misconception
that
compared
to
the
traditional
Waterfall
methodology,
Agile
development
methodology
is
a
no-‐documentation,
little-‐planning,
and
gung-‐ho
style
of
project
management
compared
to
the
traditional
Waterfall
methodology.
Critics
of
Agile
say
it
makes
things
worse
by
promising
solutions
it
cannot
deliver
and
that
it
promotes
sloppy
requirements
creation,
hides
the
true
cost
of
development,
and
prevents
effective
management.
Their
argument
is
that
Agile
methodology
leads
to
long-‐running
projects,
dissatisfied
customers,
and
overall
IT
ineffectiveness.
Additionally,
critics
say
Agile
only
works
when
products
are
in
the
proof-‐of-‐concept
phase
of
development
and
teams
are
already
integrated.
With
software
development
cycles
getting
shorter
and
shorter
due
to
demand
for
faster
time-‐
to-‐market,
Agile
offers
a
project
management
style
suited
to
the
ever-‐changing
software
development
environment.
Organizations
can
find
significant
value
in
adopting
Agile
methodologies
and
techniques
because
such
practices
help
ensure
that
they
meet
customer
expectations,
deliver
products
on
time,
and
create
a
motivated
and
adaptable
workforce.
Background:
What
is
Agile
Methodology?
Agile
software
development
is
the
process
by
which
a
software
product
is
produced
quickly
and
efficiently
by
means
of
frequent
and
complete
releases,
and
by
allowing
project
stakeholders
to
use,
test,
and
review
the
product
and
to
provide
their
input
into
its
development.
By
means
of
this
iterative
and
incremental
process,
a
prototype
or
proof
of
concept
can
more
rapidly
be
developed
into
productive
software.
Organizations
like
the
Project
Management
Institute
(PMI)
are
gradually
adopting
Agile
as
a
valid
project
management
methodology,
as
shown
in
new
certifications
such
as
the
PMI
Agile
Certified
Practitioner
(PMI-‐ACP).
While
there
are
quite
a
few
arguments
being
made
both
for
and
against
the
Agile
methodology,
the
development
community
should
take
notice
that
the
benefits
of
this
approach
can
far
outweigh
its
drawbacks.
3. 3
Flexibility
One
of
Agile’s
key
advantages
is
that
it
provides
more
flexibility
compared
to
traditional
Waterfall
methodology.
Waterfall
tends
to
prioritize
project
scope
and
features
ahead
of
design
and
implementation,
to
the
extent
that
those
aspects
begin
to
take
control.
With
this
method,
using
project
scope
as
a
constant,
the
other
aspects
of
the
project
management
triad—
schedule
and
cost—must
be
adjusted
accordingly.
However,
using
Agile,
schedule
and
cost
are
the
major
determining
factors,
while
the
scope
changes
to
accommodate
the
client’s
needs.
For
mature
Agile
teams,
this
level
of
flexibility
is
brought
about
by
years
of
experience
working
together.
Traditional
Waterfall
doesn’t
allow
this
level
of
flexibility
once
a
project
is
underway,
since
it
strictly
adheres
to
the
concept
that
once
a
stage
or
process
has
ended,
it
cannot
be
adjusted.
Instantaneous
Feedback
Another
point
in
Agile’s
favor
is
the
immediate
feedback
provided
by
interaction
between
the
client
and
management.
Agile
Scrum
methodology
calls
for
smaller
release
cycles
(known
as
interactions,
story
points,
sprints,
drops,
demos,
etc.),
in
which
the
product
is
always
in
a
ready
release
state.
This
is
made
possible
with
continuous
feedback
from
all
stakeholders,
from
product
owners
and
end
users,
to
development
and
quality
assurance
teams.
Comments,
corrections,
and
suggestions
are
immediately
passed
on
to
the
developers
and
testers,
who
in
turn
determine
if
changes
can
be
accomplished
without
negatively
affecting
the
schedule,
cost,
and
current/future
delivery
of
features.
Standard
Agile
iteration
cycles
usually
span
one
to
two
weeks,
enabling
end
users
to
see
progress
in
a
much
shorter
amount
of
time
compared
to
Waterfall
methodology,
in
which
iteration
cycles
span
1-‐2
months.
Proactively
Hunting
Defects
Lastly,
Agile
gives
organizations
the
ability
to
present
their
final
product
with
fewer
defects.
This
is
the
result
of
quality
assurance
testing
conducted
during
each
cycle.
In
a
Chief
Information
Officer
article
critical
of
Agile
methodology,
Lajos
Moczar
argues
that
focusing
on
continuous
delivery
of
software
value
has
the
effect
of
creating
an
“unmanageable
defect
4. 4
backlog
while
developers
work
to
put
something
in
front
of
the
customer."
However,
since
a
Quality
Assurance
team
can’t
stamp
a
release
as
“’client
ready”
if
it
isn’t
working
properly,
and
the
Agile
methodology
requires
that
each
iteration
be
a
virtually
finished
end
product,
defects
are
detected
very
early
on.
Thus,
Agile
does
not
promote
the
practice
of
ignoring
defects,
but
rather
prioritizes
them,
taking
corrective
actions
on
the
fly.
The
continuous
process
to
“develop,
build
and
test”
also
cuts
down
on
the
number
of
defects
as
the
iteration
cycles
go
on.
In
addition,
using
a
combination
of
manual
and
automated
testing,
test
coverage
is
dramatically
increased
before
the
final
product
is
released.
Finally,
Agile
team
composition
usually
consists
of
at
least
one
person
who
spends
most
of
their
time
in
the
roles
of
Quality
Assurance
analyst
or
engineer,
and
one
person
who
is
dedicated
to
test
activities.
This
practice
helps
reduce
the
defect
rate
while
improving
awareness
and
mitigation
practices,
which
allow
for
further
cultivation
of
a
quality
software
product.
Agile
may
not
be
for
everyone
and
the
same
goes
for
Waterfall,
but
that
begs
the
questions
–
what
is
the
right
project
management
methodology
for
your
organization
and
what
software
development
approach
should
you
use
for
any
given
software
project?
Well…it
depends!