What do we know about software development?

Created: 22 Jan 2012

Just over thirteen years ago I finished an undergraduate degree in Physics and started working as a systems administrator. One of the tenets of science that I left behind was that claims require evidence. Robust evidence originates from repeatable, robustly designed experiments.

Thinking back over the hundreds of occasions when someone has suggested using a new technology, technique or process I can think of fewer than five occasions when that suggestion was backed up by robust evidence. This is a pretty awful state of affairs; I call myself an engineer and yet I make the majority of decisions based on little more than anecdote, intuition and poorly controlled experimentation.

Towards the end of last year, a colleague sent around a link to a talk [video slides] given by Greg Wilson at CUSEC. It’s called Bits of Evidence: What we actually know about software development and why we believe it’s true. It’s about an hour long and outlines some areas where evidence exists and what it seems to mean.

I’m currently reading Making Software, the book mentioned in the talk. Almost every chapter has caused me to discard some folklore or has explained some of my previous experiences and intuitions. Most importantly, it’s given me some hope that as an industry we can move on from anecdote-based engineering to evidence-based engineering.

I made a list of the publications that are mentioned in the talk; some are time consuming to track down, especially if you don’t have much experience in using academic search engines.