Sometimes it feels that software projects are about checking how much you can ignore reality before things go wrong enough