Question

Is there a term for the above? When building a new system developers are sometimes instructed (that is a different issue) to "keep things as they are", regardless of how inefficient or unusable they are, albeit in the name of usability, training or something along those lines.

Is there a term for this? And if there is, is there any decent literature on addressing this type of problem?

Was it helpful?

Solution

You're very close in your title. I believe the term you're looking for is Quirk Parity by Kent Beck:

"quirk parity" -- the part of a rewrite where you finally match the irrational behavior of the old system

This arises from the Common Law Feature

OTHER TIPS

From the Jargon File:

bug-compatible /adj./ Said of a design or revision that has been badly compromised by a requirement to be compatible with fossils or misfeatures in other programs or (esp.) previous releases of itself. "MS-DOS 2.0 used \ as a path separator to be bug-compatible with some cretin's choice of / as an option character in 1.0."

Legacy code or legacy feature may also convey your meaning, particularly when the quirks to be preserved used to be intentional, or have become so. These term refer to the code or features intended to achieve the desired result. This is referenced in wikipedia:

Legacy code is source code that relates to a no-longer supported or manufactured operating system or other computer technology. The term can also mean code inserted into modern software for the purpose of maintaining an older or previously supported feature — for example supporting a serial interface even though many modern systems do not have a serial port. It may also be in the form of supporting older file formats that may have been encoding in non-ASCII characters, such as EBCDIC

Backward compatibility, or downward compatibility, is the property of containing enough legacy code to be operationally compatible with older versions of the system. It is also referenced in Wikipedia:

In telecommunications and computing, a product or technology is backward compatible or downward compatible if it can work with input generated by an older product or technology such as a legacy system. If products designed for the new standard can receive, read, view or play older standards or formats, then the product is said to be backward-compatible; examples of such a standard include data formats and communication protocols. Modifications to a system that do not allow backward compatibility are sometimes called "breaking changes.

Quirk parity is apparently a recent expression, hardly used on the web (only 40 occurences of "quirk parity" quoted, including repeats, on Google, though it is 1,190,000 when the 2 words are separate, not quoted). It does not refer to the addition of such legacy code or quirks, but to a state of the system when it contains enough legacy code to fully mimic a former version of itself. It may be seen as an ultimate form of backward compatibility. It may also be seen as a technical standstill if the parity covers both the can and the can't, the do and the don't, though this still leave room for performance improvement (unless bad performance is considered too as an important quirk).

If this is about design aesthetics in the user interface, then the term you are looking for is Skeuomorphism

A skeuomorph /ˈskjuːəmɔrf/ is a derivative object that retains ornamental design cues from structures that were necessary in the original. Examples include pottery embellished with imitation rivets reminiscent of similar pots made of metal and a software calendar that imitates the appearance of binding on a paper desk calendar.

Another example is the mechanical shutter sound in some modern digital cameras

The overall term is cognitive bias. It has to do with how humans process information.

From WikiPedia:

A cognitive bias is a pattern of deviation in judgment, whereby inferences about other people and situations may be drawn in an illogical fashion. Individuals create their own "subjective social reality" from their perception of the input. An individual's construction of social reality, not the objective input, may dictate their behavior in the social world. Thus, cognitive biases may sometimes lead to perceptual distortion, inaccurate judgment, illogical interpretation, or what is broadly called irrationality.

More specifically, what you are referring to is called Confirmation Bias.

Confirmation bias, also called confirmatory bias or myside bias, is the tendency to search for, interpret, or prioritize information in a way that confirms one's beliefs or hypotheses. It is a type of cognitive bias and a systematic error of inductive reasoning. People display this bias when they gather or remember information selectively, or when they interpret it in a biased way. The effect is stronger for emotionally charged issues and for deeply entrenched beliefs.

Emphasis in the previous paragraph was added.

This is one reason why people have a tendency to do what they have always done.

Licensed under: CC-BY-SA with attribution
scroll top