How to negotiate a software development deal
Thursday, July 30, 2015
Arranging a deal when it comes to software development can be tricky. I’ve seen a lot of software dev deals that went wrong because of poorly defined responsibilities and scope of negotiations. Developers often don’t know what their area of negotiation is, or just assume that you don’t exactly need to define it.
I’ve been asked a lot about one very specific, common problem – setting up a software development deal (might also regard marketers, lawyers, consultants or content developers). We’ll see what you can do to reach a mutually beneficial contract.
In general, proper negotiations happen when both sides are prepared, correctly define the scope of the deal, and know their priorities.
Preparation makes things easier
Below this paragraph you’ll see a list of issues that should be discussed during negotiations. How should you approach it?
- Answer the questions
- Write down what’s most important to your company. Those will be the only aspects that you’ll defend as if your life depended on it (sometimes it actually does). For instance, you may need payment in advance because you have cash-flow issues.
- Try answering the questions for the person you’re negotiating with. If there are financial problems at their company, they’ll probably want to lower the price. They might be raising money and need to put off the due date of the payment.
The third part will require some research. Learning about the other side will help you pin-point their priorities, which will help close a win-win deal.
This provides a basis for hypotheses about their strategy, which you will validate at the negotiation table.
Setting up a contract
Enough introduction, let’s get to the core. Check out the list, all the important issues are here, so you won’t have to constantly remind yourself of them.
- Terms of payment
- Will the client pay anything in advance?
- If so, what’s the size of the advance?
- When will the advance be due?
- How much time passes until you issue an invoice?
- What events trigger issuing an invoice? (first of the month, after the deal is signed, when the project is ready?)
- When will the main payment be due?
- Are you going to add interest (and how much?) for exceeding the due date of advance/main payment?
- When should you deliver the service/product?
- What if there’s no contact with the client after finishing the project and before reception? It’s seen as delivered after 5 days with no reply?
- Are there going to be penalties for missing deadlines?
- Which deadlines? How big the penalty? How will it be invoiced?
- Fixed price? (payment for the whole project)
- Time and materials price? (payment for costs and hours spent on a project)
- What currency will be used to settle the payment?
- How much will they actually have to pay you?
- Range and additional services
- What is the full range of services you can offer?
- Partial reception or full reception?
- Are you going to offer additional services?
- Will they be included in the price, or paid for separately?
- What additional services can you offer?
- Are you going to offer a framework agreement for additional hours?
- If not – what if additional hours will be necessary?
- Should additional hours be at a preferential price?
- What technologies / methodologies are going to be used in your process?
- General issues
- What should be the localization of a lawsuit, if there is one?
- Based on which country’s law will it be processed?
- Is there a limit to potential claims? If yes, what is it?
- Will the client finance the deal through outside financing, like VC (venture capital) money, leasing or European Union funds?
- Who is granted the copyright to the final product?
- Are there 3rd parties involved? What are their obligations?
- Warantee, servicing
- Will you offer a time period in which you’ll provide fixes for any bugs?
- If you are, how fast will you fix them?
- For how long are you going to offer a warantee?
- What’s the range of the fixes you offer?
- Will you use an SLA? (Not sure what it is? I answered this question on Quora)
- Client obligations
- Should they pay for a developer’s time, if the client is running late for a meeting?
- What does the client deliver before and during the project?
- Is the project deadline extended if the client doesn’t deliver resources on time?
- Is it going to be necessary?
- How much time should be set aside for it?
- What’s the length of the maintenance deal?
- What’s the hourly payment rate?
- Additional benefits
- “I’ll be more willing to give a discount, if you buy 3 things instead of 1.” Based on what they buy, will you give a discount?
- If not a discount, maybe offer more value at the same price? (eg. throw in a few hours of training)
- In exchange for prefential terms, could the client referr you to other, similar companies?
- Can you brag about the deal with a case study or press note?
- Can you count on a testimonial or references?
- Are they up for cross-promotion (a webinar/special event?) (for instance, two polish start-ups – Prowly (PR app) and iTaxi (kinda polish Uber), did a campaign together where they offered free courses around Warsaw for PR specialists, during which Prowly’s app was presented)
- Does the client pay for the time devoted to communicate?
- Do they settle any potential costs of transportation and hotels?
- What tools with both sides use to communicate and measure/document the progress?
Once you have your answers, a lot of room for leverage opens up. I have a few categories to put issues into, which helps me know what I can give up to sweeten the deal later on. I recommend to divide them into:
A. Issues they care about that are irrelevant to you
You wouldn’t mind giving them up. Once you loose momentum during negotiations, giving those up can help you gain speed again.
B. Issues they don’t care about that are your priorities
You want to secure these first to gain momentum and score a few points at the start. Once this low hanging fruit is yours, you will be much more flexible when negotiating things that are harder to agree on.
C. Issues both parties care about
They will take up most of the negotiations. Look for a compromise. Try to be flexible – the more B-type issues you secure, the more flexibility you will have. To allow the other side similar flexibility, trade in A-type issues if they’re willing to give something else up.
There’s much to consider
But a proper contract that covers all basic aspects makes things very easy (make sure your team is on the same page!). Now a practical excercise:
From these two clients, which one would get a better price per hour at your company?
- John, who needs 4 devs for a 6-month project, pays half in advance, wants 14 days to pay after 5 stages of development (5 partial receptions). Plus he buys a maximum service plan, 80 hours of maintenance and wants an SLA, paid in advance every month.
- Chris, who need 4 devs for a 6 month project, expects 60 days for a payment and an invoice 14 days after he accepts the whole project. SLA and maintenance are not a part of the deal, but he “might think about it when the project is over”.
John gets the better price. Obvious, isn’t it? And that’s the takeaway too. If someone is willing to give you what you need – why shouldn’t you give back?
This is a blueprint that you can print (if you prefer a spreadsheet version, click here) and answer each question for yourself. It will take you less than 10 minutes. Ideally your client could do the same, so that you can compare them later on.
What would be the perfect scenario? Which points can you easily sacrifice, and what’s going to be hard to let go? Which are crucial enough that without them there will be no deal?
Remember to be careful, not to risk a “death by a thousand cuts”. What I mean is, the main issues may be settled, but you’ve made so many little sacrifices that doing the project doesn’t make sense anymore.
PS. Don’t forget to comment. If you’re having trouble negotiating a deal, drop me a line straight at firstname.lastname@example.org and maybe I’ll be able to help.