Lean Anti-Patterns and What to Do About Them

[article]
Summary:

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.

Pages

Tags: 

About the author

Alan Shalloway's picture Alan Shalloway

Alan Shalloway is the founder and CEO of Net Objectives. With almost forty years of experience, Alan is an industry thought leader, a popular speaker at prestigious conferences worldwide, a trainer, and a coach in the areas of lean software development, the lean-agile connection, Scrum, agile architecture, and using design patterns in agile environments. Alan is the primary author of Design Patterns Explained: A New Perspective on Object-Oriented Design and Lean-Agile Software Development: Achieving Enterprise Agility.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01