Follow @RoyOsherove on Twitter

I screwed up with a client. Here's what I've learned.

Several days ago I finished a very angry phone call from one of my clients. They were letting me know how disappointed they were in me for letting them down, and how I just cost them a whole bunch of money and time for nothing.

They were right. I screwed up.

I’ve been running my own little business for over two years now. I’ve had ups and downs, and I’ve learned plenty by just trying to do things, but an angry client who I’ve completely let down is something that I never faced until this week.

So, I’m writing this down to, first, flush out my feelings and thoughts about what happened, so that I can learn from it, and to share stuff that you might want to avoid when you deal with your own clients.

I’ve already done work for this client over a year ago, doing a TDD class for their employees, and doing some coaching afterwards. They were pretty happy, and since then have begun doing Agile development in many ways, including daily builds and unit tests.

A couple months ago they called me up and wanted to talk about making an overall plan to teach TDD to new employees, and order a whole bunch of coaching hours from me (150+ hours for me– that’s a lot in one order!). We began negotiating the payments and were heading in the right direction, including creating a lesson and coaching plan.

It’s important to say that in the past few months I’ve been getting busier and busier. I’ve taken on a new role at Sela, heading off the Team System Area there, and have several clients I tend to on a weekly or bi-weekly basis. Add to that a baby that’s on the way (we’re due this month!) and you’ve got yourself a schedule, bub.

All that busy schedule didn’t stop me from letting my client think that I can easily insert 150+ hours plus a 3 day course in the course on the next 2-4 months. By "letting them think" I mean I didn't tell them I couldn't do it.

 I’m not really sure why. In some respects, I was trying to be really optimistic about this, and I let my mind concentrate on the financial aspect of the deal, rather than make sure I can actually go through with it. It didn’t even occur to me that I may not have enough time resources to do this.

And so, the client and I were just about to finish our final signing of the deal. I was home, It was late at night, and I had only one last document that I needed to send my client to finalize the deal. 

Then I looked at my calendar. Really hard.

The more I looked I realized that there is no way in hell that I can make my client happy without crashing down practically everything else in my life that’s scheduled. Crap. So I sat down and wrote an email saying something like this:

“Before we sign this deal, I just want to make sure that you realize the time constraints that I am under. I can only provide X days per X weeks, Starting from Date Z. Let me know that this is OK with you and we’ll finalize this”. At the time I thought I was the right thing to do (and it was, but the timing was off by more than a month!)

The next day I get a call from my client. “Um, Roy?” he said hesitantly, as if there was still a chance he may have gotten a misdirected email, or that it was all a big joke. “Can you please explain to me what you wrote?”

I did. And then he calmly explained to me that what I just did was a very bad way of doing business. That I cannot draw people on at the last moment and then let them know there is a problem. That they’ve already allocated a budget for this and now there’s no real way to turn that budget into something else. That the document I was about to sign was merely a formality – they’ve already started planning the dates for the week after that (the course was to be schedule that month). that the current availability I was offering was far from what they need and expect. That I had screwed up big time.

I had nothing smart to say. So I listened and listened ,and apologized over an over. “How can I fix this?” I asked, but there was no easy way. Talk about a stupid question. I even tried to ring up my colleague who helps me with these courses and asked him if he could help put out the fire on this, share the time at the client with me.

Before that I asked the client if he’s be willing to meet my colleague and discuss adding him to the mix to help. That might have solved it. But my colleague didn’t have the resources available either. I had to tell the client the next day that this simply isn’t going to happen. We finished that phone call on a very unhappy note. They haven’t called back since, and the feeling is, they won’t.

So here’s what I did – I took an existing happy customer, and made him very unhappy, enough to make other customers not use my services because I was very unprofessional in the way I handled myself with them.

Since this is the first time this has happened to me, the only thing left to do now is try to learn from that (oh so) big mistake, thus make sure that it will also be the last time this mistake happens.

What lessons have I learned?

  • Not saying something to your client is saying something as well. I didn’t say that my schedule is packed when I just began because I was thinking too much about my own interests, but I ended up hurting everyone by not talking about it as early as possible.
  • Managing risks should be part of any customer negotiation – I could have made a simple list of things that could go wrong with the work I was asked to do when we just started talking about it. It should have been a conscious act by me to try and see any possible problems of the work I will be doing with that customer. I didn’t – so It was easier for me to “ignore” any red flags that popped up whenever I opened my calendar.
  • You can’t say “yes” to everything. It’s better to have a few happy customers than many unsatisfied ones. I was on the verge of going from the first to the second. I need to learn to say “no” when I can’t, or to say that I can only do this at a much later date. And I need to learn to say it as early as possible.
  • If you find you’re spread too thin, the only way to get more work is to get more people to do the work for you. I don’t have many people who can help me with what I do. It’s unfortunate. Good people with knowledge of methodology are really hard to find. This is something I am still struggling with.


Why am I posting this?

It may seem weird that I’m posting this kind of thing on a blog, where potential customers can actually read this, so let me explain why I’ve decided to do so:

  • This blog has a very big part in helping me get to where I am and do well in the job I love. It was meant to be a way to vent things out, and I intend to keep it that way. It’s not meant to me a “marketing” blog. It’s my life. It’s only fair that you get to read about the screwups as well as the things that go well.
  • You learn the most from screwing up. By writing this and making it public I’m claiming responsibility and maybe someone else can learn from my mistakes.
  • If you’re a customer(or even that customer), I’m also in a way trying to show that I plan for this to be the last time I make those mistakes. Yes, I’ll make other mistakes, but I’ll try to make sure each mistake I make only happens once..
  • I’m an ego maniac and I think you all find an interest in the private and professional life of a geek who lives far away from you, in Israel.

What other lessons should I learn from this experience?

BSDAgile - Team System Project Template for Extreme Programming

How bad design can scare your children