Here is an example of sloppy execution of a simple process. Logging into Virgin Wines and (1) the user has forgotten their password. They click the forgotten password link and (2) are invited to enter their email. They hit the reset password button and (3) the login screen appears. there is no apparent feedback that anything has happened. So the user repeats the process. It is now that they read the instructions and see that an email has been sent. (4) multiple times. What is missing from the process is any feedback, feedback that the password has been reset and a new password has been sent to the user. Only it has – (5) as a pop-up window, that because the user was visiting the site for the first time had been blocked by the browser pop-up blocker.
Clearly the requirements were correct, just the implementation was sloppy. Had the requirements been supported by wireframes, or even just a basic illustration of the screen progression (rather than just a process flow) such a usability blunder would have been avoided.