What we think works vs. what actually works

July 29, 2021

Now I’m no nutritionist or physician, but I’ve done a fair amount of reading about health-related topics in the past—enough to know there are many conflicting theories about what one should eat to maintain good health:

  • Eat low-fat foods.
  • No, eat high-fat foods, but with “natural” fats.
  • Eat low-carb foods.
  • Actually carbs are fine, just avoid “processed” carbs.
  • Eat low-sodium foods.
  • No, no, sodium is fine, as long as it’s Himalayan salt.
  • Don’t drink alcohol.
  • Actually, one glass of wine per day is good for you!

Every claim is backed by multiple studies “proving” the claim is the one true claim.

But there’s one thing that practically everyone agrees on will improve your health: Exercise.

People who do exercise are practically universally healthier than those who don’t, regardless of what they eat.

In the IT field we have the same sorts of conflicting bits of advice:

  • Write short functions
  • No, write long functions
  • Microservices are great
  • Actually monoliths are easier to manage
  • Scrum is the best way to do Agile
  • No, you should really do Kanban
  • Tabs FTW
  • No, spaces

In some ways, it’s actually worse in IT, though, because most of these claims have no actual science to back them up. It’s like we’re still in the folk-medicine days of IT. We’re still debating the efficacy of animal dung ointments and bloodletting with leeches.

But there has been some science done in our field.

Despite the growing number of folk claims to the contrary, one practice that’s been proven effective1 in improving software quality is code review.

Hillel Wayne talks about this in his talk Intro to Empirical Software Engineering: What We Know We Don’t Know (notes and references here).


1 An Empirical Study of the Impact of Modern Code Review Practices on Software Quality