Inevitably in your career, a project will go sour and you will need to transition out of a project. You can go down easy or hard when this happens. Here are some tips from someone working this out right now:
1. Don’t take it personally. Don’t be self-righteous. If you do, you will hurt your reputation and create more stress than you need to create. For instance, I know one developer who actually requested a formal apology as part of a transition settlement, which perhaps made sense to him at the time, but made him look kind of immature and naive as well. Just suck it up, be professional, and work towards an amicable settlement.
2. Get what you are owed. Go to the contract. If the contract states that the client owes you money, get that money. Be sure to have a clause in any termination agreement about how you get paid, what you have to do, and when you get paid. If you can, get paid up front.
3. Get a formal closing agreement in writing. Everything should be in writing.
4. Offer a warranty. One developer did this in a situation, and it made a difference in building trust and solidifying the relationship. The warranty specified that the developer would fix any existing or newly discovered bugs or issues.
5. Your client owns any code, unless you have specified otherwise. Be professional about this.
6. Get a mutual indemnification clause, so that you are covered legally.
7. If you have the cajones to do this, ask for a reference letter as part of the final agreement. The developer in #4 did this, and we went with it, just to get the settlement done and move forward. You never know.
What am I missing here?