We’ve all heard of Test-Driven Development (aka TDD), and those of us who’ve been around the block a few times have no double heard of Behaviour Driven Development (BDD) and Domain Driven Development (DDD) as well. But have you heard of their dodgy cousins?

In this series I want to explore a handful of these lesser-known development methodologies, exploring both what they are, and what you might want (or need) to do to address them when they occur.

Gesticulation Driven Development (GDD)

Saturday, July 24 2021 other-methodologies

Imagine this: While tackling a subtle bug in a complex application, you make a simple change that you think will address the issue. But when you run the tests, a whole bunch of seemingly unrelated tests start to fail. You reverse the change, and they pass again, so it’s most certainly your change causing the problem.

Read more »

Magpie Driven Development (MDD)

Saturday, July 10 2021 other-methodologies

Imagine this: Your team has a big release date coming up next month. This is a big deal, as you’re releasing a bunch of new features just prior to the industry’s biggest trade show. This morning you found out to your surprise that one of your senior developers has just about finished developing a critical new web-service. Using Rust.

Read more »

Rockstar Driven Development (RDD)

Saturday, June 26 2021 other-methodologies

Imagine this: You come into work on Tuesday morning after a four-day holiday weekend to find a cryptic email from one of your best developers describing some changes they just checked into your main branch. In the approximately 112 hours since you thought everyone went home on Thursday afternoon, they’ve been on a kind of technological bender, ripping out the workflow engine your team has painstakingly built and debugged over the last five years and replacing it with an open-source library that loads its configuration out of MongoDB.

Read more »

Distraction Driven Development (DDD)

Saturday, June 12 2021 other-methodologies

Imagine this: You’re working a critical new feature, one your team anticipates will not only be really popular with your existing users, but which will organically drive growth by attracting a large number of new users. While you’ve been working on this over the last couple of weeks, you’ve noticed a couple dozen minor issues that you fixed as you encountered them. Now your development work is complete, you’ve created a pull request to merge the completed feature into your main branch, ready for release – but almost all of the code changes relate to minor fixes, not the feature itself.

Read more »

Promotion Driven Development (PDD)

Saturday, May 29 2021 other-methodologies

Imagine this: You’re the manager of a development team and you normally give your developers a fair amount of autonomy. There’s a shared backlog of tasks and developers are free to select whatever they like. Your expectation is that they’ll work on a mix of bugs, features, and general product quality improvements – but you’ve noticed some of your mid-level developers are exclusively working on new features, and never on bug fixes or improving quality of existing features.

Read more »