How To Avoid 8 Common Agile Anti-Patterns Hurting Your Team
Join the DZone community and get the full member experience.
Join For FreeAgile is one of the trendiest concepts in the tech world.
First theorized in 2001, Agile encompasses several frameworks such as eXtreme Programming, Crystal, or Lean Software Development (LSD), with the most widespread being Scrum.
According to a 2017 PwC study, Agile projects are 28% more successful than traditional ones. However, transitioning to Agile is a deeper shift than simply renaming processes and job titles.
But Agile isn’t just a framework, it’s a philosophy at its core. “Being Agile” is the philosophy, “doing Agile” is the framework. However, many companies miss this fundamental difference when transitioning into Agile and end up with a hybrid model that doesn’t serve them.
This can take up many names, such as Faux/Fake Agile, Zombie Scrum, Dark Agile, Agile Theater, Agile In Name Only (AINO), or Agile BS. Regardless of the term, the idea is the same: fake Agile misses most fundamental aspects of the methodology, compromising the organization’s ability to implement agility.
What Is Fake Agile? What Are Anti-Patterns? And Why Are They Hurting Your Organization?
Agile is not one-size-fits-all, and it shouldn’t be. Aside from Agile purists, most industry people agree that there’s room to adjust Agile principles to each organization, favoring common sense. Agile allows bending the rules, but if you bend too much, you’ll break the process.
When this happens, you see the emergence of Agile anti-patterns. These are practices disguised as solutions to improve processes but, in reality, hinder progress to agility and create negative consequences that might go unnoticed by the team.
They differ from impediments, which are generally temporary, fixable problems. Anti-patterns are deeper issues, rooted phenomenons that occur routinely and require a structural solution.
If left unattended, anti-patterns can cause serious problems. They can hamper the journey to building the right product the right way, create technical debt, and ruin teams. The rise of remote work during and post-pandemic is another factor, as it emphasizes existing anti-patterns.
Agile anti-patterns are bad news for your teams and for your organization. As Gabrielle Benefield, founder of the Scrum Foundation puts it in this video,
“[the] ‘machine gun agile’ approach that pressures teams to push out more regular working builds to increase the odds of getting something right creates a lot of waste. Fake agile is ‘building the wrong thing righter.’ It doesn’t matter whether you’re using kanban, scrum, or a home-grown bespoke framework if you’re not building the right thing to begin with.”
How do anti-patterns emerge in teams? While there might be many sources, they’re not restricted to the team’s actions and responsibilities. Patrick Martin, Scrum Master at Neueda, explained in an interview at Agile Tour London 2020,
“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 organization. Negative organizational culture will, of course, affect its teams.”
Preventing Agile anti-patterns starts at the top of the organizational hierarchy. If you want your organization to successfully transition into Agile, consider adopting a transformational leadership approach.
8 Anti-patterns Damaging Your Team and How To Avoid Them
1. Miscommunication
The Agile Manifesto favors individuals and interactions over processes and tools. Yet, 22% of companies report having communication challenges, especially when it comes to remote teams.
How to Avoid: Invest in collaboration tools that make it easy for team members to interact. Be sure to cover all forms of communication: short-term, video, large-file sharing, developer tools, designer tools, and work management tools.
2. Unclear Requirements and Scope Creep
The Product Owner is the bridge between the Development Team and the client, and their job includes making sure that the right requirements are implemented.
However, details often get “lost in translation” and teams end up building products that fail to meet the requirements of the customer. According to Netsolution’s Agile Product Development Report, 70% of companies report that 10–30% of their products fail to meet customers’ needs.
How to Avoid: Keep communication flowing between involved parties. Engage stakeholders frequently so they can review and approve your team’s understanding of the requirements. Move to implementation only after approval to avoid working on unnecessary features.
3. Scope Stretching
Sometimes, the Development Team creates an unnecessary burden by developing features that were not initially required. This leads to pressure on teams and inconsistencies or delays in the delivery which, in turn, result in unhappy customers.
How to Avoid: Constantly inspect and adapt where necessary. Create constant communication flows between the Product Owner and the Development Team (including designers, developers, and testers), and make sure the team knows that they shouldn’t work on any task out of scope.
4. Scrum Master Acts as Team Lead
In Scrum, the Scrum Master is responsible for making sure the whole team adheres to the methodology. However, the Scrum Master is not a team lead—they’re a servant leader.
Paulo Soto, manager at Hexacta, makes a good point in this article when he states that “since Scrum is not prescriptive, the Scrum Master shouldn’t be either.”
How to Avoid: The Scrum Master shouldn’t enforce anything without the Development Team’s consent. Rather, they should be a servant leader, serving the team and not imposing anything.
5. Scrum Master Avoids Conflict and Doesn’t Like to be Challenged
It’s human nature to avoid conflict, but the Scrum Master doesn’t serve the team by doing so. If an issue arises, especially if repeatedly, it’s their job to address it before it’s too big to manage.
Similarly, some Scrum Masters have an issue with being questioned because they consider it a personal attack instead of an opportunity to discuss and, possibly, learn and grow.
How to Avoid: The Scrum Master should receive training on conflict resolution. It’s not easy, but it’s part of the Scrum Master’s role and is fundamental for the functioning of an Agile team. Problems will arise, and the Scrum Master must be prepared to deal with them.
On the other hand, Scrum Masters who don’t like to be challenged should be instructed to provide more context whenever they make a decision related to processes. This will make the decision more transparent and reduce the likelihood of the team questioning it.
6. Sprint Backlog Being Regularly Changed Mid-Sprint
Once a Sprint starts, the Sprint Backlog should remain unchanged. Beforehand, the Product Owner and the Development Team will have selected the stories that are part of the next Sprint, taking into consideration their priority and whether or not they are refined.
While Sprints have short durations, stakeholders sometimes want to change Sprint Backlog by introducing high-priority items halfway through a Sprint. For this, they address their request to the Product Owner. But the Scrum Guide says that only the Development Team can change the Sprint Backlog. Therefore, the Product Owner ends up in a position where they are required to discuss the subject with the Development Team to come to a decision.
How to Avoid: While requests in Sprint Backlog can occur occasionally, they should not be the norm. If this happens regularly, it’s a sign that something is wrong. The Product Owner should interact regularly with stakeholders so they’re aware of the next features to be developed and can give their input on time — before a ticket ends up in the Sprint Backlog. The stakeholders should also be instructed to respect the Product Owner and not go over their decisions.
7. Retrospectives Don’t Fulfill Continuous Improvement Objectives
Retrospectives should close the Sprint. Its goal is to facilitate inspection, one of the three pillars of Scrum, so adaptation (another pillar) can follow. The Retrospective should unveil ways to increase quality and effectiveness within the team. To do this, a meaningful discussion should be held with tangible outcomes regarding how the team works.
How to Avoid: If no outcomes are coming out of your Retrospectives, your team might be avoiding discussing pain points. Maybe team members don’t feel comfortable enough to bring up problematic issues in front of everyone. If so, it’s the Scrum Master’s job to find ways to create a safe environment for everyone to voice their opinion without fearing consequences.
8. Events Not Being Done or Being Done Erratically
Scrum prescribes five events: sprint planning, daily, review, and retrospective, all of which are contained within the fifth event—the sprint. Besides the daily, the other events should happen once per sprint, every sprint.
It might be tempting for some teams to skip them every now and then, or even skip them altogether, for the sake of saving time. However, these events are opportunities to inspect and adapt work, and missing out on them means missing out on these opportunities.
How to Avoid: It’s the Scrum Master’s responsibility to make sure that these events take place. Equally important, it’s also their job to guarantee the team understands the importance of attending such events and views them as a relevant part of the work, not as a waste of time.
Conclusion
Teams might adopt these anti-patterns inadvertently, but they hinder progress, compromise teamwork, and jeopardize delivery. But anti-patterns are not the end. Faux agile is easy to spot and it can be reverted — it just takes awareness and conscious efforts to correct course.
Software Development anti-patterns can occur at any stage of a process. Often, they’re caused by short-term thinking but by implementing some changes in your methodologies and building a long-term vision for the project’s success, you can overcome them. In this process, a vigilant Scrum Master is essential, as they should act as a radar for anti-patterns.
“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.” — Patrick Martin, Scrum Master at Neueda.
In the end, if anti-patterns persist, consider rethinking Agile. Is it really the best route for your organization and your teams? And is this the right time to change? Reflection can help you avoid a major anti-pattern: focusing more on the processes than the outcome. Don’t lose sight of what you’re trying to accomplish, that should be the ultimate goal, not how you get there.
Published at DZone with permission of Søren Pedersen. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments