Bird Stream

Entrepreneurship, development and (sometimes) cycling, often simultaneously, mainly in Nottingham

How to Specify a Software Project

There are three variables in software projects Time, Scope, Quality. You can only choose to control two of them. The approach I would take to project specification is

  1. Build up list of requirements
  2. Put those requirements in priority order
  3. Review that list and decide the key value points along that list

Have a discussion with developer(s) around how much time/money they estimate it would take to get to various points on the list. Agree to work together to deliver the first value point

Building software is not a repeatable process. It is a complex interaction of varying inputs and demands. Accept that

a) you don’t actually know what you want until you actually try and deliver it

b) the developers won’t actually know how long it will take until they actually try and deliver it

Worth a read