Lean Anti-Patterns and What to Do About Them


When attempting to adopt best practices we often can't see the forest for the trees. We can see what we are doing wrong, but how will that help us to see what to do right? In this article, we will discuss a few common Lean Anti-Patterns. Anti-Patterns are commonly recurring practices that are counter productive. We call them "Anti-Patterns" because these anti-patterns result from violating Lean principles. Lean principles form the basis for Scrum practices. Looking at how Lean Anti-Patterns violate lean principles gives us insight into how we need to modify our practices to be more effective.

What Are Lean Anti-Patterns?
Lean is the label for a way of thinking pioneered by Toyota in its approach to designing and building cars. Womack and Jones[1] extended this way of thinking, coming to view Lean as a process of "fast-flexible-flow" to convert concepts into cash quickly and sustainably. Mary and Tom Poppendieck[2] applied these ideas to software development, developing the notion of Lean Software Development. An "anti-pattern" {sidebar id=1} is a way of doing something wrong that commonly occurs again and again. An anti-pattern is not exactly the antithesis of a "pattern"; which can be considered as a solution to recurring problems within a context. Patterns focus on solving problems whereas anti-patterns focus on bad practices.

A Lean anti-pattern, then, is a commonly occurring bad practice that violates Lean principles, that works against the organization seeking to become Lean. An example of a Lean anti-pattern is Regression Deficit Disorder (RDD).[3] RDD occurs when features are added without adding automated acceptance tests. Over time, this leads to regression testing that takes longer and longer. And costly testing makes it just that much harder to do quick releases. And that delay makes it just that much harder for the organization to deliver value to its customers quickly. Such waste is a shame. Why do I call this a Lean anti-pattern? Because the bad practice—no automated acceptance testing—violates basic Lean principles (how they do that I will leave for you to consider):

  • Optimize the whole
  • Deliver fast
  • Eliminate waste
  • Build integrity in

The Value of Anti-Patterns
The value of anti-patterns is not to identify bad practices. That is the easy part. An anti-pattern exists because of a violation of some underlying principle. They give you a way to understanding the deeper issues that are involved and that gives you a handle to think about what to do. Thus, the key to fixing ineffective behavior is to identify the principle(s) being violated and to stop violating them.

This article suggests using anti-patterns to improve performance by:

  1. Finding non-productive actions that are being done.
  2. Identifying the principles being violated.
  3. Seeing other ways of doing tasks that do not violate these principles.



About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.