Research-backed conclusions in software delivery

Decision-making in software delivery projects is often a matter of opinions and preferences motivated by personal past experiences. It’s quite rare when I see engineering decision-makers actively seek out objective research data to help them.

This article from Jonathan Hall highlights several interesting conclusions, each of which he states “is supported by one or more scientific studies on the topic of software delivery”:

  • Teams that practice continuous delivery have consistently better business outcomes.
  • Teams that don’t use GitFlow demonstrate higher performance.
  • Teams that peer review each others code produce fewer defects.
  • Teams that do TDD do not produce fewer defects.
  • Teams that have developers write their own tests have better business outcomes than teams with strictly dedicated testers.

Given the context-sensitive nature of software delivery, it’s just not feasible to rigorously test many hypotheses, but at the same time having some relatively objective data available as an input can be highly valuable to help debias our decisions.

Join daily email list

I publish short emails like this on building software with serverless on a daily-ish basis. They’re casual, easy to digest, and sometimes thought-provoking. If daily is too much, you can also join my less frequent newsletter to get updates on new longer-form articles.

    View Emails Archive

    ☎️ Serverless Clarity Call

    Need quick guidance on a specific issue on your AWS serverless project? Or just wondering where to start with serverless?

    Book a call and ask me anything.

    Learn more >>

    🛫 Serverless Launchpad

    Ready to start building your new AWS serverless project but need help with getting everything setup?

    The Serverless Launchpad is a done-for-you DevOps service installed in under a week. You get a leading-practice multi-account AWS environment, a scaffolded codebase and architecture including the common AWS serverless services, isolated cloud environments for individual developers, automated delivery pipelines right through to production and much more. Everything is IaC, extensively documented and handed over to your developers.

    Learn more >>