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.

Related:

Contra:

References

‣ 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