Part of your responsibility as a consultant (I presume) is managing your client and his expectations. As a professional developer, the onus is on you to set the standard operating procedure when relating with clients. When I relate with a client I set the following minimum
- A project scope
- A document defining a project scope
- Delivery timelines
- An agreed communication route
- Use of Change request document
The last two, I believe apply to you in this case. Your means of communication with your client as it is now, can be construed as unprofessional. I can't think of a situation that will afford a client the opportunity to bark requests at me; Be it email or in person. This is the situation that informal communication channels will breed.
A Change request document that we'll both sign off on is mandatory, before I go back to my keyboard. It appears to me, that with your client, that ship has sailed. It appears to me that you've lost political capital with your client, and they might be less inclined to adhere to further communication guidelines set forth by yourself. You've set a precedent of being unnecessarily flexible, and now, it's haunting you
In an ideal situation, there should be a Change Request Document that states exactly what the requirements are. This document will
- Itemise what your client expects of you
- Cause your client to think deeper and better about what exactly they want
- Cause your client to express himself better, in a structured, concise manner
- Cause you both to dialogue on the change request and come to an agreement before pressing forward.
Only when you've obtained a signoff on the Change Request should you proceed.
Try this article on for your next engagement.
Look at a sample change request document