Series: Recovery in software development is lacking – Maximum Recoverable Volume (MRV)

In this post I’ll take a look what we can learn from the concept of MRV in strength sports when we apply it to software development. The theory from MRV can be found in the book “The Scientific Principles of Strength Training” and this is the source I’ll use.

MRV in strength training explained

For every individual who does strength sports there exists an optimum of what they can do, this is what we call the Maximum Recoverable Volume. “MRV is the maximum volume of training a lifter can perform, recover from, and benefit from” (page 76 of the book). To put that into extremely simplistic terms: if you do too little per training session, you will recover easily but your lifts will not improve whereas if you do more than you can handle you will not recover well (and ironically, your fitness will likely not improve too).

Total beginners will improve even if they do very little, but this phase doesn’t last long. Anyone who trains seriously subscribes to the idea of voluntary hardship. In order to get stronger you will have to train effectively and this is going to feel tough and be tough. This is why most people in the gym are just messing around on the machines with little weight and no well thought out plan, I think they don’t like the idea of voluntary hardship. But realistically, it’s impossible to truly improve your fitness without this (I 100% blame influencers and fitness magazines for false ideas like “get six pack abs in 10 days” and other lies. Getting fit takes a lot of work and it takes a long time). I don’t mean to diminish what most people do in the gym, but I wouldn’t call it training, it’s more like “moving the body”. Moving your body is good and useful for your general health, but you won’t get really strong or truly fit this way.

Here’s another piece of irony in strength training for you: beginners can take on way more volume than advanced lifters. This is a good time to explain the concept of volume in strength training. You have to look at volume and intensity together. A beginner can handle a lot of volume (repetitions per exercise) because the intensity (weight on the bar) is very low for them. It’s way easier to squat 20 times with an empty barbell (20 kg) on your back than it is to squat with a heavily loaded barbell 20 times. The higher the weight gets (and it will, if you train seriously), the intensity goes up and the training will be harder to recover from. Advanced lifters have to train at high weights if they want to keep improving, but they can’t handle a constant high volume. That would impede recovery, risk injury and mentally it’s just not feasible. It’s very tough to explain to someone who doesn’t do strength training how intimidating a high weight on the barbell can be while knowing you want to do it in order to get stronger. That is voluntary hardship.

Volume and intensity are in constant flux when you are strength training, this is because of periodisation. Strength training is best done in cycles of a couple of weeks. Example of a strength cycle: In week 1, volume is highest (more sets of repetitions per exercise) and as the weeks go by the volume decreases but the intensity goes up (more weight on the bar, but less sets per exercise). Then, after let’s say 4 weeks, you end this cycle of training and you take a week of deload: volume and intensity both are way down for that week so your body has a chance to recover more. You then start a new cycle, but if all went well you have increased your strength and you can start at a higher weight per exercise compared to the last training cycle. Please bear in mind that this explanation is a simplified version of how it truly works, but I can’t get too bogged down in details or I’m writing the book “The Scientific Principles of Strength Training According to Maaike, Who the Fuck Does She Think She Is?!”.

Ideally, you want to train just below your MRV all the time. You don’t want to do too little because that would leave strength gains on the table, but you don’t want to do too much because fatigue would become unmanageable. It’s not easy to find out your MRV and it’s not a static thing. If you have crappy sleep, crappy nutrition or you drank too much beer, your MRV will be lower. This is what I like about it as well, you get a feel for it the more lifting experience you have, and you appreciate that not it’s not the same every day.

MRV in Software Development

Knowing that MRV is different per individual, can vary per day, can vary because of external circumstances, you can probably begin to guess where we might run into trouble when we apply the concept of MRV to software development.

The way most teams have to work is by not taking it into account at all. It’s mostly just ignored. If you feel bad, take a sick day or don’t, but working 2 hours and considering that “a day” isn’t acceptable. Why? We pretend the way people work is static at best, and at worst you work for a company where they try to squeeze out as much “productivity” as possible by tracking the movements your make on your computer, setting targets you have to meet, etc.

I’ll keep it personal here, but I feel like my MRV at work is lower than most people. If my day is riddled with meetings and a lot of high intensity interactions with other people, it’s tough on me. I’m easily mentally tired and taxed (introvert). I prefer days where I have some hours by myself, working on something I can do by myself. Pair programming is fine too, because it’s focussed work with just one other person. Before the pandemic I was working in an open office environment and the inputs I had to deal with were killing: so many sounds, so many interruptions. Working from home has significantly improved my MRV because there are less sounds and less interruptions. “Less interruptions, what about chat interruptions?!”, I hear you think. Well, turning off notifications is a possibility, I’ll say. As long as people know you’re not one to respond to everything at once, they won’t expect it from you (Pavlov the fuck out of them!).

If I’m truly honest, an 8 hour work day seems too long for me. For some reason, 4-6 hours of truly focused work is about as much as I can manage. It might be different for you. Mentally concentrating is the “intensity” of software development work and my MRV caps at 6 hours on a truly good day, 4 hours on a more realistic average day. Maybe this is why in so many environments I’ve worked in, meetings seemed to be used as a filler? I’ve seen a rare person or two who could truly work for 8 hours at a time, but in my experience most people cap out at 4-6 hours and they fill the rest of their day with getting coffee with colleagues, answering e-mails, meetings and what have you. They have reached their MRV.

So what is the “volume” in our work? Maybe the volume is just the fact that we are supposed to be working for 8 hours a day.

I would LOVE for our work to truly become more flexible, to take into account the MRV of individuals. Why are we so often forced to work for 8 hours, a fixed volume that’s a widely accepted dogma of office work? If you have a shitty day because of personal reasons (health, stress, you name it) and your MRV is low, why isn’t it accepted in a traditional work setting that you sign off after 2 hours of good work and call it a day? Why do you have be pretending to work for the other 6 hours?

In stead of 8 hours of fixed volume it would be way nicer if people can decide what they can handle per day. If you had a good day and did 6 hours of focused work and feel done and accomplished, that you can then decide to sign off? Or if you feel terrible, but you gave it your all for 2 hours and are then utterly tired and done, you also sign off without feeling guilty? That would be my utopia. I’m just afraid that many people would find this idea outrageous.

In the next post I’ll take a look at why people’s MRV can differ: this is called “fatigue management” in strength training. Now that I’ve written this whole post, it would have been a good idea to talk about fatigue management first but fuck it: sunken cost fallacy, baby!

If you can, please let me know what you think of this. What is your MRV at work? Do you like the fixed volume of 8 hours per working day that exists in most traditional office environments?

1 thought on “Series: Recovery in software development is lacking – Maximum Recoverable Volume (MRV)

Leave a Reply

Your email address will not be published. Required fields are marked *