When I write software, I know that it will fail, either due to my own mistake, or due to some other cause.