33

I'm wondering if there is a word for a software feature which is not wanted and negatively impacts the software/business using it?

In my mind is not a bug as a bug is where something doesn't work as intended. In this case the "feature" functions as intended, it is just that its intent is misguided and in practice it is problematic for the business and we'd rather that users don't use it.

We would have the "feature" removed from the software, but would it still be considered a feature until it is removed? In my mind for software, a feature is inherently a positive thing. Or am I mistaken?

Example sentence:

Can you please remove the ability to do XYZ, it is a [word-for-negatively-impacting-feature]?

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – tchrist
    Commented Jun 13, 2017 at 12:21

17 Answers 17

55

It is a design bug - a bug by design. It is sometimes also called a misfeature. That is, it is intentional, part of the design.

(Something that was overlooked at design time can also be called a design bug, however, and this includes a feature omission.)

Such a characterization is opinion-based. Typically the organization responsible for the product, or at least its designers, will not call it a design bug or a misfeature. Instead, they will pitch it as being a feature.

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – tchrist
    Commented Jun 13, 2017 at 12:22
51

Misfeature is sometimes used for deliberately introduced features that are bad ideas. While mainstream dictionaries have

  • archaic: a bad or distorted feature (MW)

Wiktionary has

  • An undesirable or incorrect feature.

    • 1818, John Keats, The Human Seasons

      He hath his Winter too of pale Misfeature, / Or else he would forego his mortal nature.

    • 2003, John Ray, Maximum Mac OS X Security

      This may not appear to be a critical misfeature, and in fact I have on occasion come to rely upon this unintentional archive of data to recover the data.

which I've come across quite a lot in software and engineering sense.

To a native speaker it's easily understood from its components:

  • mis--: bad/wrong/erroneous
  • feature in the normal software sense

It's particularly useful for deliberate or well-intentioned features that actually make things worse.

2
17

You could use words like nuisance, inconvenience, hassle or menace to refer to such an unwanted feature.

Can you please remove the ability to do XYZ, it is a nuisance?

Although these words are not technical, and in some formal applications inappropriate, they convey the intended meaning when used in this context.

The meaning of nuisance in Oxford Dictionaries is

A person or thing causing inconvenience or annoyance.

3
  • 1
    Really, I think "nuisance" is the best answer in some ways. that's what you'd most typically say, something like "Users are finding {insert almost anything here} to be a nuisance, can you remove it?"
    – Fattie
    Commented Jun 10, 2017 at 16:34
  • 1
    Menace? I think you should add curse as well.
    – Džuris
    Commented Jun 11, 2017 at 10:27
  • Distraction could also apply. Commented Jun 11, 2017 at 11:31
16

I sometimes use anti-feature, analogous to anti-pattern--a software code design pattern that is harmful (causes bugs, wastes resources, etc.) and should be avoided. The latter is usually only used between developers, not with end users.

Can you please remove the ability to do XYZ (it is an anti-feature)?

7
  • or possibly "counter-feature"
    – user175542
    Commented Jun 9, 2017 at 19:39
  • 2
    @kayleeFrye_onDeck, what doesn't make sense linguistically is your interpretation of analogous as synonymous. An anti-pattern looks like a pattern but makes things worse rather than better; although I've never heard anti-feature before reading this answer, it does make perfect sense as something which looks like a feature but really makes things worse rather than better. Commented Jun 10, 2017 at 11:48
  • 1
    anti-feature is utterly commonplace, in Europe, Asia, SA and NA. this is the only half-decent answer to this question (a question that shouldn't be on this site)
    – Fattie
    Commented Jun 10, 2017 at 16:25
  • 1
    @Fattie I didn't encounter "anti-feature" until I looked at the requirements to get an Android app into the F-Droid repository. Commented Jun 11, 2017 at 0:46
  • 2
    When I read the question this answer immediately sprung to mind, so +1. However, often anti-feature has the specific meaning of a feature that users have to pay to remove (e.g. ads in the free version of a mobile app). It's not so much misguided or badly designed as deliberately intended to annoy the user into coughing up some cash to get rid of it.
    – samgak
    Commented Jun 11, 2017 at 22:00
16

When the code is correct but the product is not, there is a design defect. Some call it a design flaw.

2
  • The OP specifically said they weren't looking for a bug answer, and defect is a common 1-to-1 synonym for bug in the field. Commented Jun 10, 2017 at 0:34
  • 4
    @kayleeFrye_onDeck Bug typically refers to an implementation defect, not a design defect. For instance from Implementation vs. Design Defects: "Design defects are much, much harder to correct than implementation defects, so a few of them can easily add up to more work than dozens of implementation errors.... May as well just get to fuzzing and fixing bugs."
    – D Krueger
    Commented Jun 10, 2017 at 3:22
11

Software engineer here. I would use the word bloat or creep (as in feature creep) to describe these unwanted features. They are neither bugs nor design flaws. I would not use the terms deprecated or unsupported as they carry the implication of subsequent unavailability. If the people in the conversation are all software engineers, you'll likely also hear the term technical debt, but that's got a pretty narrow use case.

2
  • Bloat is too specific a case. Creep is much closer to what the OP asked for. Commented Jun 10, 2017 at 0:41
  • 2
    Both "bloat" and "creep" apply when a program simply has too many features, unrelated to the relative quality of any given feature.
    – chepner
    Commented Jun 11, 2017 at 1:59
8

A particularly apt metaphor that I've run across, although not very common at all, is dead bird feature.

The author of this blog post relates a story wherein a sick cat-owner is presented with a dead bird by the said cat, apparently in an attempt to comfort the owner. The bedridden owner freaks out at the dead bird that the cat drops on the bed, and the cat purportedly is miffed that its gift is not appreciated.

The term is applied to a situation where the developer creates a feature that the user does not want, and even actively rejects, leaving hurt feelings on both sides.

excerpt follows

I myself have had an eerily similar interaction with a programmer who proudly showed me a feature which he thought was incredibly useful, and which had also been very tricky to implement. He was outraged to discover that I did not adore it. In fact, my first response was to ask how to turn it off, out of fear that I would trip it accidentally. He felt that I was unappreciative, resistant to change, and failed to appreciate how life-changingly useful this feature would be. (Our disagreement was not improved by the fact that it was possible but not practical to disable.)

4
  • 7
    +1 I like this metaphor. I'm afraid dead bird is rather opaque for it, though; something like cat gift (feature) might make the meaning a bit more obvious (at least to those people who have had generous cats). It might help your answer, too, if you could briefly summarize the origin of the name.
    – 1006a
    Commented Jun 9, 2017 at 17:16
  • 2
    I really like this, although in a real life situation I'd expect to then have to explain the meaning of the phrase... which somewhat defeats the object of using it. Probably worth it though :) Commented Jun 9, 2017 at 22:14
  • 1
    I can't speak for the Blargesphere, but I've never heard of this mythical dead-bird feature phrase. It would just end up confusing people in the field if you used it. Commented Jun 10, 2017 at 0:32
  • Relevant:weirdnutdaily.com/7yr
    – 1006a
    Commented Jun 11, 2017 at 23:13
5

In software development, a jargon term for this is cruft.

Cruft is jargon for anything that is left over, redundant and getting in the way. It is used particularly for superseded and unused technical and electronic hardware and useless, superfluous or dysfunctional elements in computer software.

another definition

Cruft is a collective term for the elements of a program, system or product that are either useless, poorly designed or both. In computing, cruft describes areas of redundant, improper or simply badly written code

Removing a Feature is a Feature

That means that every “nice to have” feature that doesn’t solve the problem they’re trying to solve, isn’t just product cruft, it’s actively standing in their way.

Example

Can you please remove the ability to do XYZ, it's just cruft.

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – tchrist
    Commented Jun 13, 2017 at 11:30
4

Feature-Creep; this is when a feature is not designed or planned for that "creeps up" on your project, potentially throwing off all kinds of budget and time-constraint plans.

The concept of feature-creep is more of an ongoing process during the lifetime of a project instead of specified element, like a feature. However, calling something feature-creep will be understood without issues within the field.

Example: an engineer spends two days writing a command-line parser for a tool that doesn't even use the command-line as part of the normal user-experience (UX) for a product only meant for normal consumers. This would be a definite feature that hurt the business and software side by eating up engineering/programming hours and implementing a feature that no one will use.

Bloat is an acceptable alternative.

7
  • What he's asking about is most definitely not feature creep. And I've used every one of the suggested answers at one time or another. Just because you're unfamiliar with a term doesn't mean no one else is. You need to spend some time with the Jargon File: catb.org/jargon/html/index.html There's a much bigger world of software jargon out there than your paltry experience.
    – Rob K
    Commented Jun 12, 2017 at 20:43
  • "What he's asking about is most definitely not feature creep." aaaaaand you've lost all credibility. OP's request: "In my mind is not a bug as a bug is where something doesn't work as intended. In this case the "feature" functions as intended, it is just that its intent is misguided and in practice it is problematic for the business and we'd rather that users don't use it." Commented Jun 12, 2017 at 20:52
  • "aaaaaand you've lost all credibility." From you, I'll take that as a badge of honor.
    – Rob K
    Commented Jun 12, 2017 at 20:57
  • You earn badges on this site by being helpful, which you are neglecting to do. You'll have to modify your behavior to earn badges here. But if you really want to split hairs over the definition of feature-creep versus how it's actually used as you allegedly embrace the kitchen sink of made-up answers on this Question, feel free to continue. Commented Jun 12, 2017 at 20:59
  • 2
    While feature creep can result in poor or unnecessary features being added to a product, the way that term has been used in my experience is to to describe a situation where adding features later in a product cycle will negatively impact the schedule. Basically, if features keep being added to the requirements of a product (whether or not they are good features), the product will never meet its schedule. Commented Jun 13, 2017 at 7:22
2

A better term would be misfeature, as answered by others, but here's a slang term, which Hot Licks mentioned in his comment.

feechur (plural feechurs) -- Wiktionary

(computing, slang, derogatory) An undesirable or misimplemented feature (software capability).

1
  • 1
    Uncited slang I've never heard of. You'll just confuse people in the field if you try to use this. Commented Jun 10, 2017 at 0:39
1

An informal term for such a misfeature is a wart.

wart: n.

A small, crocky feature that sticks out of an otherwise clean design. Something conspicuous for localized ugliness, especially a special-case exception to a general rule. For example, in some versions of csh(1), single quotes literalize every character inside them except !. In ANSI C, the ?? syntax used for obtaining ASCII characters in a foreign environment is a wart. See also miswart.

Jargon Files

0

The term is Software Bloat. A quote from Wikipedia

"Software bloat is a process whereby successive versions of a computer program become perceptibly slower, use more memory, disk space or processing power, or have higher hardware requirements than the previous version—whilst making only dubious user-perceptible improvements or suffering from feature creep."

It fits in your test case although not exactly by strict definition.

0
0

In my work we sometime refer to such things as Artefacts (or Artifacts for US spelling). However, I do not see a matching definition in the OED. The MW Dictionary gives some close matches:

a : a product of artificial character (as in a scientific test) due usually to extraneous (such as human) agency

b : an electrocardiographic and electroencephalographic wave that arises from sources other than the heart or brain

c : a defect in an image (such as a digital photograph) that appears as a result of the technology and methods used to create and process the image

0

One previous boss used "freep" or "freep creature", as an example of 'feature creep' that has developed a life of its own.

2
  • We're looking for long answers that provide some explanation and context. Please explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
    – NVZ
    Commented Jun 13, 2017 at 11:57
  • @NVZ I cited my previous boss, who I will not name for privacy reasons, and provided etymology. Thanks for reading. Commented Jun 13, 2017 at 13:27
-1

Malfeature. It's defined at wiktionary.org ...

A bad feature (cast or structure of anything, or of any part of a thing).

... and the definition at dictionary.com seems to fit your "not wanted and negatively impacts" question:

  1. a combining form meaning “bad,” “wrongful,” “ill,” occurring originally in loanwords from French ( malapert); on this model, used in the formation of other words ( malfunction; malcontent).
1
  • 2
    It might be on dictionary.com, but no one uses it. Commented Jun 10, 2017 at 0:51
-2

A “feature” is not always a positive thing. Many times, features are added in order to satisfy a special request that turn out to be an inconvenience for the majority of users. An enhancement usually refers to adding feature(s) that improve the overall experience. If someone added a feature that turned out to be more detracting from the previous release, then it’s a software regression because the software has regressed or shifted toward a lower or less perfect state.

"Can you please remove the ability to do XYZ? It is a software regression."

6
  • 1
    Not only is this not a thing, its antonym doesn't even sound right: software progression; vague much? Progression in what sense? Lines of code? Quality? Timeline? All of the above? Nope. Its inverse likewise makes as much sense. This is not a thing that people in the field use. Commented Jun 10, 2017 at 0:46
  • 5
    A regression is more something that causes an old bug which had been fixed to come back. Commented Jun 10, 2017 at 11:44
  • 2
    @kayleeFrye_onDeck - Are you saying that people do not use the word regression in software? I can assure you that in the UK, in development/test departments, it is a well used term (in both American and British companies),in the sense that Peter states. Commented Jun 11, 2017 at 19:31
  • "It is a software regression." That is not the use for regression in the industry. As @PeterTaylor said, when we speak of regression, we often speak of old bugs coming back, not a term we literally use for the dictionary definition of regression. I mean, if you want to use industry-jargon incorrectly because it sates some nebulous requirement, feel free. Commented Jun 12, 2017 at 18:30
  • I have seen regression used to mean a more general step back than reintroduction of a bug, but still something like reintroduction of a misfeature. But the example in the answer doesn't match any use I've heard even in this more general sense
    – Chris H
    Commented Jun 13, 2017 at 7:52
-2

I work in this business, and I can think of no technical term for an unwanted or dangerous feature that would be understood by the reader or listener. You could stretch a bit and call it a foible, but I think you’d better explain why you don’t want the feature in your user interface.

Foible

  1. A weakness or failing of character.

from https://en.wiktionary.org/wiki/foible

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .