Programming level: smaller commits, smaller changes between running tests.
Project level: smaller tasks, experiments.
A step is too big when you no longer know or make educated guesses, but need to predict future.
‣ In science, if you know what you are doing you should not be doing it. In engineering, if you do not know what you are doing you should not be doing it.
‣: Precautionary principle