We began working with an outsourcing company in India 9 months ago on a large web project. Despite lots of rough edges, it seemed like they were making good progress in terms of completing tasks, and they kept assuring us that everything would be cleaned up by the completion deadline. The project was originally scheduled for 6 months, but now 9 months later they're still working on it. The main issue we're having is that the coding seems to have been done haphazardly/sloppily by people who were advertised as "senior developers" to us, but in reality, probably have an entry level skillset.
A small sampling of the many, many, problems we're running into:
- Pages frequently have random errors.
- When "Save" buttons are clicked, sometimes a few fields won't have their data saved.
- Basic, industry standard functionality doesn't work appropriately. Ex: There's a situation when the full login page is loaded within a placeholder on a parent page - lots of things like this.
- Outward facing pages as well as code are littered with spelling mistakes and naming inconsistencies.
- When you navigate to a page that requires you to be logged in, you're redirected to a login page, but after logging in, you're not redirected back to the page you came from.
- When filling out a form, doing something like uploading a file causes a page refresh that wipes out all the user entered data.
- Etc., etc. Literally hundreds of items like this.
It feels like death from 1,000 cuts. On literally every single page there are numerous small mistakes - mistakes that are trivial on their own, but when combined, create a completely unusable project. If it were just a few dozen items, we could fix them ourselves, but it seems like the whole project is being held up on toothpicks.
We've learned a lot, and if we could go back to the beginning, there's a lot we'd do differently - things like interviewing and hand-picking developers, creating smaller, more manageable scopes for deliverables, having a better plan to pull out if necessary, etc. But it's too late for that now, and we've already paid them 2/3 of the money we agreed on.
What we've tried (or thought to try) so far:
We've though about asking for the developers to be replaced, but I don't know how long it would take for new ones to get up to speed over the ones who've been on the project for 9 months, or if they would even be any better.
We've created detailed lists of all the specific problems that need to be addressed, and they keep telling us they'll fix everything, but instead, they'll fix maybe 10% of the items and tell us everything is finished and working.
We asked them to put an emphasis on quality assurance, and they responded by telling us they added two QA resources to the project, but since then, we've seen no improvement.
We've had multiple meetings where the focus was 100% on how the pages need to be brought up to a "production-ready standard," with all code paths being thoroughly tested, all items from the requirement agreement implemented, and all documented problems resolved, making it very clear that we would not sign off on anything until this was all completed to a satisfactory level. Their response is always that they'll take care of everything, then weeks go by, and we find little was actually done to move the project forward.
Given the bad situation we're in (being in deep - 9 months - with 2/3 of the money already paid), and developers who can't seem to program a single page that doesn't have an error in almost every code path, is there anything that can be done to get the project back on track? Our approach of "here's what needs to be done, do it" and "here are the problems, fix them," doesn't seem to be working.