The secret driven-development/design acronyms

We’ve all heard of BDD, DDD and TDD but that still leaves 23 letters unaccounted for.

I can now exclusively reveal more! You may recognize some from projects you’ve already worked on but didn’t know had a name much less a recognized methodology.

ADD, Agro Driven Development

Developers code features directly proportional to the amount of heat they are getting from users, sales or managers. Results in a jack-of-all-trades, master of none.

CDD, Clone Driven Design

Features and design are achieved by cloning somebody else’s product thereby removing the pesky overhead of having to come up with ideas of your own. Sure fire way to stay firmly behind the leader.

EDD, Ego Driven Design

Where the direction of the project is dictated purely on an individuals ego and their ability to shout long and hard until they get their own way. The individual involved is rarely the target audience for the product which is often the ego-bruising trigger in the first place.

GDD, Golf Driven Design

Where features and specifications are agreed on the golf course by people who neither use the software nor are responsible for implementing it but want to write off the whole trip as a business expense. With any luck they won’t check the final product.

LDD, Lunch Driven Development

Where features, goals and APIs are decided over lunch by the developers and users who care enough to meet up over their lunch-time. Lunch must not be provided or you stray into Golf Driven Design instead.

PDD, Psychic Driven Development

Where specifications are not so much decided through real communication but rather obtained via a psychic link with potential users with mixed results. Often seen in conjunction with Ego Driven Design.

QDD, Query Driven Development

Every page or screen starts with a question to the user what they want to see, writing that as a SQL/LINQ query statement and then dumping results out via a simple UI. Would likely be better off in Access or Excel but people involved want to claim they have intraweb experience.

XDD, Xenophobic Driven Development

Where the majority of development time is given over to making sure others can’t do anything BUT what the original developers wanted. Typically observed by large sets of exception messages, the absence of hooks and a sprinkling of the sealed keyword.

YDD, Yesterday Driven Development

Features added today are the ones the customers thought they were getting yesterday. Generally used in very-tight rapid methodologies.

ZDD, Zzzzz Driven Development

Every waking hour is given over to the development process at the expense of quality and design ideas that are only appreciated by the sleep-deprived. Normally observed on tight schedules such as those in the gaming industry.

[)amien

20 responses  

  1. VDD, Vapor Driven Development

    Pre-announced projects often used together with CDD to take the wind out of competitors releases. More and more features are added with no real release date in sight. See Duke Nukem Forever for the canonical example.

    Josh – February 18th, 2009
  2. Ha ha ha!

    HaackedFebruary 18th, 2009
  3. PDD, Panic Driven Development

    All the developers are panicked because of the tight deadlines. And because of this panic and rush they create more bugs and become more panicked. Usually this follows the YDD…

    spinodal – February 19th, 2009
  4. Simply brilliant. Thanks for making me laugh on a Friday afternoon.

    Elizabeth KeoghFebruary 20th, 2009
  5. pingback

    […] Damien Guard introduces the other *DDs.. […]

    lizkeogh.com » You’ve heard of BDD, DDD and TDDFebruary 20th, 2009
  6. HDD, Hack Driven Development

    Code looks like spaghetti. Every change in a program is a hack and can be made only by original author.

    tivadj – February 20th, 2009
  7. RDD, Randomly Driven Development
    Requirements are defined and re-defined randomly with no thought to end-user expectations, needs or simple common sense. Often closely related to EDD.

    GeorgeN – February 20th, 2009
  8. ExDD – Exception-driven development. 90% of the code is in catch statements.

    KarlFebruary 20th, 2009
  9. pingback

    […] Secret Driven-Development Acronyms […]

    Programming Humor » Karl Katzke | PHP, Puppies, and other GeekeryFebruary 20th, 2009
  10. Uber LOLz ;)

    Andrei RineaFebruary 20th, 2009
  11. You don’t have an F entry, so here you go. This is from my upcoming book, “The Nomadic Developer”, where I define some terms for the consulting industry:

    Faith Driven-Development

    A development practice also known as “code n’ pray” or “Waterfall”. It relies on an ever knowing business analyst write an Old Testament like book known called “The Requirements”; non-coding architect to write New Testament like book called “The Design”. Once those are done and cast in stone tablets, a developer (you) is called upon to code the system, with results in a situation that resembles the last chapter in the New Testament, called “Revelations”, in which the forces of good and evil fight on a giant battlefield, with massive bloodshed (a process known as “Testing or Quality Assurance”) after which there is a promise of a thousand years of utopia.

    Sadly, it seldom ends this well.

    Aaron EricksonFebruary 20th, 2009
  12. My favourite (I can’t remember who coined the term now) is

    CDD – Christmas Driven Design

    Where you coded how you wished the language worked, rather then how it really works.

    Hates_February 21st, 2009
  13. Funny. Quite an entertaining list.

    Ryan FarleyFebruary 24th, 2009
  14. TDD – Alternate Acronym

    Tea Driven Development:
    A Tea based approach to developing computer software;
    The belief that software is best developed in an environment where there is plenty of Tea;

    http://www.danielflippance.com/blog/09-02-24/TDD_-_Tea_Driven_Development.aspx

    Daniel FlippanceMarch 1st, 2009
  15. ADD should be Alcohol Driven Development. The best way to write pragmatic code is under the influence :D.

    Webnov8March 2nd, 2009
  16. HDD – Home Driven Development
    Do whatever it takes to get the job done and go home not in crazy ass hours, where all the real fun programming begins.

    Normally happens when project is not inline with the team’s career goals.

    Having other team doing a more exciting project could increase the effectiveness of Home Driven Development to a point where team start to make excuses to go home early. One of the most popular excuse is “I don’t need to be here. I can do it from home”.

    Ronald WidhaMarch 15th, 2009
  17. I thought the acronyms were all for real but its a joke after all. :) You made me smile.

    BleukenMarch 30th, 2009
  18. HDD – Hype Driven Development

    Nobody is sure of what the requirements are, or why the project started – but you’re gonna code in the hot new language of the week, use the coolest framework of all time or have it running in no time on the hippest flavour of Linux, or all of the above.

    BojanMay 21st, 2009
  19. CDD – Comment Driven Design. Comment out code untill it works!

    Anders – October 12th, 2009
  20. MDD – Mortgage Driven Development.

    Deliberately make the code unmaintainable, so even if by some miracle or moment of insanity somebody actual puts it in production, there is a job for life. Build all of the whimsical, ego driven features first, and then rebuild them again in a different technology stack, so that development never gets round to building something useful.

    Kevin RichardsOctober 15th, 2013

Respond to this