A while back I wrote Build versus buy, which discussed evaluating vendor tools against building in-house solutions. A short summary of that piece is that I think most companies should use more vendor tooling. That said, I think rather than advice on how to select vendor tools, for most engineers an even more helpful topic is renegotiating an expiring contracts their organization already has.
In a large, established company, you’ll have a vendor management or procurement team who you can partner with on the negotiation, and they’ll generally conduct a very deliberate job of getting to a favorable deal. Depending on the size of contract, they may run a process with multiple competing vendors, and it’ll generally take some time to get it resolved. However, if you’re at a small company, you can easily walk into work one day and realize you need to renegotiate a contract before it expires in two weeks. You may have effectively no support in the negotiation, which can be pretty intimidating if you’re an engineer or engineering manager going into a negotiation for the first time without any structure.
Vendors generally only value a few things from you:
- Money, preferably guaranteed
- A long-term commitment, preferably exclusive
- Help meeting their internal goals, including hitting their quarterly quotas and buying higher-margin services (ever wonder why they’d rather reduce the total price than remove that training fee?)
- Sometimes timing of payments, for example a small company with a capital intensive business will really value upfront payment over on-demand payment
- Sometimes co-marketing, if you’d help appeal to their future customers or investors
On the other hand, generally what you want from vendors as you renegotiate deals is:
- A volume-based discount so that as you spend more, their rates should decrease. You should never pay the same rate as your spend increases unless you’re confident you’ve negotiated the vendor’s margin away in a previous round and that they haven’t subsequently improved their margins
- A commitment length that aligns with your potential timeline to consider other vendors. If you’re confident you won’t reconsider within two years, then maybe two years is fine. Generally contracts longer than one year should be undertaken with due care
- Discount based on service and delivery issues during the previous contract. If they had frequent outages, this should be reflected in the contract to some extent, in the sense of pricing in that risk. You should never frame this around the actual contract commitments, almost all software SLAs commitments are very generous to the provider, but instead around the harm and inconvenience you’ve experienced due to their incidents
The general approach I would recommend is:
- Align with internal users of the vendor that you should continue paying for it. A surprising number of vendors stop getting used without anyone really recognizing it
- Align with internal users of the vendor on any major issues you’re having with them. Maybe it’s API instability, rate limits, slow responses, etc. The renegotiation process is the only time you have real leverage to get these addressed
- Before you go into your first discussion with the vendor, talk through the negotiation game plan with whoever is going to sign the contract. Always have a plan!
- In particular, figure out the volume discount and any poor service discounts you want
- Go into the first negotiation and work to get good numbers according to that discussion. Emphasize that you’re taking the lead on the contract
- Once you get written numbers back from the vendor, then shift the negotiation to the contract signer, and say that regrettably they’ve taken over the negotiation from you
- Have the contract signer push the vendor a bit more on pricing
- Sign the contract
This is not the most effective negotiation strategy by any means, but it’s reliable, doesn’t take much time, and will always save you a decent chunk of money. As you do more of these, you’ll get more nuanced on your approach and will find ways to drive deeper discounts, but don’t worry about that too much on your first contract negotiation: get a reasonable win, and then move on. The opportunity cost of spending too much time on contract negotiation is high if you’re an engineer or engineering manager, just as the financial cost of spending no time on contract negotiation is quite high as well.
Note that this is also a bit different than how you’d approach the initial contract and negotiation with a vendor, which is actually a much less frequent process since you tend to renew contracts annual and only negotiate an initial contract once.