I was working on a project with two other people, one of whom wasn't putting in any effort at all. Since our modules were different, I didn't care about his work at first. After finishing my modules I went home for vacation, since I had been away from home 9 months and my vacation was a long time coming.
When I returned, the project was in its last stages and only the deployment was pending. Due to a crunch in resources I was asked to handle the whole deployment by myself. Soon after I took it up I realised how badly the project was done. For example:
Riddled with bugs.
No naming conventions, just the default names generated by the IDE.
Bizarre deployment approach.
A terribly long document riddled with grammatical errors and nonsensical language.
Soon I was putting in extra long hours trying to fix the project. The other people in the project were just citing excuses to not help. The deployment used to take 3 hours; client talks: 2 hours; trying to tell my manager - who handled it terribly - what I talked about with the client: 1.5 hours; fixing the bugs found after last deployment: rest of the hours. I was working more than 13 hours a day.
During this time, the deployment approach was changed at the behest of the client. The client also changed the requirements multiple times. This went on for almost two months, after which the project was scrapped. I was asked to write a report on causes and actions taken which of course no one else could have written.
Is there something that I could have done differently from the start or in the middle that could have improved things earlier? Could something during the deployment have been done differently?