Antipatterns are counterproductive activities that repeat themselves. They can be identified in any routine behavior and improve overall rationality by making common errors easier to spot. Antipatterns occur repeatedly and contrast with a known scheme that would work better. They can be found in software design, corporate world, and organizational sociology.
An antipattern is any activity that repeats itself despite being counterproductive. While the term originated and has gained widespread use in the field of computer programming, it can apply to any form of routine behavior. Identifying and describing antipatterns can improve overall rationality by making common errors in reasoning easier to spot. In this sense, the anti-model is to general rationality what the error is to deductive logic.
For a batch of code or set of behaviors to constitute an antipattern, it must occur repeatedly. It must also, to some observer, be contrasted with a known scheme that would almost certainly work better. Isolated errors therefore cannot be antipatterns, nor can failed attempts to solve a problem for which there is no solution yet. This definition still leaves room for a wide range of faulty processes.
Even within the original category of software design, there are many different types of antipatterns. Some involve errors in anticipating user reactions. “Interface bloat” and “Creeping Featuritis” – almost all of the antipatterns have been given cute names – refer to a program with a user interface so complicated it becomes unmanageable.
Other antipatterns involve typical programming errors. “Copy-and-Paste Programming” and “Cult Cargo Programming” describe situations where programmers rely too much on pre-existing material instead of adapting their code to the program they are currently developing. “God Class” is a set of objects within a program that have become too powerful; the whole thing is vulnerable because everything is based on these elements.
Many antipatterns have also been identified within the corporate world, particularly as a context for software development. “Specify Nothing” and “Vietnam War” lead to errors of clarity in management‘s instructions to its employees. “We Are Idiots” implies the assumption that customers, not programmers, should make every decision about how a particular item is developed.
Other antipatterns can apply to many types of organizational sociology. “Groupthink” occurs whenever a group of people are able to sustain a collective illusion by isolating themselves from external inputs. A “death march” occurs when everyone working on a particular project knows that failure is inevitable but do not or cannot communicate this information to a powerful leader. “If it ain’t broke, don’t fix it” is a piece of conventional wisdom that can be an antipattern in contexts where any breakage would be unacceptable.
Protect your devices with Threat Protection by NordVPN