The flow doesn’t follow a sequence of steps that seem realistic for a user to take.
The flow follows a logical sequence of steps, which are appropriate for the task at hand.
The flow has been thoughtfully optimized to reduce interactions and friction where possible.
Flows have been mapped out with branches and edge-cases in mind. Flows have been reviewed for feasiblity with an appropriate technical expert (engineer, developer, etc.).