The term I want to invent is “Feature Amnesia”. I don’t know if I’m the true inventor, but I don’t see it anywhere after Googling, so I hearby call dibs. I’ve never invented a term before, so this is exciting.
You might know its more famous cousin, Feature Creep. I would guess Feature Creep is so common most software developers with more than a couple years of experience have probably seen it. When you start with a few features and as you go along discover you really, really need this, that, and the other feature too, you’ve got Feature Creep. If it ends up making the whole project late, bloated, and unenjoyable, you definitely have it.
Feature Amnesia is in some ways the opposite of Feature Creep. It happens when the people who ask for a feature forget about it. Most often, other priorities supplant it in their minds and it goes on the back burner, or no burner at all. If you’re lucky, it happens before you actually spend any time on it. If you’re not, it happens just as you deliver it.
I first became aware of the phenomenon while working at a company that sold consumer products over their website. The company was run and controlled by folks with a marketing background. (You could tell this by both the number of marketing people on staff and the size of their cubicles.) One day during a large meeting the marketing department explained their plan to target a certain audience in a new way, which would require some functional changes to the website. In the meeting we were talking about the idea and what would be required for IT to implement it. The project was presented to us as: (1) being very critical, (2) having support from the highest levels in the company, and (3) one we would need to pay special, urgent attention to in order to meet a very important deadline.
Sitting there I couldn’t help but think of the last meeting we’d had in the same conference room, with many of the same staff, to talk about another marketing idea. It was presented to us as (1) being very critical, (2) having support from the highest levels in the company, and (3) one we would need to pay special, urgent attention to in order to meet a very important deadline.
In fact, we were just finishing up that project and would be deploying it to the website soon. But there was no talk of it at this new meeting, no mention of its urgency. What had happened to that project?
Later I discovered it had died of Feature Amnesia.
In short, by the time the development of the feature was finished, the marketing staff had moved on. They had, almost literally, forgotten about it. It took repeated prompting to trigger the memory, at which point the response was, “Oh, yeah, we don’t need that anymore.”
Granted you have to have a pretty dysfunctional situation to see Feature Amnesia in full effect. In this case, the company’s management were entirely marketing focused, and really interested in trying all sorts of new, fresh ideas. That in and of itself is not a bad thing. Of course the problem was there was no follow-through. There really was a short memory for these ideas. And I think the atmosphere was one where the marketing staff were rewarded more for coming up with an interesting idea, than actually seeing the idea through to fruition.
If truth be told, there are plenty of times when developers can encourage Feature Amnesia and turn it to their advantage, so it’s not always the marketing staff who are at fault. Plenty of times developers stonewall or even ignore requests they don’t like for one reason or another. The hope being that the person asking for it will forget about it in time. This happened plenty at the company mentioned above, and indeed, it may have created a climate where follow-through was seen as unimportant or fruitless. Of course one would hope features would each get a fair shake and misgivings aired in the open rather than ignored and forgotten in some sort of passive-aggressive dance. Sometimes Feature Amnesia is honest; sometimes it’s willful.
Pingback: Testing Has a Point of Diminishing Returns | SoftSlate Blog