The first thing you do when you design software is make sure the job needs to be done at all.