Henrik Kniberg, author of Scrum and Xp from the Trenches, talked today at Agile 2008 about the most common ways for teams to fail despite applying agile practices and tools. His presentation was organised as a talk about common problems and symptoms of those problems, with audience voting on what hurts them the most. From my perspective, it was a very effective way to see problems of other teams and definitely raised the awareness of some of these issues.

The audience voted by raising coloured cards. A green card signaled that a particular issue was not really hurting the voter, a yellow card signaled that it hurts a bit and a red card meant that the issue was a serious problem.

Here are the things that Kniberg talked about:

Believing the hype (mostly yellow cards) belief in magic — “all the problems will magically go away when we install XP 1.0”

not willing to change — “trying to chop the tree with a chainsaw”

throwing out stuff that works

focusing too much on process perfection

trying to get it all right from start

blaming the messenger — scrum flushes out problems in the open

tool focus —”let's buy the biggest most expensive XP tool”

focusing on the wrong issues (should we use postits or index cards) Definition of done (mostly yellow and red cards) not having one

not obeyng it

it's outside the teams control (in production, but team has no access to it) Velocity issues (mixed – yellow, green and red) it's not known

it's not used

is misused (connected to salary)

death marches

cheating

yo-yo velocity — bugs leaking into other iterations Retrospective problems (mixed – yellow, green and red) doesn't happen

doesn't result in concrete improvements

changes not executed and evaluated

unwanted people in the meeting – team not open

team members or product owner not participating

team is penalised for bad changes Team commitment issues (more red than anything else, but mostly yellow) team is pressured – deadlines, death marches, aggressive managers

team is not sitting together

team does not track and learn

always under-committing

always over-committing

velocity=0 —nothing actually delivered to the end

no slack Technical debt (mostly red) letting it pile up

ignoring it

fixing the product but not the process

big bang rewrites Teamwork issues (yellow-red) fixed roles — “I don't touch your stuff ever”

personal backlogs

people not helping each other

personal incentive models

implementing all stories in parallel

management interference Product backlog and product owner/customer issues (mostly red cards) not having a backlog

having backlog but not visible

big or never-ending stories

product owner does not have power or domain knowledge

multiple, conflicting product owners

product backlog not being maintained

product owner surprised at sprint demo

product owner is a bottleneck

product owner not prioritising Mergofobia — merging is a pain and therefore we do it as seldom as possible (mixed colours) no “done” branch

no branch policies — purpose of each branch not clearly defined

not integrating early and often

not taking responsibility

hiding behind branches — “whenever we have a problem, we add a new branch” Sprint backlog/taskboard (relatively mixed, mostly yellow) does not exist

too far from the team

too complicated — "too many columns"

not used during daily scrum

not owned by he team — tool or way of maintenance imposed from above

no burndowns

not updated daily

warning signes ignored

From the votes, it looks like technical debt and product backlog and product owner/customer issues are the biggest problems for most teams

An interesting thing happened at the start of the talk, when Kniberg asked the audience to vote on “this conference is too big”, with most people raising red cards. From what I can work out, at any time there are at least 30 sessions running concurrently and it is often a challenge to select a single session to attend.