Live data from Hacker News

Asshole driven development

scottberkun.com

11–20 of 39 posts

Re: Asshole driven development

#11
BASD: Bait and Switch Development:

You get buy-in from a co-worker for a cutting-edge, poorly documented, sexy but controversial technical approach by promising to do the programming yourself. Co-worker doesn't raise the kind of objections he'd normally raise if it were his project and his problem, because he doesn't want to tell you how to do your own job ("bait"). Then, when it becomes impossible to meet the deadline, you convince management that you're badly needed in a different area, so they assign your coworker to "finish" off the project, except now he has to work within the straightjacket he always suspected you were creating for yourself ("switch"). You move on to a new and interesting technology.

Some call them "Bait and Switch Developers", but in the industry, they're usually just called "Enterprise Architects."

Re: Asshole driven development

#12
It's December and no mention of Christmas Driven Design (CDD)?

Write your system how you wished it worked and fitted together, regardless of whether your wish of it somehow working comes true or not when you run it.

Re: Asshole driven development

#13
re: "Asshole Driven Development"

If you're in a design meeting throwing out a bunch of great ideas while helping others understand why their ideas won't work, and you can't spot the Asshole, then chances are...

Re: Asshole driven development

#14

My personal favorite not mentioned in the article is HDD (Hate Driven Development) When the only force accelerating progress on a project is your pure hate for everything the project represents.

Then what is the incentive for working? Maybe wanting to get the project over? More importantly, what is the incentive for staying in the project (besides pay)?

Your guess is exactly right, to get the project over with. Though I had thought about leaving several times, the other projects I've worked on are not so bad. Plus the company is fantastic.

Re: Asshole driven development

#15

Earlier quoted context omitted.

Then what is the incentive for working? Maybe wanting to get the project over? More importantly, what is the incentive for staying in the project (besides pay)?

Your guess is exactly right, to get the project over with. Though I had thought about leaving several times, the other projects I've worked on are not so bad. Plus the company is fantastic.

In that case, it's not exactly 'hate'. You seem to want to stick with your company because the value of the company as a whole is greater than greater than the opportunity cost of leaving it. You hate a given project, but you want to get it over with because there is a better project (possibly?) waiting for you after you're done.

In that case, it might be called 'Hope Driven Development' as your hope of getting good/not-bad projects exceeds the opportunity cost of leaving the company, and thus accelerates your development.

...or DDD -- 'Dream Driven Development' ;*)

Re: Asshole driven development

#16
post #8

Great post. A few more, off the top of my head: Garbage Perpetuation Development (GPD) - You can't believe how bad the existing code base is, but you're afraid to open a can of worms, so everything you add to it is written in the same style. For the rest of your life, you can say, "It was like that when I got here." Mansion in the Quicksand Development (MQD) - The opposite of Garbage Perpetuation Development, you are…

An interesting meta-pattern appeared in my thoughts when I combined GPD, DFD, WAD, IAD, CYAE, and DBD. It's acronym is FDD, which stands for Fear Driven Development.

A few other patterns may make appearances, depending on the organization, but the practical upshot is something a former manager of mine kept on about regarding working at large, asshole driven organizations: focus only on requirements. Do precisely what you are told to do, and precisely what you are told to do it on, and do absolutely nothing else to anything else. For developers, this involves fixing or implementing precisely what the bug ticket tells you to, and committing precisely that to the repository. For the tester, this involves testing precisely that feature or fix the ticket indicates, and not suggesting in any way that another related fix could be rolled into this one with little effort. For the project manager, this consists of having endless meetings with people to make absolutely certain the items on the task list are prioritized correctly, and dragging developers and testers into those meetings to project an image that your organization is "engineering driven".

Expect that if you violate this tenet, you will face unwanted consequences, even if things turn out well for what you were working on. It doesn't matter that you made things better for the organzation; you usurped the task-delegation authority of someone else, and it is quite possible that person was hired for that specific purpose. If you show you can self-manage, this person is now redundant, so it is in their best interest to show you can't self-manage by making sure you are scared completely shitless of ever doing so. Vague threats and social politics work well here.

But it's not that the individual wants to abide by these particular patterns; it's that they are wedged into a political canyon. They know that whatever effort they might put in to making things better will result in them being fired for insubordination as soon as someone finds out what they've done. Would they like to keep their job and deal with a horrible codebase, or would they like to lose their job and have nothing but the bitter taste of a horrible legacy codebase you can now do nothing about.

These are all symptoms; the cause I've always seen is that the staff are scared shitless, and want to make sure no one can hold them responsible for anything. It seems to me that if you get rid of that, you get rid of the catalyst behind a lot of these other problems.

Re: Asshole driven development

#20
Nobody's pointed out the most obvious one:

Fireman Development (FD) - You are constantly in crisis mode and thus are only motivated to do something when someone sends you an email containing the words "CRITICAL". And yes, it has to be in all caps.

Post reply on HN