We've almost all been there - we have got the greatest ideas in the history of great ideas, and we'e assembled our team, partnered with Reputable Software Company™ to build your vision and everything is going great.
Right up until it isn't.
At the start of a project, a shift in company direction or whatever your undertaking may be, often there is a huge initial well of optimism. Every stakeholder is excited, on the same page, and moving forward. There is a shared vision, momentum and things feel like they are going well.
Then, after a while, things start to feel off.
That feeling of being 'off' is what I'm talking about here, particularly in the context of engaging software companies. We'll talk about warning signs, some underlying reasons of why these happen, and what you can do about it.
Many of these aren't unique to software companies. They can apply to anyone, myself included. I have done each of these things in my life, and it is a cause of shame and embarrassment when I think about them. It is one of the things that drives me to share this, and to not repeat the mistakes like these ever again.
Here is an incomplete list of things that are often warning signs of a deteriorating working relationship
- Emails are not responded to in a timely fashion, or at all
- Deadlines are missed, or not even discussed, perhaps brushed aside
- Small requests for changes are ignored
- You ask about one thing and end up talking about something completely different
- They start talking about other clients, or being extremely busy or overworked.
- What they produce isn't even close to what you are after, in terms of quality or fit for purpose.
What can be done about it?
You have a lot of options on how to react to circumstances like these, as challenging and frustrating as it can be.
Be pro-active and assertive in your communications
Don't wait. Don't wait until the next day to see what happens. Don't wait for the next build to see if they have built what you needed.
Call them, set up a video meeting, or go and physically see them (maybe not an option, thanks COVID).
And for every concern you have, follow this rough guide:
- Clearly describe what the agreed expected outcome was, in terms of functionality, quality and deadline
- Get agreement that this is the case, and what we're talking about right now.
- Seek agreement on the next steps and deadline for those get closer to meet that goal
- Set a meeting to follow up on the next steps.
- Ask what will happen if those next steps are not achieved
The premise of this is to introduce accountability and communication. If any attempt to bring up other issues - recognise the importance of that issue, note it down, and say that can be discussed at the end of the list.
After you have discussed all your issues, you will have a set of dates that you can follow up on to get direct feedback on progress.
You have to be really firm and consistent on this. It is your money, your project, and if things are going off track, and is your job to bring it back on track.
Restructure the engagement
Depending on your vendor it may be possible to rework your agreement. There are a number of things you can look at:
- Add shorter deadlines and smaller deliverables.
- Change to be outcome focused rather than pay-by-the-hour.
- Link deadlines to invoice dates/payments. Even if it is an hourly rate engagement, you can still tie invoice dates to deliverables.
Stop the engagement.
If ongoing efforts at tracking progress and outcomes all point to a big awful bag of disappointment, it is time to stop.
If your vendor isn't meeting your needs and the relationship is not delivering value, it is entirely reasonable to stop. Don't throw good money after bad. In the case of really dysfunctional relationships, you can hopefully recoup some of the lost costs.
But aren't they professionals? This shouldn't be happening in the first place, right?
You are right, this shouldn't be happening. In an ideal world, your vendor should have all their processes in place and have clear, honest and up front communication at all times.
However, look at your own company - are you going through a transition period? Do you have all your processes in place? Ever had to fix something up for a customer for free?
The hard line approach of cutting any vendor that is not delivering is a valid one. Doing your due diligence is critical in finding a vendor that works for you.
However, the approach I take with my company when engaging vendors is a little more flexible.
My view is that we're all in it together. Mistakes are actually good, so long as they are identified early, resolved and don't repeat. It means everybody gets to learn and improve.
I would much rather have helped a individual or business refine their processes, quality or technology issues. I would much rather a customer of mine partner with me in making things better for everybody.
If you are going to a restaurant and you have an outrageously poor experience, what should you do? Should you complain loudly, make a scene and demand a refund? Should you leave a 1-star Yelp review? Or should you make an appointment with the owner the next day and give some honest feedback? What do you think will produce the best outcome for all involved?
Why does this happen?
Each situation is different, but it does help have empathy towards the other part. It helps understand what is going on and can shape how you respond and manage it. I don't pretend to be a psychologist, I am as far from that as is possible. The below is just my observations and anecdotes from talking to people.
Before diving in, there is one important underlying thing to decide on. There are two broad groups of people you can work with. The first group is people with genuinely good intentions who are, or have been, trying to get you a good result. The other group of people are those that intentionally abuse trust for profit.
Here I'm only talking about people who are genuinely trying, but are not meeting your expectations.
If you are dealing with people who are intentionally abusing your trust for profit - cut that relationship immediately. They will suck you dry and burn your business to the ground for them to survive and they will not lose even a minute of sleep over it.
Emails and Deadlines
Missing or replying late to emails, and or missing deadlines or not talking about deadlines is often rooted from the same place - embarrassment and shame. Their good intentions are failing them. They desperately want a good result for you but are consistently late. Not answering emails is an irrational response and self-preservation technique. If they don't send an email, then they are not admitting things are as bad as the really, and they can breathe another day and hopefully get you something by tomorrow.
For deadlines it is very similar - don't send you an email a week before a deadline saying they'll be late, because that is admitting defeat, and the desire to do good overrides the rational and professional need to be open about communication and deadlines.
Small Changes being Ignored
When small changes in your product are ignored, often it is an indication of either unclear priorities, the vendor being under-resourced or perhaps they have taken on something outside of their capability. In the latter case, often resources are put on the critical tasks that have already been promised and there is little to no room for work perceived as small and less important.
It is really easy for a vendor to be optimistic at a pre-planning or quoting stage. Their engineers are excited and optimistic, the managers are optimistic, and you're optimistic. It's a dangerous place to be.
It often goes like this in three distinct conversations.
You (the customer): "So we're thinking we need to have some sort of AI that can write some of our emails for us"
Vendor: "I'll make a note of that and we'll discuss it internally and let you know, okay?"
Sales: "So the customers is wondering if we can have an AI that can help write some emails?"
Engineer: "I read this cool research paper that did exactly that, we can probably do it!"
Vendor: Our engineer team is confident that can integrate that AI for email authoring.
Mentioning Other Customers
If the vendor starts mentioning their other customers, it can feel really off putting. Imagine you are in a restaurant, and you see a large family gathering beside you order before you. When you are informed your meals may be delayed because of the large party, you can accept the delay. It's not ideal, and you might have to wait 15 minutes longer that you thought, but so what, it's only 15 minutes. However, if the software company you've engage with, who you are paying many thousands of dollars, starts bringing up other customers, oh man, you quite rightly feel annoyed, slighted, and unimportant.
So why do vendors do this?
Often it is because they are trying to explain delays and build empathy with you, they are just doing it REALLY poorly. Scheduling resources in a software company is hard, and managing cash flow is hard, and they are using these genuine problems and using an attitude of openness and honestly they are communicating it.
Be the example
Overall the guiding principle is to set the example of how you want things to be. Be as professional as you can, flexible, but protect your business. Your business is your own and you have obligations to your staff, yourself and you family. But if you have the capacity to help a vendor improve and be better - I'd recommend taking it.