Programmer flow is only possible when all the tests run in less than 10 seconds. Each test must run in less than a second.
Acceptance tests can run in milliseconds when you decouple your tests from the application as well as decoupling the layers of the application itself.