You have to be willing to fail, to be wrong, to look foolish.
It is easier to change the specification to fit the program than vice versa.