Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Agile Uses Lean Thinking

VIEWS: 8 PAGES: 6

									                  Agile Uses Lean Thinking
                                  By Mishkin Berteig
                                 Berteig Consulting Inc.

Lean and Agile are both methods of improving the effectiveness and performance of
work processes. Lean comes primarily from manufacturing and in particular the Toyota
Production System. Agile comes primarily from Agile Software Development and
Project Management. Agile has borrowed heavily from Lean thinking and practices.
There are three important connections between Lean and Agile: queueing theory,
empirical process control, and team self-management.


Queueing Theory                                significantly affected. However, with a
                                               queue with work items that are many
                                               different sizes, a worker unit will slow
Queueing theory describes the statistical
                                               down significantly and process cycle
and theoretical behavior of queues. In a
                                               times become worse even with relatively
queue system, there are two basic parts:
                                               low levels of utilization. A simple
work items and worker units. Worker
                                               example of this is a grocery store with a
units perform some work upon work
                                               Ten-Items-Or-Less checkout lane.
items. The streaming of work items
through worker units composes a                Lean and Agile both use these properties
queueing system. The time it takes for a       of queues. Lean applies these ideas to
work item to enter the system and then         manufacturing and other production
exit the system is the process cycle time.     processes and Agile applies these ideas to
From the study of real queueing systems        project work done by people.
and from simulation of queueing systems,       In Agile, iterations are used to create
researchers have shown there are some          consistently small sized units of work that
simple methods for creating an efficient       are then taken on by a team. In other
queueing system that minimizes process         words, the work items are designed to be
cycle time.                                    exactly the size of an iteration and the
One method for making a queueing               worker unit is the Agile team. Since
system more efficient relates to the size of   iterations are typically much smaller than
work items and how this relates to worker      the size of the overall project and since
unit utilization levels and process cycle      each iteration is always the same size, this
time. Queues behave in a very interesting      allows the team to achieve very high
way in relation to utilization and process     levels of utilization while maintaining
cycle time. As utilization of a worker unit    extremely short cycle times (the length of
approaches 100%, process cycle time goes       the iteration or release). Compare this to
up exponentially. Not only that, but the       the waterfall approach to project
more variability there is in the size of the   management where the work is only
work items, the worse this effect becomes.     finally delivered at the very end of a long
With a queue with work items that are all      process and you can see that not only do
the same size, the worker units can            you have a very long cycle time, but each
maintain a very high level of utilization      project will be highly variable in size and
and the process cycle time is not              therefore it will be hard to get high
                                                                 Copyright Berteig Consulting Inc.
                                                                 http://www.berteigconsulting.com/
                                                                        http://www.agileadvice.com/
utilization out of teams (think resource       work is chosen for this iteration allows the
planning and leveling).                        customer/client to prioritize important
The Theory of Constraints, which is            things to be delivered quickly and allows
nicely introduced in The Goal by Eli           the team to work on consistently sized
Goldratt, presents some additional basic       work units (iterations) and therefore
techniques for making improvements in          achieve very high levels of utilization. In
efficiency of a process. The basic idea is     queueing theory this process is referred to
that one can always find a slowest point or    as the gating function in that it provides a
constraint in a process by finding out         gate that lets work items into the system.
where there is a buildup of unfinished         All work must go through this gate or
work. For example, if two people are           work item list management process in
cleaning a kitchen, one washing dishes         order for the team to function effectively.
and the other drying, if the number of wet     If the team is interrupted with work that
washed dishes keeps building up, then the      has somehow skipped the gate it will
constraint for the process is the person       seriously reduce the efficiency of the team
drying. In more complex processes either       (e.g. a senior sales person comes to the
in manufacturing or in creative work such      team and declares that it must work on X,
as software development, it is sometimes       it'll only take a day, a potential client
more difficult to see where the constraint     really needs this, surely that won't hurt?).
is. Typically, if you find that you have
people waiting for work that is coming         Empirical Process Control
from someone else, then that someone
else is a constraint and means can be          Some work processes cannot be perfectly
found to improve their efficiency. In          controlled nor perfectly defined. There
Agile, the focus on resolving the              may be non-linear interactions between
constraint would be to provide that person     steps in a process or there may be creative
extra training or get other members of the     input from people required. Processes
team to assist in the work. Agile tends to     with these qualities require empirical
shy away from a mechanistic perspective        process control.
on efficiency.
Finally, in any queueing system there is
some point at which work enters the
system. This point of entry is very
important because it can be used to
control the utilization levels of worker
units in a queue. In Agile, this control is
accomplished through backlog
management, iterative delivery and             The basic attribute of empirical process
adaptive planning. All possible requests,      control constitutes a continuous cycle of
features, constraints, improvements for a      reflecting on the process for correct
project are put into a master Work Queue.      operation and results and adapting the
This list is strictly prioritized in           process as needed. A simple example of
descending order by a person empowered         this is detecting impending failure of
with this responsibility (usually called the   equipment by constantly monitoring the
Product Owner). This list of work items        operation of that equipment.
becomes the basis for deciding what work
the team will do each iteration. The           In human processes like those to which
process of managing this list and how the      Agile applies, the frequency of inspecting

                                                                 Copyright Berteig Consulting Inc.
                                                                 http://www.berteigconsulting.com/
                                                                        http://www.agileadvice.com/
and adapting must match the needs of the        manufacturing process. Those types of
process. Many projects occur in the             waste have analogies in Agile. For
context of constant change. This constant       example, documenting something you
change makes long-term planning a               plan to do instead of just doing it is
wasteful effort. Rather, short-term             wasteful. Another example is waiting
planning with constant feedback provides
a simple adaptive learning cycle. This            SIDEBAR: Waste?
cycle can play out at different levels: daily
for a team, monthly for a client of the           CVA (Customer Value Added - or just VA
team. The team inspects and adapts daily          for Value Added): adding form fit or
at the level of the tasks that it is              function to a product or service, an
performing. The client inspects and               activity that the customer would be
adapts monthly at the level of the team's         willing to pay for in isolation if they
actual delivered results.                         knew it was being done – e.g. Creating
Lean and agile methods claim to increase          code, implementing functionality.
both speed and quality. There are four
constraints in a system that can be               BVA (Business Value Added – non-
                                                  negotiable waste): an activity that is
controlled: speed (or schedule, or time to        required to operate the business but the
market, or cycle time), quality (number of        customer is unwilling to pay for – e.g.
defects), scope (how much functionality),         Budget tracking, code documentation.
and cost savings (how much to spend on
the work). Frequently, we believe that            NVA (Non-Value Added – pure waste):
one has to trade off between these four           an activity that is not required by the
constraints; spend more money, get more           business nor is the customer willing to
scope; lower quality, go faster. Lean and         pay for – e.g. Waiting for resource
agile strongly support the idea that as you       allocation, requirements documents.
increase quality, you also increase speed...
you just have to do it right.
In Agile, increasing speed and quality is       while someone completes work that you
done in three ways. First, increase the         depend upon. Any step or task that does
frequency and quality of communication          not add value to the final product of an
among team members so that errors are           effort is waste. This standard is very high
detected early or avoided altogether.           and most organizations have about 80% of
Second, drive the work with the creation        their efforts going into wasteful tasks. An
and execution of automated testing –            organization that has done an initial cut of
"build quality in". No work is done             wasteful work might stand at about 50%
without a test in place to check if it is       waste. The leanest organizations, such as
done correctly. This constant testing           Toyota, stand at about 20% waste.
means that work is always defect-free and       Agile eliminates waste in the form of
therefore very little time/money is spent       barriers or obstacles that come up when a
on fixing defects. Third, eliminate             team is trying to go fast. Sometimes this
wasteful work steps or obstacles to             is in the form of waiting for another group
performance of work. This last one is           to do something for the agile team... an
difficult to do an bears closer                 outsourced request for service.
examination.                                    Sometimes waste is in the form of
Wasteful work is done in every process,         corporate standards or policies around
no matter how efficient. Lean tells us that     documentation of work. The Process
there are several types of waste in a           Facilitator role (or "coach" or
                                                                   Copyright Berteig Consulting Inc.
                                                                   http://www.berteigconsulting.com/
                                                                          http://www.agileadvice.com/
"ScrumMaster") in an agile team has            status to the rest of the team by answering
responsibility for working with the team       three essential questions:
and others to help overcome these
obstacles.                                     1.What have I done since the previous
                                                 status report?
Team Self-Organization                         2.What will I do before the next status
                                                 report?
The people who actually do work on a day
                                               3.What difficulties are in the way of me
to day basis know that work intimately...
                                                 doing my work?
more intimately than anyone else.
Anyone else who knows the work either          This distinction is depicted in the figures
knows it historically or in theory, but not    on the left and the right.
in the same intimate manner. This              In agile teams, this concept of self-
intimate knowledge carries a great deal of     organization is taken quite far. Team
potential. In order to release that            members collaborate to get work done.
potential, people must accept individual       No one orders a team or an individual to
responsibility and collective                  do specific work. The team members
responsibility. Management and                 volunteer for work that they see needs
organizational culture must support that       doing, even if it is not something that is in
responsibility. Lean and agile have a very     their area of expertise. An agile team is
similar approach to supporting this self-      constantly promoting learning in its
organization.                                  people. Agile teams are also cross-
The first aspect of this support is just a     functional so that the team can get work
simple recognition of this intimate            done without relying on external services.
knowledge. The people doing the work           The team therefore represents a complete
must have their expertise acknowledged         work unit capable of taking a function
both individually and collectively.            valuable to customers from start to finish,
                                               from idea to deployment.
The second aspect of this support is to
share with these people the strategic and      One aspect of lean systems that is not
tactical "why" of what they are doing.         commonly practiced in an agile
This can include sharing financial models,     environment is the idea of stopping the
strategic assessments, etc.                    production line when a flaw or defect or
                                               error is discovered. In lean manu-
The third aspect of this support is in
                                               facturing, every person working on the
allowing individuals and teams to create
                                               line has the authority to stop the whole
and implement their own process
                                               line if they notice something wrong.
improvements. In lean this focuses on
                                               Then, everyone works on correcting the
"identifying and eliminating waste" and in
                                               defect all the way to the root cause of that
agile this focuses on "identifying and
                                               defect before starting the line again. This
removing obstacles".
                                               is a very powerful mechanism for making
The fourth aspect of this support, and         certain that there is constant improvement
perhaps the most important, is that of self-   in the production process. Giving people
organization: teams and individuals            the power and authority to stop the line
organize themselves around the work.           takes a great deal of trust.
Managers no longer have the authority to
tell people how to do their jobs, nor do
team members report status to their
managers. Rather team member report
                                                                  Copyright Berteig Consulting Inc.
                                                                  http://www.berteigconsulting.com/
                                                                         http://www.agileadvice.com/
Conclusion                                     approaches requires a deep cultural
                                               transformation where management,
                                               customers and employees develop a high
Both Agile and Lean Thinking have a
                                               degree of trust in each other so that all
great deal to offer organizations looking to
                                               involved can safely pursue the intense and
improve their effectiveness. However, to
                                               ongoing learning necessary to become
truly reap the rewards possible from these
                                               Agile, to become Lean.




                                                                Copyright Berteig Consulting Inc.
                                                                http://www.berteigconsulting.com/
                                                                       http://www.agileadvice.com/
About Mishkin Berteig
Mishkin Berteig leads, mentors, trains and coachs teams and organizations using agile
methodologies including Scrum, Extreme Programming, Lean and OpenAgile. Mishkin
has served as a project manager, a senior consultant, a mentor, a methodology consultant,
an instructor, a senior software architect and a team lead on various projects, mostly in
the financial services and telecom industries. Mishkin has 15 years of professional
experience. Mishkin publishes articles and thoughts about Agile, Lean thinking and team
dynamics on Agile Advice (agileadvice.com).
About Berteig Consulting Inc.
Berteig Consulting Inc. is a full-service consulting organization dedicated to helping
Canadian organizations become hyper-productive. We use Scrum, Extreme
Programming, Lean Software Development and OpenAgile. We are experts at
helping organizations through the deep cultural changes required to become hyper-
productive. Our fundamental guiding principle is Truthfulness, which is required for
trust, learning and creativity – and ultimately – productivity and effectiveness. We live
agile methods – all our work is done iteratively, incrementally, collaboratively, and with
a deep appreciation for learning and the needs of our clients.


Resources
Books

The Goal - Eli Goldratt
Lean Software Development - Mary and Tom Poppendieck
Good to Great - Jim Collins
Agile Project Management with Scrum - Ken Schwaber

Web Sites

The "Thinking" Production System - http://www.toyota.co.jp/en/special/tps/tps.html
Agile Alliance – http://www.agilealliance.org/
Agile Advice – http://www.agileadvice.com/
Queuing Theory Resources - http://www2.uwindsor.ca/~hlynka/queue.html
Berteig Consulting – http://www.berteigconsulting.com/
OpenAgile method for organizational development – http://www.openagile.org/




                                                                  Copyright Berteig Consulting Inc.
                                                                  http://www.berteigconsulting.com/
                                                                         http://www.agileadvice.com/

								
To top