Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What is the name of the pattern in which individual contributors (programmers/designers) developed an artifact for the sole purpose is to serve as a diversion so that management can remove that feature in the final product?

This is a folklore I heard from an ex-colleague who used to work at a large game development company. At that company, it is well known that middle management is pressurized to "give inputs" and "make changes" to the product otherwise they risk being seen as not contributing to the project. This situation have delayed many projects because of these superfluous "management inputs".

In one project at the above company, the artists and developers created a supernumerary animated character that appears in every cutscene and sticks out like a sore thumb. They designed it in such a way that it can be easily removed before the game is shipped (this was when games were still sold in physical media and not a downloadable product). Obviously the management then voted to remove the animation. On the positive side, management didn't introduced any unnecessary changes that would have delayed the project because they have shown that they provided constructive inputs to the product.

This process pattern has a name among game programmers that work in corporates, but I forgot what was the actual name. I believe it's duck-something. Anybody can help pointing out the name and perhaps some rather credible reference to how the pattern develops?.

share|improve this question
18  
It is the "time-to-change-the-job-when-working-for-such-a-company" pattern. – Doc Brown Nov 28 '11 at 6:42
7  
It's called a "duck feature." stackoverflow.com/a/2444361/102937. Actually, the formal name for it is a "Red Herring." – Robert Harvey Nov 28 '11 at 7:14
8  
It's called unprofessionalism – user2567 Nov 28 '11 at 7:26
1  
in long living software, expect most anything you create to be rewritten or removed/replaced at some point. Nothing lasts forever. – jwenting Nov 28 '11 at 7:32
5  
@Pierre303 : I'd call it dealing with management reality. If anything, it is uber-professionalisim. – Wyatt Barnett Nov 28 '11 at 15:44
show 6 more comments

5 Answers

up vote 4 down vote accepted

It’s called a duck, from a legend that allegedly comes from Interplay’s Battle Chess:

This started as a piece of Interplay corporate lore. It was well known that producers (a game industry position, roughly equivalent to PMs) had to make a change to everything that was done. The assumption was that subconsciously they felt that if they didn’t, they weren’t adding value.

The artist working on the queen animations for Battle Chess was aware of this tendency, and came up with an innovative solution. He did the animations for the queen the way that he felt would be best, with one addition: he gave the queen a pet duck. He animated this duck through all of the queen’s animations, had it flapping around the corners. He also took great care to make sure that it never overlapped the “actual” animation.

Eventually, it came time for the producer to review the animation set for the queen. The producer sat down and watched all of the animations. When they were done, he turned to the artist and said, “That looks great. Just one thing—get rid of the duck.”

share|improve this answer

We've always called it a "Duck"

http://geekworksllc.com/posts/1300151901-new-age-programming-jargon

When that link is down: http://stackoverflow.com/questions/2349378/new-programming-jargon-you-coined/2444361#2444361

share|improve this answer
1  
The link is broken in your answer. – maple_shaft Nov 29 '11 at 12:33
The "backup link" is broken in your answer (refers to deleted SO question), would you mind updating it? Would you mind also explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange – gnat May 5 at 21:16

I simply see it as management validating their own purpose on a project by extending out scheduled work as long as possible or creating meaningless busy work to keep people busy or working.

I have seen this personally in five different types:

  • Government projects - Many times if a manager's project runs underbudget or time, then it will work out bad for him/her in the future. They may get praise for good work, but run the risk in the future that their budget will be reduced next year if they can't justify it. Because of how budgeting works in government, this is why government projects aim to utilize as much of their assigned budget as possible.

  • A possibly obsolete manager who has a large team and responsibility for software that is relatively easy to maintain or write. The danger is real in the corporate world that when they try to shed dead weight they will look for the middle managers with the least real responsibility and move from there. They feel that by overestimating and creating unnecessary scope that they protect their positions.

  • Some software companies are basically Good Ol' Boy clubs where they have simple or legacy software that corners a lucrative yet niche market. Typically the money is relatively easy, ambitions relatively low, and all of the managers are best friends who try to validate each others purpose while taking home big paychecks. Room for advancement is impossible in such companies unless you are connected. They will often try to validate their own importance by creating meaningless busy work into an already well solved problem.

  • Some contract language requires regular releases and continuous improvement in the software. For a well solved problem, finding unique and new features may be difficult or impossible. Often busy work will be assigned, perhaps maybe to add something then mostly remove it in the next release.

  • The manager is legitimately concerned with keeping the team together, either out of guilt or just trying to be nice. He will try to validate the purpose of his own team to keep them employed under him.

share|improve this answer

In some projects I've worked on, we've called them "bike sheds" as a nod to the term bike shed problem. This term came from a passage the book Parkinson's Law, describing nuclear power plants as being so complicated that mismanagers would be afraid to touch anything, but a bike shed is so simple that everyone has to dither and fiddle with it to give the appearance of "managing" things.

share|improve this answer

There are many names for this thing, and not one of them seems to be "official". This article has at least three, and that's only in game development!

share|improve this answer
would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange – gnat May 5 at 21:21

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.