As the year ends, I thought I would like to stand back and review why
agile is so powerful. Using an agile approach manages many of the
challenges we face in the delivery of software. By following a simple
set of principles and processes we can improve our chances of success.
The
reason agile works is it focuses on adding the business value the
customer wants based on her priority under an iterative delivery
approach. It does this in a predicable manner without overworking the
team. Progress is monitored using a small set of reports and frequent
demonstrations of completed software.

The team remains productive because regular short meetings monitor progress and identify roadblocks. A switch from a
Command and Control approach of a typical project manager to a more
Self-Governing style improves productivity. The project manager role moves from a director to a facilitator.
The term
Agile Coach
has started to gain popularity. I prefer this to Scrum Master because
my experience in the real world has shown me a mix of Kanban, Scrum and
Extreme Programming is typically required.
So how can a team be Self-Governing? How can a group of people get the right thing done without being told what to do?
I
believe most people want to feel good about their work and want to do
the right thing. What causes most people to deviate from this is
frustration and a feeling of despair. When people just show up for work
and do what they are told, even when they know it does not make sense,
productivity and quality suffers.
I view the job of an Agile Coach is to “
Be a Flashlight”.
Shine light on areas that “smell” and ask pertinent questions. The
reason this works is it affects aspects of human nature both positive
and negative and leverages success. Let’s take a look at some of them
next:
- Being Told What To Do – People do not like to be told exactly
what to do. This is especially true with programmers. These creative
people want room to grow their craft. By providing direction without
being a micro-manager, people will be more motivated.
- Shared
Accountability – Everyone moves off track from time to time. What
typically causes frustration is when this occurs and the team feels
nothing can be done about it. We need everyone to feel they can ask any
question about anything. By asking these questions we shine light
on uncomfortable areas. When a mistake is made, the person who made the
mistake is accountable. Now this is not blame. Over time the team
learns that mistakes are inevitable and eventually everyone will make
one. We identify the error, correct it and move on.
- We are in
this together – People respond and engage when they feel they are part
of a larger thing. It is bigger than just the individual.
- Peer
Pressure – people do not want to look stupid. They want the respect of
their peers and their bosses. The complete transparency of agile causes
everyone to know what is going on without having to point fingers at
individuals.
- We always did it that way – when people feel they
are trapped and helpless in a situation that will never change, they
come to work, do their thing and go home. Both productivity and quality
suffer.
It is the job of the Agile Coach to work through
project challenges. Agile has process and guidelines to handle all of
this. We will explore some of these next and highlight how
being a flashlight and asking questions rather that giving orders manages the human nature in all of us.
Business Value
The
whole team knows it is all about business value. We build features that
add the most business value early. It is the job of the Product Owner
to place the features in the backlog in the proper order.
The Agile Coach watches the backlog and looks for “smells”. She may say to the Product Owner
“I seem to remember that we discussed moving the forgot password feature later in the backlog but I still see it in the next sprint. Did something change?”
Just asking this question shines light on a situation and it will work itself out.
Daily Standups
Each
day there is short meeting where each person reports progress and
impediments. Everyone on the team knows this meeting happens and each
day they report progress. The progress is reported to the team, not to a
command and control project manager.
This meeting exercises all
of the human nature points we discussed. Peer Pressure will cause people
to be motivated to get their tasks completed. Openness and transparency
causes people to raise issues when something is an impediment. When one
team member has a problem and is helped out by another team member we
see we are all in this together.
When a person reports the same progress on a task for a while and begins to run late, the Agile Coach may ask
“ May I help you on that task in any way, you seem to be struggling with it?”
There could be many answers to this question. Again by shining light we will get a solution and the team figures it out.
Iterations
We deliver a set of features that meets the definition of "done" in short periods of time. The team agrees to the following:
- Definition of done
- Length of iteration
- Features to be included in a given iteration
- New features can always be added, but not to the current sprint
The important thing is that the
Team
agrees to these things. It is the job of the Agile Coach to facilitate
this agreement. If the team does not agree, most of the power of agile
is diluted. The job of facilitator is critical. When the team does
agree, things are easy. Let’s look at some examples.
The Product Owner says:
“I have a hot new feature we need to add to this sprint, please add it and let me know the effect”
The agile coach says:
“We agreed to two week sprints. We are 5 days into this sprint. Is it possible to wait 5 days for the new feature?”
Normally, requests like this come out of anxiety. The product owner was probably pressured by her boss to get this feature in
right away.
The boss may not even know the project is agile. Your job as an agile
coach is to help the product owner, so her answer aligns with what the
team agreed to. You may need to talk to her boss and explain why we need
to wait five days and explain the disruption the request will cause.
The agile coach helps the product owner in dicey situations. Normally,
the Product Owner will see the logic of waiting and will agree.
During a standup meeting the Agile Coach Says:
“Thank
you everyone for your updates. I noticed that there are no impediments,
which is good. However, I notice we are above the ideal line on our
burn down chart. Are we still confident that we can complete the
features we all agreed to at Sprint Planning?”
A person from the testing team says:
“Well if the login feature is completed on Thursday, that only gives us one day to test it and my estimate was two days”
The
agile coach continues the dialog, asking probing questions until the
team discovers a solution. The coach uses her analytical and
negotiating skills to probe in areas the individual team members do not
readily see.
Some Good Information
In closing out the
year, I wanted to pass on three links that provide very useful
information and an excellent book on learning to be an agile coach.
Coaching
Agile Teams, by Lyssa Adkins is an excellent book for anyone who wishes
to become a better agile practitioner. I use Lyssa’s tips and practice
her advice every day. A link to Lyssa’s Blog is available at
http://www.coachingagileteams.com .
An
excellent video on Scrum is available by a vendor who sells the agile
tool OnTime. I am not typically one to recommend a specific tool without
understanding more about the given situation, but I can recommend the
video
Scrum in 10 Minutes. It is one of best short descriptions I have seen on Scrum.
I just learned about this video today after reading about it in an agile group on Linkedin. It is titled
Agile Project Ownership in a Nutshell but really covers the agile philosophy as well as I have seen anywhere. You are also left with a very good diagram.
There
is an excellent roadmap to all things agile hosted by the Agile
Alliance. This clickable map is presented in the format of subway
station stops.

You may find this excellent resource at the Agile Alliance web site
here.
Finally, I want to wish everyone a great 2013.