Requirements

I saw a post the other day talking about how requirements in software projects are pointless. Those of you planning your version 1 MVP in your startup – requirements are actually VERY important. But also, the author of that post was correct in that requirements are pointless.

The logic goes that in order for someone to build software, you need to give them a list of instructions. These instructions are called “requirements”, and they’ll use those requirements to create the “code” that is the software.

(This is sort of why people say that AI will eventually be able to code, because at some fundamental level, this translation from “requirements” to “code” is all that software engineering is.)

You absolutely do need these instructions. Try commissioning software without any requirements and I’ll point you in the direction of a good insolvency practitioner.

However, it is true to say that requirements are pointless because what makes commissioning software hard is that you don’t know what you’re going to build until you’ve built it – in which case if you take what you’ve built that works and reverse engineer the requirements you will end up with a set of requirements somewhat unimaginable from those at your starting point.

This is one of the things that makes it hard for non-technology founders to commission software. Requirements are more like instructions continually sent from earth to a rocket as you try to get it to land on an asteroid, rather than a fixed set of instructions put together on Day 1.

30/Aug/2023