Anti-pattern

An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. The term, coined in 1995 by computer programmer Andrew Koenig, was inspired by the book "Design Patterns", which highlights a number of design patterns in software development that its authors considered to be highly reliable and effective.
The term was popularized three years later by the book "AntiPatterns", which extended its use beyond the field of software design to refer informally to any commonly reinvented but bad solution to a problem. Examples include analysis paralysis, cargo cult programming, death march, groupthink and vendor lock-in.
Definition.
According to the authors of "Design Patterns", there are two key elements to an anti-pattern that distinguish it from a bad habit, bad practice, or bad idea: