Communication - Do you make sure you are specific in your requirements?
When you're scoping the work to be completed, ensure you are as accurate as possible in your requirements.
"I want to keep contact details on my clients"
Figure: Bad example - likely to require later clarification
"I want to record my clients' firstname, surname, mobile phone, email address & Instant Messenger address."
Figure: Good Example - You'll get exactly what you want. Even better, use screenshots or mock-ups
One Email per Item
The best way for this to work is to break tasks into the smallest possible bite-size pieces and ensure that those pieces are in the project plan explicitly.
Sometimes software developers miss a related item that you might consider 'blindingly obvious.' For example, you might ask them to fix a combo box on one form in a legacy application. But they mightn't know about the three other forms that the same type of combo appears on. So if you also want them fixed, then let them know about them!
Get UI Changes OKed
Insist your software consultants conduct specifications by creating mock-ups.