The world is so unpredictable. Things happen suddenly, unexpectedly. We want to feel we are in control of our own existence.
The most important single aspect of software development is to be clear about what you are trying to build.