You are on page 1of 30

Agile Anti-Patterns

Understanding better-than-not-doing-it results

2016 Stellman and Greene Consulting LLC
2016 Stellman and Greene Consulting LLC

About Andrew Stellman

Author and international speaker, with top-selling books

in software development and project management
Referred to as one of the industrys best and brightest
by Dr. Dobbs Journal (2006)
World-recognized expert in transforming and improving
software organizations, teams, and code
Agile coach and team lead (Scrum, XP, Lean/Kanban)
PMP certified project manager and trainer, PMI-ACP and
CSM certified Scrum Master and agile practitioner
Built, managed, and lead teams of (up to 80+)
programmers, business analysts, project managers
Architected, designed, and programmed large-scale
front-end and back-end systems
2016 Stellman and Greene Consulting LLC

About Jennifer Greene

Author of top-selling books in software

development and project management
Agile coach and team lead (Scrum, XP, Lean/
PMP certified project manager and trainer,
PMI-ACP certified agile practitioner
Currently building and managing
geographically distributed teams building
large-scale enterprise software using agile
Built and managed large development and
test teams across many different industries

2016 Stellman and Greene Consulting LLC

In this presentation, well examine a

few of the most common antipatterns
that agile teams run into.

Well use those antipatterns to explore

how agile practices are driven by
values, and learn how understanding
that relationship can help us achieve
better results for our own projects.

2016 Stellman and Greene Consulting LLC

Lets start with a few examples

of antipatterns and a quick
review of what agile is.

2016 Stellman and Greene Consulting LLC

Brooks Law is a very common

project management antipattern

Adding manpower to a late project makes it later.

Fred Brooks, The Mythical Man-Month (1975)
Brooks Law describes a ba h o u g h it s c a ll e d a la w ,
d Even t
situation that a lot of team o e s n t r e a ll y a p p ly t o e v e r y
s it d
find themselves in. Its one o je c t . B u t w e r e c o g n iz e t h e
of pr
the most common project u t h in it f r o m o u r o w n
basic tr
management antipatterns. project experiencesthats
a t m a k e s it a n a n t ip a tt e rn .

an ti pat tern, noun

An approach to a problem that is frequently used but usually ineffective
2016 Stellman and Greene Consulting LLC

Other common project

management antipatterns

Work expands so as to fill the time available for its completion.

C. Northcote Parkinson (Parkinsons law)

Failure is not an option (that were comfortable planning for).

Optimism bias: ignoring risks because of a projects importance

The first 90% of the code accounts for the first 90% of the development time. The
remaining 10% of the code accounts for the other 90% of the development time.
The ninety-ninety rule (Tom Cargill, Bell Labs, 1985)

Itll take about three weeks.

Said by every software developer at some point in his or her career
2016 Stellman and Greene Consulting LLC

What is agile?
(a quick review)

Agile is a set of methods and methodologies

Scrum is an agile methodology focused on project management

XP is a methodology thats centered around software development

Kanban is a method for process improvement

Agile is also a mindset

The mindset of agile is driven by the values of the Agile Manifesto

Agile methodologies like Scrum and XP come with their own values

Kanban is rooted in the values of Lean thinking

2016 Stellman and Greene Consulting LLC

Agile methods and methodologies

use effective and simple practices

Scrum practices are focused on project management

sprint sprint backlog

Daily Scrum

product backlog
sprint review

XP practices are focused on software development

Kanban practices are focused on process improvement

2016 Stellman and Greene Consulting LLC

Agile values drive the teams mindset

v a lu e p r o c e s s e s a n d A contract negotiation min
Agile teams o re is one where hard-and-fast
t h e y v a lu e e v e n m
tools. But t h e agreements are defined betw
t h e t e a m a n d
the people on the customer and the team
a t t h e y i n t e r a c t w i th . True
way th s . collaboration is more effect
t o s o lv e p r o b le m
each other ive.

The Agile Manifesto

Individuals and interactions Customer collaboration over
over processes and tools contract negotiation

Working software over Responding to change over

comprehensive documentation following a plan

Its easy for a hyper-focuse

d team ...because working
to lose track of what the u
sers the wrong plan
actually need. This value ma
kes causes the team
sure that the users perspec
tives to build the wrong
and ideas are genuinely repr software.
2016 Stellman and Greene Consulting LLC

When the team gets the values,

they get more out of the practices

Many of these slides

use illustrations
from our book
Learning Agile

Like the fable of the blind men and the elephant, the
agile elephant is more than the sum of its practices.
2016 Stellman and Greene Consulting LLC

Antipatterns can cause your team

to work much less effectively. The
daily standup is the most
common* agile practice, and a
very common antipattern that
affects agile teams is directly
related to it. A better mindset can
fix that antipattern and make
your team much more effective.
* Source: 2016 VersionOne State of Agile Report
2016 Stellman and Greene Consulting LLC

Antipattern: a daily standup devolves

into an ordinary status meeting

Lets hold a daily standup

meeting so I can get status from you
every day. Thats a great practice that
we can all get behind.

We already have too

many meetings! If you dont
trust me to do my job, find
someone else to do it.

Project Manager Developer

This is one of the most common agile antipatterns.

Its so common that most teams think its normal.
2016 Stellman and Greene Consulting LLC

They miss the point... but the

meeting still produces results
The project manager uses the I only find
out about a
daily standup to get status problem when
its too late

updates on his plan and give for me to do

about it.
team members their next

The developer wants to get back when you keep

dragging me
to coding, so he gives his update to meetings, I
dont have
time to write
and spends the rest of the any code. Developer

meeting looking at his phone. Project Manager

The daily standup is less effective than it could be,

but its still effective enough that its worth doing.
We call this better-than-not-doing-it results.
2016 Stellman and Greene Consulting LLC

Most team members focus on practices that

directly help them do their jobs, but rarely
think about the big picture

If each team
member only pays
attention to the
practices that he
or she is using, the
project will still
get results, but the
people on the team
arent really
working together.
But the practices
are still effective
and worth adopting.
2016 Stellman and Greene Consulting LLC

When everyone on the team understands

the principles behind the daily standup
practice, they get more effective results

What if the developer and project With shared values, the project
manager had a different mindset? manager doesn't think of it as
his plan, he thinks of it as the
plan everyone on the team
worked together to create.

So the
And the developer does more
daily standup than just give status. He has (and
means Youll listen
shares!) opinions on the whole
to me and actually
change the way the project, and the daily standup
project runs? becomes important to him.

When everyone values communication and shared

commitment, the daily standup is much more effective.
2016 Stellman and Greene Consulting LLC

Well concentrate on antipatterns

that Scrum teams encounter
because its by far the most
common agile methodology.*

* Source: 2016 VersionOne State of Agile Report

2016 Stellman and Greene Consulting LLC

What is Scrum?
(a quick review)
There are three main roles on a Scrum project: product owner,
Scrum Master, and team member

The Product Owner maintains a backlog of features and

stories that need to be built, organized by value and difficulty

The software is built using timeboxed iterations called sprints

At the start of each sprint, the team plans together to

determine which features from the backlog to build

Every day, the team holds a short face-to-face meeting called

a Daily Scrum to update each other on the progress theyve
made, and the roadblocks ahead

The Scrum Master keeps the project rolling by helping the

team identify and remove roadblocks

Working software is demonstrated at the sprint review, then

the team holds a retrospective to figure out lessons theyve
learned so they can improve
2016 Stellman and Greene Consulting LLC

What better-than-not-doing-it
results feel like to a Scrum team

It was worth adopting Scrum, but youre not seeing the

astonishing results that books and trainers promised

The practices somehow feel empty like everyone is going

through the motions, but projects are only marginally improving

Things went well for the first few sprints, but theyre starting to
slow down and youre not sure why

Youre getting second-guessed by management about what

features to include in the software, and its not clear exactly
whos supposed to make decisions about what features to build
2016 Stellman and Greene Consulting LLC

Command-and-control Scrum
Command-and-Control project
managers feel like they create and
own the schedule by themselves
They get estimates from the team
and create the plan on their own
Team Leads assign work to the
team members to do exactly whats
required by the plan
This can lead to water-Scrum-fall:
the project is planned up front, and
iterations are just project phases
This is a better-than-not-doing-it result. It gets the
job done, but the team could be much more effective.
2016 Stellman and Greene Consulting LLC

Antipattern: Product Owner

without authority
You want to
include that feature in the sprint? Wow,
that decisions way above my pay grade. Ill
have to check with my boss, and maybe his
boss, and

Product Owner The Product Owner decides what items go into the product
backlog, and which of those items the team will work on
during each sprint. At the end of the sprint, the Product
If the Product Owner doesn
t have Owner accepts the completed items on behalf of the
the authority to make prod company. This depends on the Product Owner having the
decisions, the team cant pla authority to make those decisions. That authority is
n compromised if:
effectively. The better-tha
doing-it result is that the The team elects a Product Owner from within their own
still produces some work, bu ranks who does not have any special authority
t users
and managers arent happy a Senior management chooses a Product Owner but
nd team doesnt stand behind his or her decisions
has to tear out and redo fe
The Product Owner role is replaced with a committee 21
2016 Stellman and Greene Consulting LLC

Sprints arent really iterations

#1 Scrum is an iterative methodology because it uses iterations

atio called sprints. The team demonstrates working software to the
r #2
tI e n
users at the end of each iteration. Iterations are timeboxed,
a tio which means the deadline does not change. Work that isnt
It e #3 completely Done done at the end of the sprint is put back in
atio the product backlog and resumed in a later iteration.
tI e But a lot of Scrum teams use sprints that arent really iterations:
The deadline moves to accommodate unfinished work
The team will demo work that isnt really Done done
Features move in and out of the sprint seemingly at random
People arent working together towards a shared sprint goal

When sprints arent iterations, it feels like the

teams not really able to make or meet commitments.
2016 Stellman and Greene Consulting LLC

CYA culture
not my fault that Agile teams work best when they have a
the developers made
mistakes and blew culture that gives them freedom to make
the deadline. mistakes. But that only happens when
everyone feels a collective commitment to
deliver the most valuable product they can.

How were we
supposed to know the
project manager made bad
assumptions when he
Project Manager planned the project?

Scrum is still worth doing, even with

a team that has a CYA culture. Its
just not as effective as it could be. Developer
2016 Stellman and Greene Consulting LLC

Scrum has more than practices

and roles: it has values, too

Commitment: Each person is committed to the project's goals

Respect: Team members respect each other
Focus: Each team member is focused on the work
Openness: Everyone is aware of their teammates work
Courage: Team members are willing to stand up for the project
A lot of teams overlook the Scrum values, but theyre
the key to getting past better-than-not-doing-it
results and becoming a more effective team.
2016 Stellman and Greene Consulting LLC

The values of Scrum and the Agile

Manifesto help you to counter these

Use openness and commitment to Use courage to counter the

counter the command-and- Product Owner without authority
control Scrum antipattern antipattern

Responding to change over Customer collaboration over

following a plan contract negotiation

Use focus to counter the sprints Use respect to counter the CYA
arent iterations antipattern culture antipattern

Working software over Individuals and interactions

comprehensive documentation over processes and tools

Countering these antipatterns helps you and your

team do better than better-than-not-doing-it results.
2016 Stellman and Greene Consulting LLC

The next most common* agile

methodology is a Scrum/XP
Hybrid, which is susceptible to a
very specific antipattern.

* Source: 2016 VersionOne State of Agile Report

2016 Stellman and Greene Consulting LLC

XP is an agile methodology
focused on software development

Practices Values

Quarterly Cycle Energized Work Communication: Each team member is aware of the
work everyone else on the team is doing.
Weekly Cycle Test-Driven
Simplicity: Developers focus on writing the most
simple and direct solutions possible.
Pair Programming Feedback: Iterations, tests, and feedback loops help
Stories the team keep up the quality of the product.
10-Minute Build
Sit Together Respect: Everyone believes that each of their
Continuous teammates is important and valuable to the project.
Whole Team Integration
Courage: Each team member is focused on making
the best choices for the project, even if it means
Informative Incremental
having to admit mistakes, discard failing solutions,
Workspace Design
approach things differently, or question management.
2016 Stellman and Greene Consulting LLC

XP has its own set of very

common antipatterns
Every practice seems to have a "sensible" alternative that the team
likes better, which takes away from the practice ecosystem effect

People rarely pair up because it seems like a waste of time

The team rarely writes tests first because it feels like "extra" work

Everyone regularly puts in late nights and weekends because they

dont really believe that an energized environment is more effective

Refactoring is only seen as a nice-to-have, and the team rarely gets

to pay down technical debt
These XP antipatterns happen when a team adopts
the XP practices without trying to learn its values.
2016 Stellman and Greene Consulting LLC

Scrum/XP Mis-hybridization
XP uses just good enough planning Teams that use a Scrum/XP hybrid
practices that get the job done. replace the just good enough XP
planning practices with a complete
Quarterly Cycle the team does high- implementation of Scrum. This is
level planing one quarter at a time highly effective when done correctly.

Weekly Cycle week-long timeboxed But in many cases the team wont
iterations give teams lots of feedback have a Product Owner with enough
authority, or deliver working software
Slack extra stories are added to in each sprint, or really follow the
each weekly cycle for breathing room rules of Scrum. This leads to chaos.
The team really needs to get the values of both
Scrum and XP for a Scrum/XP hybrid to be effective.
2016 Stellman and Greene Consulting LLC

How do you do better than

better-than-not-doing-it results?

Choose a methodology with values that match your team and company
culture, and practices that address real problems.

There are many paths to becoming agile, but there is no single, canonical agile
implementation that your team can simply follow without thinking or learning.

Find a great agile coach! There might already be one in your organization.

Start with the practices, because a great way to learn a new way of thinking is
to start acting differentlybut keep a focus on learning the values as you go.

A practice that works really well for one team can utterly fail for another
because they have a different attitude and mindset.