74

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?.

12
  • 35
    It is the "time-to-change-the-job-when-working-for-such-a-company" pattern.
    – Doc Brown
    Nov 28, 2011 at 6:42
  • 9
    It's called a "duck feature." stackoverflow.com/a/2444361/102937. Actually, the formal name for it is a "Red Herring." Nov 28, 2011 at 7:14
  • 12
    It's called unprofessionalism
    – user2567
    Nov 28, 2011 at 7:26
  • 16
    @Pierre303 : I'd call it dealing with management reality. If anything, it is uber-professionalisim. Nov 28, 2011 at 15:44
  • 3
    @Stargazer712: No. Unprofessionalism is using tricks to manipulate people. A great developer will try to enable honest communication channels first; If there is no way to make it work, he will follow Doc Brown.
    – user2567
    Nov 29, 2011 at 10:14

4 Answers 4

98

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.”

6
  • 30
    I had a professor tell a story about a professor writing a paper with his graduate assistant, and submitting the paper with an obvious error in one of the formulas. The student asked why the error. The professor replied, "that's for the referee."
    – Aaron Hall
    Mar 26, 2014 at 4:17
  • 6
    I've given a technical presentation where I glossed over a few areas that we did some real innovative work in since the presentation was 5 min with a 10 minute question period! I made slides to answer all the details on our real work so when they asked about it we were ready. We got to talk about real work the whole question period instead of the usual trivial questions.
    – Phil
    Aug 13, 2014 at 17:57
  • 9
    I think it's worth to link to the source of your citation... Maybe blog.codinghorror.com/new-programming-jargon?
    – Antonio
    Aug 20, 2015 at 12:23
  • 1
    @antonio stackprinter.com/questions/…
    – adib
    Apr 15, 2016 at 15:14
  • 4
    See also Dilbert: dilbert.com/strip/2007-02-02
    – adib
    Apr 15, 2016 at 15:19
12

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.

8

My boss called it the "fountain strategy". He designed a new computer wing for a University with a massive fountain out the front. The wing was approved but without the fountain, exactly as planned.

That was 50 years ago, so this is nothing new.

7

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.

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