Asshole driven development

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 about 60 more in the comments) and there is additional commentary here.


    上面E文的看着不好理解,于是上班时间翻了一份,大家共娱共乐 :-)



    菊花驱动开发(ADD)- 当最大的笨蛋做出团队中所有关键的决策时即为笨蛋(菊花)驱动开发。当菊花先生在场时,所有的智慧、逻辑和流程都消失了,团队会去做任何菊花自认为最好的白痴事情。或许有一些规则和流程,但菊花先生会率先对此表示无视,而团队也无论如何都会紧随其后。

    妥协驱动开发(CDD)- 存在于那些对软件应该如何开发有两种以上有分歧的哲学的团队中。通过各种会议和私人交流来让各方让步,最终项目由各种哲学的妥协指导,而不是按照某个人自己一致的想法。

    踢屁股驱动开发(CYAE)- 努力工作以确保当项目被踢屁股的时候没自己啥责任。

    意淫驱动开发(DBD)- 当事情已经一团糟的时候,大家还天真的认为一切进展顺利,啥啥啥的马上就可以搞定。情况越糟糕的时候,越多的人不愿意去承认事实,甚至想把自己所在的小部分和整个项目独立开来以获得幸免。

    晋升驱动开发(GMPM)- 为在老板面前好好表现而编码,为加速提拔晋升而设计,而不管团脱离真正的目标有多远。这包括眼睁睁看着让灾难发生然后冲上去做英雄;或者胡乱拼凑出短期看上去能工作的代码,然后让程序在自己闪人后崩溃;或者将精力集中在表面工作,而非真正的干实事上。


发布了91 篇原创文章 · 获赞 16 · 访问量 35万+


©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客