Agile Methodology
Quick and Dirty
Based off of “Agile In A Nutshell” @ www.agilenutshell.com
What is Agile?
 Agile is a time boxed,
iterative approach to
software delivery that builds
software incrementally from
the start of the project,
instead of trying to deliver it
all at once near the end.
 In short, Agile represents a
modular approach to
delivery.
What is Agile?
 It works by breaking project
down into little bits of user
functionality called User
Stories, prioritizing them, and
then continuously delivering
them in short two week cycles
called iterations.
 These modulus projects include
full functionality and have
utilized all functions of a
project, i.e. Analysis, Design,
Coding, and Testing.
How does Agile Work?
- The Process
 Make A List
 Sitting down with your
customer, you make a list
of features they would like
to see in their software.
This is now a list of User
Stories and they become
the To Do list for your
project.
 Size Things Up
 Using Agile Estimation
Techniques, you size your
stories relatively to each
other, coming up with a
guess as to how long you
think each user story will
take.
Note: The process is similar to the
practicing methods of Waterfall
techniques. The major distinctions at this
point are:
1. Each task is a fully functioning mini
project that could involve every
functional department.
2. The schedule is broken into 2 week
Sprints
Strict Waterfall techniques require one
task followed by another AFTER
completion of the previous task and often
does not allow you to revisit the previous
tasks. However, even the man credited
with developing the Waterfall techniques
acknowledged an iterative process within
each task.
How does Agile Work?
 Set Priorities
 Ask your customer to
prioritize this new list of
features so you get the
most important stuff done
first, and save the least
important stuff for last.
 Start Executing
 Start delivering value. You
start at the top! Work your
way to the bottom,
building, iterating, and
getting feedback from your
customer as you go
Note: The very ability to order these
features by priority, requires that there
are no, or few, dependencies on other
tasks. It suggests modular features that
are almost completely independent of one
another. This sort of project management
is not suitable for manufacturing facilities,
but then we’re talking computer software
and apps.
How does Agile Work?
 Update the Plan as you Go!
 Perhaps the most important piece of the Agile
methodology.
 In software, and often other industries, the
delivery date is not very flexible
 As you progress throughout your project, features
begin to take a different shape. Some features
turn to stone and must get done. Other features
become fluid and more like “wish-to-have’s”.
 You adjust your scope to accommodate for tighter
schedules or tighter budgets.
 If you’re lucky enough to have extra time, you can
adjust accordingly.
Note: The Waterfall approach speaks
often of the constraint triangle. Agile
thinks of the triangle as more of a Jello
substance that is poked at when necessary.
The three sides of the Triangle are Cost,
Schedule, and Scope. Change one of these
constraints affects the other two.
How is Agile Different?
 Analysis, Design, Coding, and
Testing are Continuous
 With Agile, these are (loosely)
functional departments within
a company, but not tasks on a
schedule.
 Each of these functional units
are working on a piece of the
project in tandem.
 Coordination and teamwork
are required to pull off each
Agile Sprint.
Note: In practice, the Waterfall (or
traditional) method never really functions
like this. The Waterfall approach focuses
on a linear model mostly because it’s
easier to visualize, manage, and control.
Agile methodologies make their project
more manageable by focusing heavily on
only two (2) week sprints and leaving the
rest of the project loosely defined.
How is Agile Different?
 Development is iterative
 Once the shell is completed and
development “rules” are defined, you can
iterate features until the full project is
completed.
 Iterative means development starts with
something really simple and ads to it
incrementally over time.
 Planning is adaptive
 In agile, the assumption is that
scope can be changed by the
developers based on priorities set by
the customer and delivering a
product with fewer features, or
simple adaptation of the features is
acceptable.
How is Agile Different?
 Roles Blur
 When it’s done right, joining an Agile
team requires a great deal of
collaboration and teamwork between
functional units.
 Everyone pitches in to successfully
complete each two (2) week sprint.
 Successfully completing a sprint is more
important than a job role or title.
 Scope can vary
 As discussed in the previous slide, scope
can vary.
 By fixing time and budget, the scope in
the constraint triangle must be flexible.
How is Agile Different?
- The Principle Agile Belief!
 Modular Coding helps to control the
Cost of Change!
 The principle belief within the
Agile methodology is that by
developing iterations like
developing a photo allows for
tweaking the scope as you go.
 In a Traditional or Waterfall
approach, solid building makes it a
bit more inflexible as you go. So
the cost of a change later in the
game is perceived to be higher.
 Agile challenges the waterfall
belief by making each piece of
code a separate, removable (or
alterable) part of the final product.
Agile Vs Waterfall
- Analysis on Agilenutshell.com
 Although there are advantages to the Agile technique that are greatly valued over the
traditional (or Waterfall) techniques as they are strictly defined; few, if any, software
companies would every consider the strict definition in practice.
 In practice, Waterfall, or Traditional very closely resembles the Agile methodologies and
simply changes the names of the techniques.
 The “Agile vs Waterfall” section on the website “agilenutshell.com” is, therefore, very
misleading. They do not consider any similarities to the two methodologies.
 They neglect acknowledging that a planning phase occurs in Agile (Analysis and Design) before
coding begins. They also overlook the need to User Acceptance Testing that usually doesn’t
occur until the final product is delivered. That almost perfectly describes the four (4) phases
they criticize in their analysis.
 The website does acknowledge the difficulties of scalability in the “Myths of Agile” section,
dismissing it by saying that everything is difficult to scale. An iterative approach to waterfall
is more adept to scalability than Agile because collaborative work is more flexible and can be
done as necessary. This can cause other issues, but acknowledging the short-comings of both
approaches is wise.

Agile methodology

  • 1.
    Agile Methodology Quick andDirty Based off of “Agile In A Nutshell” @ www.agilenutshell.com
  • 2.
    What is Agile? Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.  In short, Agile represents a modular approach to delivery.
  • 3.
    What is Agile? It works by breaking project down into little bits of user functionality called User Stories, prioritizing them, and then continuously delivering them in short two week cycles called iterations.  These modulus projects include full functionality and have utilized all functions of a project, i.e. Analysis, Design, Coding, and Testing.
  • 4.
    How does AgileWork? - The Process  Make A List  Sitting down with your customer, you make a list of features they would like to see in their software. This is now a list of User Stories and they become the To Do list for your project.  Size Things Up  Using Agile Estimation Techniques, you size your stories relatively to each other, coming up with a guess as to how long you think each user story will take. Note: The process is similar to the practicing methods of Waterfall techniques. The major distinctions at this point are: 1. Each task is a fully functioning mini project that could involve every functional department. 2. The schedule is broken into 2 week Sprints Strict Waterfall techniques require one task followed by another AFTER completion of the previous task and often does not allow you to revisit the previous tasks. However, even the man credited with developing the Waterfall techniques acknowledged an iterative process within each task.
  • 5.
    How does AgileWork?  Set Priorities  Ask your customer to prioritize this new list of features so you get the most important stuff done first, and save the least important stuff for last.  Start Executing  Start delivering value. You start at the top! Work your way to the bottom, building, iterating, and getting feedback from your customer as you go Note: The very ability to order these features by priority, requires that there are no, or few, dependencies on other tasks. It suggests modular features that are almost completely independent of one another. This sort of project management is not suitable for manufacturing facilities, but then we’re talking computer software and apps.
  • 6.
    How does AgileWork?  Update the Plan as you Go!  Perhaps the most important piece of the Agile methodology.  In software, and often other industries, the delivery date is not very flexible  As you progress throughout your project, features begin to take a different shape. Some features turn to stone and must get done. Other features become fluid and more like “wish-to-have’s”.  You adjust your scope to accommodate for tighter schedules or tighter budgets.  If you’re lucky enough to have extra time, you can adjust accordingly. Note: The Waterfall approach speaks often of the constraint triangle. Agile thinks of the triangle as more of a Jello substance that is poked at when necessary. The three sides of the Triangle are Cost, Schedule, and Scope. Change one of these constraints affects the other two.
  • 7.
    How is AgileDifferent?  Analysis, Design, Coding, and Testing are Continuous  With Agile, these are (loosely) functional departments within a company, but not tasks on a schedule.  Each of these functional units are working on a piece of the project in tandem.  Coordination and teamwork are required to pull off each Agile Sprint. Note: In practice, the Waterfall (or traditional) method never really functions like this. The Waterfall approach focuses on a linear model mostly because it’s easier to visualize, manage, and control. Agile methodologies make their project more manageable by focusing heavily on only two (2) week sprints and leaving the rest of the project loosely defined.
  • 8.
    How is AgileDifferent?  Development is iterative  Once the shell is completed and development “rules” are defined, you can iterate features until the full project is completed.  Iterative means development starts with something really simple and ads to it incrementally over time.  Planning is adaptive  In agile, the assumption is that scope can be changed by the developers based on priorities set by the customer and delivering a product with fewer features, or simple adaptation of the features is acceptable.
  • 9.
    How is AgileDifferent?  Roles Blur  When it’s done right, joining an Agile team requires a great deal of collaboration and teamwork between functional units.  Everyone pitches in to successfully complete each two (2) week sprint.  Successfully completing a sprint is more important than a job role or title.  Scope can vary  As discussed in the previous slide, scope can vary.  By fixing time and budget, the scope in the constraint triangle must be flexible.
  • 10.
    How is AgileDifferent? - The Principle Agile Belief!  Modular Coding helps to control the Cost of Change!  The principle belief within the Agile methodology is that by developing iterations like developing a photo allows for tweaking the scope as you go.  In a Traditional or Waterfall approach, solid building makes it a bit more inflexible as you go. So the cost of a change later in the game is perceived to be higher.  Agile challenges the waterfall belief by making each piece of code a separate, removable (or alterable) part of the final product.
  • 11.
    Agile Vs Waterfall -Analysis on Agilenutshell.com  Although there are advantages to the Agile technique that are greatly valued over the traditional (or Waterfall) techniques as they are strictly defined; few, if any, software companies would every consider the strict definition in practice.  In practice, Waterfall, or Traditional very closely resembles the Agile methodologies and simply changes the names of the techniques.  The “Agile vs Waterfall” section on the website “agilenutshell.com” is, therefore, very misleading. They do not consider any similarities to the two methodologies.  They neglect acknowledging that a planning phase occurs in Agile (Analysis and Design) before coding begins. They also overlook the need to User Acceptance Testing that usually doesn’t occur until the final product is delivered. That almost perfectly describes the four (4) phases they criticize in their analysis.  The website does acknowledge the difficulties of scalability in the “Myths of Agile” section, dismissing it by saying that everything is difficult to scale. An iterative approach to waterfall is more adept to scalability than Agile because collaborative work is more flexible and can be done as necessary. This can cause other issues, but acknowledging the short-comings of both approaches is wise.