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?
Update: There are 200+ more in the comments and there is additional commentary here.
403 thoughts on “Asshole driven development”
What about YJDUMGD (You Just Don’t Understand My Genius Development)
Pingback: Weekend Reading: The Heat Wave Edition | Invest It Wisely
Pingback: TapaGeuR » ITGIF – “IT-God” It’s Friday #16
Pingback: 3 Top Ways to Lose Your Best Security People « Impacta Blog
Pingback: How to Avoid Being the Asshole Architect | Lessons of Failure
could you say what is the right development method which you follow.It would be helpful for all readers.
great post
Can’t believe I’m reading a blog from 3 years ago but I can’t stop reading it! I don’t even work in this field yet relate to 95% of the acronyms. Amazing
The tech industry is full of dead pigs who haven’t realised they’re dead yet.
Maybe you should edit the webpage name Asshole driven development Scott Berkun to something more generic for your content you create. I enjoyed the blog post yet.
Love it! Great stuff! ADD and CYAE are my favorites lol
A corallary to the ADD is the SSDD: Stockholm Syndrome Driven Development. This is where the A in ADD gets everyone so scared that they are really hostages and eventually just goes along with whatever the A is saying.
Thanks. Always nice when someone points out the emperor’s lack of clothes. In the 80′s I worked at a company where the “head programmer” had stickers on stuff saying “In God We Trust, Everything Else We Code Review”. The funny thing was, we never did Code Reviews or anything close, at that company or any others I’ve worked at.
My current situation – Demo Driven Development (DDD or D3). When a feature is designed with the prime use case being “It’ll look good in a demo!”
Already Late Development (ALD) – the project is already overdue, everybody is working twice as fast and twice as faulty, bugs get piled up, new deadline is not met again, the Customer wants new functionality for free because you have not deelivered in time, new deadline is not met again…and so on, it becomes Leave That Do That, Operation Death Star and Never Ending Story Development altogether.
Pingback: My starred Google Reader items about PL research and other things | A Programmers Blog with Extra Bit of Creativity
Pingback: My starred Google Reader items about PL research and other things | A Programmers Blog with Extra Bit of Creativity
Pingback: A$$hole Driven Development and Other Anti-Patterns | Thoughts on the World
BJD: Bon Jovi Development….Standards? Puh. Communication with your team? Puh. What the business wants?! Puh. “I’m a Cowboy! On a steel horse I ride! I’m wanted (wanted) DEAD or Alive…..”
Pingback: In which everything old is new again « Ry's Blog
Pingback: “Deadline Über Alles!” Software Engineering | jasonkratz.com
Pingback: How to know if you’re a bad web developer | Ross Tanner
There might also be a DBD variation when there’s a prominent object to point fingers at and tell “they’re SOOO wrong” implying one is perfectly ok… when one is actually even worse. Probably a DDD (Development by Distributed Denial) eh?
iLOVE it (ADD) Great article and funny as hell
Pingback: How to deal with jerk programmers « Scott Berkun
Oh and WDD ( Wifi Driven Development) where the project must have wifi doing something, regardless of the requirements or goals of the project?
Pingback: Asshole driven development – eine zynische Betrachtung neuer Managementsysteme « Unlocking Potential