Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Team-Level Agile Anti-Patterns - Why They Exist and What to Do about Them

Team-Level Agile Anti-Patterns - Why They Exist and What to Do about Them

This item in japanese

A good scrum master/coach can address team-based anti-patterns, for instance by explaining what less than optimal outcomes arise and what is likely to happen if the anti-pattern remains unaddressed.

Patrick Martin, a scrum master at Neueda, spoke about addressing agile anti-patterns at Agile Tour London 2020.

Agile working practices expose problems in a very stark manner which cannot be ignored. Martin mentioned that some of these problems could be dormant, ingrained into the team culture. In fact, they could be so surreptitious that waterfall’s long phases act to mask them.

Earlier InfoQ interviewed Martin about Organisational-Level Agile Anti-Patterns. These anti-patterns do affect teams of course, but what he defines as a team-level anti-patterns is one that is entirely caused by the team itself. According to Martin, these are relatively easier to address than organisational anti-patterns as there are fewer people needed to put things right than at organisational level, but they can be challenging nevertheless.

Martin mentioned that a vigilant scrum master is essential as they are the radar for anti-patterns. If anything slows delivery down unnecessarily, that’s evidence of anti-pattern(s) at play, he said.

InfoQ interviewed Patrick Martin about addressing agile anti-patterns in teams.

InfoQ: What kinds of team level agile anti-patterns do you see?

Patrick Martin: There are many kinds of anti-patterns at the team level, dozens in fact, but let’s list the top ten (not exhaustive and not in any particular order). A general one would be consistent lack of adherence to the Agile Manifesto’s Twelve Principles, but let’s list some specific ones that I’m sure we’ve all experienced and witnessed:

  • A product owner or PO-delegate regularly refusing or unable to attend Sprint Planning, Refinement, Sprint Review or Sprint Demo
  • Backlog refinement not involving the whole team; usually only involving an internal clique of "tech leads"
  • Sprints regularly being shortened/lengthened
  • Sprint Backlog being regularly changed mid-Sprint
  • Ceremonies not being held or scheduled erratically
  • Retrospectives not fulfilling objectives of continuous improvement
  • Self-organisational principles being breached, e.g. someone allocates work to individuals instead of work being picked up in strict priority order
  • Estimates being amended if work takes longer than expected
  • Estimates being assigned by tech leads, a scrum master, PO or managers instead of solely and collectively by the entire Development team
  • Product Backlog not being prioritised
  • Sprint Goal not formed or unable to be formed

InfoQ: How do anti-patterns compare to impediments or blockers?

Martin: An impediment is typically a temporary, one-time, easily fixable problem, whereas an anti-pattern versus a deeper, more fundamentally rooted phenomenon that is persistent/chronic in nature.

In a nutshell, it’s like the difference between satisfying one’s thirst on a hot day versus feeling thirsty all the time. Both have the same effect, but the former is a one-off and easily fixable, whereas the latter indicates a deeper, more fundamental cause that may be more challenging to fix.

Here’s a more detailed analogy:

Imagine my job is to drive daily from my home to deliver a parcel to a person who lives 200 miles away.

On the way to the person’s house, my journey is impeded by a truck that shed its load all over the road. I am faced with sitting in a traffic jam for two hours until the road is cleared before I can go on my journey.

That’s an impediment -i.e. a one-off, perhaps unpredictable event that is preventing me from making good on my commitment.

An anti-pattern would be why my van is designed to have such poor fuel economy that I have to stop every 10 miles to refuel.

Another anti-pattern could be that no one trained me to drive in the dark and I feel I can only safely drive at 10 mph.

Another anti-pattern is that I have to stop at a town half way to wait on another van driver to give me an addressed cardboard box into which I am supposed to put my parcel. That’s an example of non-cross functionality and chronic dependencies on actors external to my team.

InfoQ: What causes anti-patterns to arise in teams?

Martin: At the team level, lack of adequate training, mentoring and coaching is responsible for a good bit of it, but it is hard to divorce the team from the organisation. Negative organisational culture will of course affect its teams.

Agile can be counter intuitive, especially when it contradicts traditional business experience, but a good scrum master/coach should not only explain a best practice, but should also explain why it’s best practice and should explain what bad things happen if the anti-pattern remains unaddressed.

Some examples in my personal experience: I once worked on a team where a tech lead met with the rest of the Development team immediately after Sprint Planning to allocate Stories to each member of the team. I initially didn’t know this was happening, but my suspicions were soon raised by a couple of things:

  • Sprint Backlog items were not being picked up in priority order
  • The tech lead only worked on the easier items

I asked individuals why they were working on lower priority stories when there was a higher priority story remaining in the To Do column. That’s when it came out in the wash. The tech lead didn’t mean any harm (ok, he was taking advantage of his position by only taking on the easier items, but he was helpful to the others when needed). When I spoke with him, he told me that’s what was expected of him by managers in his previous postings. When I explained to him the reasons why it was an anti-pattern, he understood. I told him he had a valuable position in the team and that it was his role to help others learn from him.

I did a workshop with the team where instead of me explaining why this practice was counterproductive, I asked them what kind of things they saw going wrong, giving clues about prioritisation and multi-tasking. A lively conversation amongst the team later, they arrived at the right answers themselves, the best way in my opinion. The answers are always within. It’s our job as coaches to help people find them without telling them where to find them, but sometimes you have to be instructional and only in very limited circumstances.

Another example was when I took over a team whose Retrospectives were a little lifeless. It turned out that previous retro action items did not result in action items being formed, so they were forgotten about. I changed this by ensuring that we used Trello to capture people’s suggestions, voting format and action items. Action items were put into the Sprint Backlog with owners. This turned things around. People then saw real improvements being made and the team’s faith in retrospective soon became restored and became lively affairs.

InfoQ: How can teams deal with the causes of anti-patterns?

Martin: A good scrum master/coach with the help of workshops, 1-2-1 mentoring/coaching/conversations and day-to-day guidance, can address almost all team-based anti-patterns, but it does take patience, courage and a bit of a thick skin to be frank.

Help create a team spirit. Even if the organisation itself is doing things that it shouldn’t and which are affecting the team, sometimes as a last resort, an "us against the world" attitude can forge strong bonds and a good team spirit, and this in itself can be the catalyst for good things to start to happen in the face of adversity. When team bonds are strong, its people become braver and more willing to challenge poor decision making and actions from others.

Rate this Article