I've been working on a project for the past six months at a client site, since they require data confidentiality and didn't want us to work at our own office.
When I showed up alone to this client site, I was told that I needed to finish the project in two months.
Since the client is not a software company, and because of various policies, it took around 20-25 days just to give me rights on my machine to install stuff like Eclipse, Tomcat, etc. Even after the delay in getting the environment setup, they were still expecting me to complete the project in the same two month period.
They did not give me any requirement documents, but since I'm working at the client site, we used to have meeting regularly to discuss the requirements.
After six months the application is still not finished, and everyone is blaming me, but they fail to realize that we have added many more features than those discussed in the first few meetings.
I've had to redo many things during this period, e.g. separate a form into two sections; a few weeks later, they asked me to merge the two forms again as it's confusing, and so on.
The scope of the application is increasing every day but they still think it's a two month project that got delayed. When I told them that scope has increased they ask why I didn't ask for requirements at the beginning.
I already work 11-12 hours everyday and travel 3-4 hours, and now they expect me to come on Saturdays also.
I have to do everything here: take requirements, design, code and test.
Please advise me what to do in such a case?
Additional details: We did have a list of deliverables, but then they added a few more things to it saying these are also important. They also changed a few deliverables. They don't even have their UAT server, they test on my development machine itself via its IP address.