anti=pattern negative photo of a lightbulb

There are instances where individuals or groups make a choice to address a problem, where that choice proves to be ineffective at best, and does more harm than good, at worst. The term anti-pattern is a general way to call out that sort of situation, where a choice has largely negative consequences. In software development, a design pattern represents an approach that has been proven to be in effective. By way of contrast, an anti-pattern in software development is characterized by a bad “design smell,” in that the design choice results in things such as accumulation of technical debt or high frequency of software defects. Credit for early usage of the term anti-pattern in software development goes to Andrew Koenig, who first used the term in a paper published in 1995, in The Journal of Object Oriented Programming. (1)

(1) Koenig’s paper was subsequently reprinted in The Patterns Handbook, edited by Linda Rising.

Related Media

Anti-pattern Video

Anti-pattern Podcasts

Anti-pattern Example

Related Subjects

Acknowledgments

Authored by Steve Moubray

Edited by Philip Rogers

Photo by Johan Extra on Unsplash

 

Agile World Resources are provided as free resources to anyone seeking to learn more and are shared under a creative commons attribution license. This means if you use a resource elsewhere you must name Agile World Resources as the source, who the author is, and the photo creator (if used).

About the author

I'm a Lean-Agile Coach with a passion for Community Building and just celebrated our 5-year Meetup anniversary with over 2,000 members. With over 20+ years of experience in all different levels from the mailroom to the boardroom. My main focus the past few years has been helping organizations embrace Agility through Lean Portfolio Management, Program Management, launching Agile Release Trains (ARTs) and helping to create Lean Agile Centers of Excellence. Bringing people together is one of my passions and I host a large and successful Meetup which has celebrated our 5 year anniversary and love seeing all the smiles and happy faces. I was also the co-chair for A20dmv.org celebrating the 20th anniversary of the Agile Manifesto in the DC Metro area. Growing and coaching new leaders is important to me and when I heard Gapbuster.org needed hosting a new website, I pulled some friends together and we delivered. I'm blessed, not only by an amazing agile community but also by my loving family. My wife Nataliya is an avid gardener and speaks 3 languages fluently. I love my children (Tatiana and Max) more than anything in this world but realize nothing loves me more than my eldest dog Sigyn. Now I'm becoming a part-time soccer coach for Max so he's able to continue playing with his amazing friends.