DEV Community

Burak Aykan ÜRER
Burak Aykan ÜRER

Posted on

Forget TDD: Are You Accidentally Practicing Fate-Driven Development (FDD)?

We all talk about methodologies like Test-Driven Development (TDD), Domain-Driven Design (DDD), and Behavior-Driven Development (BDD). But let's be honest: are we truly practicing them, or are we practicing something... else?

My new site, blabladriven.dev, is a hilarious, cynical, and painfully accurate catalog of all the real development methodologies we fall back on when deadlines are tight, specs are hazy, or the universe simply has other plans for our codebase.

It's time to talk about the anti-patterns we all secretly use.

A Few of the Most Painful Methodologies

Here are a few entries from the guide. Which one do you use the most?

🔮 FDD: Fate-Driven Development

The belief that the code's success or failure is predetermined by cosmic forces, making effort largely symbolic.

Core Principle: If the CI/CD pipeline fails three times, it is a sign from the universe to take a break.

Motto: "We pushed to production. Now we wait for Kismet."

🐛 WMMD: 'Works on My Machine' Development

A process that concludes immediately upon seeing the feature successfully execute on the developer’s local environment, regardless of the test suite, staging environment, or user experience.

Core Principle: My machine is the only machine that truly matters.

Motto: "It works on my machine. Everything else is an infrastructure problem."

🧠 IJDS: I Just Did a Google Search Development

The method of building a complex feature entirely from copy-pasted Stack Overflow snippets and the first two search results.

Core Principle: Why write 20 lines of code when 5 lines from the internet will do... until it breaks six months later.

Motto: "I just need to find the right GitHub Gist to fix this."

🤖 CGDD: The 'Can We Just Use ChatGPT' Development

The methodology where the requirements gathering, planning, and initial coding phases are entirely outsourced to an AI model, leaving the developer to debug the output.

Core Principle: AI is better at writing code than I am; I'm better at fixing its mistakes.

Motto: "It passed the linter, but I have no idea what it does."

📣 What's Your Flavor of "Bla-Bla"?

We all have a few of these in our toolkit. It's time to be honest about them.

Check out the full list of anti-patterns and their core principles (including MeDD: Meeting-Driven Development and NDDD: Non-Developer Driven Development) on the site:

👉 The Ultimate Guide to Bla-Bla Driven Development

Which of these methodologies dominates your day-to-day life? And more importantly: What is the most ridiculous "Driven Development" anti-pattern you've ever witnessed?

Share your own in the comments! Let's build the ultimate compendium of developer cynicism.

Top comments (0)