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.

Literally every other component in your back-end systems has been written in C#, running on the .NET Stack. Much of the foundation work your team has done over the last six months has been to migrate.NET 5, with some components already successfully running on .NET 6 in your test environments. This migration has been driven both by a desire to reduce costs, by switching to Linux servers, and by a desire to position your team well for the future. In other words, you’ve doubled down on .NET as your technology stack.

Investigating, you find out that there’s no compelling business reason for the component to be written in Rust. Not much of a technical reason either. It’s just that the developer involved really wanted to learn the Rust language and related ecosystem of tooling, and they figured this work project was the best place to do that learning.

Magpie Driven Development is when you have developers who want to use something new for no better reason than it’s shiny and fun.

Examples include someone using an unexpected programming language to complete some feature work, as illustrated here; someone picking up a research paper from MIT and using the associated demonstration code as the basis for their design; or someone choosing to use a different library for a given task than the one the team has standardized on.

It’s key to recognize that MDD occurs when developers indulge purely because they want to try something new. There’s little or no benefit to the product group or the wider team, and the change is often shoehorned into place regardless of the appropriateness of the solution.

Often MDD happens covertly – and senior developers get away with this more often than juniors.

Background: The Australian Magpie is a highly intelligent bird species commonly found in both Australia and New Zealand. They’re known to be highly territorial: I have vivid memories of being attacked by the Magpies living on my grandparent’s farm. They seemed to like going for my knees. Magpies also collect shiny things for their nests.

Comments

blog comments powered by Disqus
Next Post
Gesticulation Driven Development (GDD)  24 Jul 2021
Prior Post
Sharpen The Saw - July 2021  03 Jul 2021
Related Posts
Browsers and WSL  31 Mar 2024
Factory methods and functions  05 Mar 2023
Using Constructors  27 Feb 2023
An Inconvenient API  18 Feb 2023
Method Archetypes  11 Sep 2022
A bash puzzle, solved  02 Jul 2022
A bash puzzle  25 Jun 2022
Improve your troubleshooting by aggregating errors  11 Jun 2022
Improve your troubleshooting by wrapping errors  28 May 2022
Keep your promises  14 May 2022
Archives
July 2021
2021