Asshole-driven development

[Since this was originally posted commenters have added 100+ addition methods – see the comments below]

The software industry might be the world’s greatest breeding ground for new systems of management. From Agile, to Extreme Programming , to Test Driven Development (TDD), the acronyms and frameworks keep piling up. Why?

Some say it’s immaturity: that software is still a young industry and all the change is the path to some true fundamentals. Others say it’s because software people like making things up and can’t help themselves. Well I say this: if we’re going to have dozens of models we may as well have some that are honest, however cynical, to what’s really going on much of the time. There is a happy list of these I’m sure, but this is the cynical one.

Asshole-Driven development (ADD) – Any team where the biggest jerk makes all the big decisions is asshole driven development. All wisdom, logic or process goes out the window when Mr. Asshole is in the room, doing whatever idiotic, selfish thing he thinks is best. There may rules and processes, but Mr. A breaks them and people follow anyway.

Cognitive Dissonance development (CDD)
– In any organization where there are two or more divergent beliefs on how software should be made. The tension between those beliefs, as it’s fought out in various meetings and individual decisions by players on both sides, defines the project more than any individual belief itself.

Cover Your Ass Engineering (CYAE) – The driving force behind most individual efforts is to make sure than when the shit hits the fan, they are not to blame.

Development By Denial (DBD) – Everybody pretends there is a method for what’s being done, and that things are going ok, when in reality, things are a mess and the process is on the floor. The worse things get, the more people depend on their denial of what’s really happening, or their isolation in their own small part of the project, to survive.

Get Me Promoted Methodology (GMPM) – People write code and design things to increase their visibility, satisfy their boss’s whims, and accelerate their path to a raise or the corner office no matter how far outside of stated goals their efforts go. This includes allowing disasters to happen so people can be heroes, writing hacks that look great in the short term but crumble after the individual has moved on, and focusing more on the surface of work than its value.

I’m sure you’ve seen other unspoken methods at work – what are they?

Please add to the over 200 reader suggested methods in the comments.

551 Responses to “Asshole-driven development”

  1. Prabesh

    FDD – Faith Driven Development.

    (write or copy code from stack overflow code and pray to god that it works.) I have seen this being done all the time. Or, write something and test it out to see what it does.

    1. Lex

      Dude… That’s not even development. That’s theft / plagiarism of code!
      You see that happening in your department state it to your manager and human resources, that person is no programmer.

  2. Zachary Kessin

    RDD – Resume driven development – When you choose tech because it will look good on your Resume

    Salmon Development – Swim upstream for weeks just to get F*cked
    Mushroom Development – Keep them in the dark and feed them Sh*t

    1. Lex

      Gee, this reminds me of FOSS projects, like, oh; (Linux kernel development) [Salmon Development]

  3. Lex

    I had a good chuckle when I read this post, I’ve (unfortunately) been in almost every scenario of development teams listed up above. DBD is the only one I haven’t professionally been involved with, thankfully.

    Great article!


Leave a Reply

* Required