If you're looking for a new way to drive your software development, then look no further. Tests, Behaviours, Models and Types have had their day and modern developers are now allowing Music to take the wheel.
If you can't test and code your solution while listening to some background music, you haven't found the right solution. Hit pause, think harder, then try again.
Music driven development (MDD) is built on two established principles:
- If you can't explain it simply, you don't understand it well enough
- Anyone can come up with a complex solution to a simple problem, but good engineers come up with simple solutions to complex problems
Whatever problem we're solving with software, we should only proceed when we've found a solution that's simple to understand, explain to others, and code. Remember that your code explains to others how you've solved a problem, and to be maintainable it must do so in a simple way.
It can be difficult to find the right solution. It can require focus, deep concentration, and the removal of all distractions, including music. However, when you find the right solution, testing and coding it should be relatively easy, and leave enough cognitive headroom to listen to some tunes.
Said another way, if the process of implementing a feature requires deep concentration from conception, through implementation to commit, then it will be too difficult for others (or yourself) to understand in the future when it needs to be maintained. If you ensure that testing and implementation can be carried out with some brain power to spare, then you ensure your implementation can be understood and maintained by others at a later time.
Experienced MDD practitioners know the play and pause hot keys as well as their refactoring shortcuts. At the advance level they'll even control the volume habitually so as to stay in the flow at all times.
As with many breakthroughs, MDD isn't a new invention but rather the formalisation of something that's existed in the industry for years. A glance around Instil HQ confirms the absence of earbuds indicates only the presence of headphones. Tastes vary (when it comes to the interns we're not sure if "music" is the right word), different genres work for different people and you can even find music specifically designed to make you more productive.
So, let The Answer show you the answer, let Poco guide your POCOs, and let Music Driven Development keep your code on the right track.