Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: A contract project has exploded in size. What should I do?
11 points by teclys on April 24, 2013 | hide | past | favorite | 4 comments
I'm currently working on an application for a company, a project which involves interacting with their mid-sized API. The application is a port of their existing iOS application. When I gave them an initial estimate for this project, it was based on two assumptions:

1. The API would be documented. 2. The iOS source would be reasonably well constructed.

Having received access to both the API and the iOS source, neither of these assumptions have proved true.

The API is barely documented, there are redundant methods (with some deprecated or discontinued, but not mentioned), data is repeated across models without any reason, and worst of all most calls return silently without any indication of success or failure.

The iOS application is the result of several years of low-budget contractors throwing together code. None of it is commented, there is code duplication all over the place, and it aids very little in the construction of the Android application.

Because of this, it now looks like building an API client alone will take me almost as long as the original project estimate. Further complicating things is that I start a new job at the end of the month (the original project would have been finished much before my start date), but now there's no way I can get the whole application done before that date.

I'm not sure what to do. I don't want to simply throw away the weeks of work I've performed for nothing, but I also don't see a way to finish the entire application before my start date.

I'm sorry for the size of this. I'm just not sure what to do. Does anyone have any advice?




Well, it may be late to talk about this point now, but you should build protections against this sort of thing into the contract, so you have defined adjustments to the terms if certain assumptions prove false (or change). In this case, I'm guessing you don't have that, so you have a couple of choices.

1. Sit down with the customer, explain the situation to them, and tell them that you need to ask for more money in order to complete the project. If they agree, use the extra money to subcontract the project out.

2. Find somebody else who would be interested in taking over the contract (preferably somebody you know, trust and have a relationship with) and then sit down with the customer, explain the situation and say that you'd like to negotiate a hand-off to the new supplier, who is better equipped to handle the project.

3. Go buy 10 cases of Red Bull, get some tooth-picks to prop your eyelids open, and work straight through and get 'er done.

4. Sit down with the customer, explain the situation and offer to deliver what you have, for a pro-rated portion of the original price.

5. Sue the customer.

6. Cancel the project outright, eat the loss and chalk it up as a learning experience. Next project, make sure you have a contract that features a change management process, opt-out clauses, incremental delivery (and payment), etc., to protect you from getting burned (that is, assuming you don't have those things now).

Note that option (5) above is totally a joke, and (3) is probably not recommended. I like (2) best, if you can pull all the pieces together. That way you preserve a positive relationship with the customer, and potentially enhance relationship with whoever you hand the work off to.


What does your contract with them state happens when they don't live up to the terms of the agreement?

That's what this is. The agreement was that they would provide a documented API and a well-constructed iOS app, and you would build an Android app, right?

So now that they haven't provided at least one of those, that's a breach of contract. What does your contract say happens?

Mine say if the scope of work changed by more than 10%, work stops and the contract needs to be renegotiated. If they don't meet their deadlines, work stops and the contract needs to be renegotiated. If something outside of my control occurs (users not showing up for feedback sessions or something) to the degree that it materially affects my work, work stops and the contract is renegotiated.

Sometimes that renegotiation is just a couple of phone calls and an updated statement of work.

Sometimes we kill the job and they pay their kill fee and we both walk away.

What's your contract say?


F*ck You, Pay Me - http://vimeo.com/22053820

Watch it. Learn from it. And be a professional.

Do you have a contract? If so, does it cover this type of situation? Either way, go chat with a lawyer.

Here's my IANAL advice. I'll run under the assumption that you don't have a contract. Get out! There is no way to exit this situation without having a very angry client. But, if you haven't accepted any payment yet, deliver all of your diligence, along with a list of a few, reputable contractors to take over the work, and forego payment.

If you do have a contract, things could get a little hairy.


Did you cover those assumptions with the client? If so, talk to them. See where things land. Maybe you can document what they do have and some of the prototpye code and code clean up suggestions. Which can be provided to someone else that can do the job.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: