Ask HN: Client not happy after software consulting, what to do?

21 points by throwconsultant 5 years ago

Hi Everyone,

Posting on a throwaway for anonymity.

I recently finished a 3 week engagement with a client. Everyone was happy when I was working there and I did not feel like I was the lagging person and we reached the deadline, but when I start to bill, all of a sudden they told me I did not do a good job.

We had a deadline Oct 7. I was to implement a service that would consume data and expose the data out. The data was several GB and it wasn't clean per se. So there was a part where data had to be cleaned but the data was never clean before launch so we had to release a small subset.

I am now being blamed for failure to launch with all the data, I bill at $5000/week and they thought I only did 1 1/2 weeks of work on it although my git history says otherwise.

What's sad is that I did my job according to their proposed scope, and finished it. And when I was there, I didn't feel like I was the bottleneck.

I did not have a concrete statement of work because I did a previous engagement and was successful. So this time around I trusted them and we "winged" the project management but they obviously had other expectations.

What do I do?

Thanks YC people!

oblib 5 years ago

First I'll offer you learn from the experience.

1. "I did not have a concrete statement of work because..."

This was your mistake and there's really no good excuse for it. The lesson here is always spell out exactly what you are going to do.

2. "The data was several GB and it wasn't clean per se."

You should have alerted them to this issue as soon as you found it. Had you provided a detailed statement of work there'd be no disputing that cleaning the data was outside your scope of work.

3. "I did my job according to their proposed scope".

If the data you were working was never clearly defined there's a fuzziness as to what that scope was. They, it would seem, expected you to clean the data.

If they provided a sample of the data you'd be working with that didn't have any noise in it you may have some ground to stand on if you took them to court, but that's probably still not very solid ground to stand on in court if, in discussion, they implied it wasn't really a "sample" as opposed to a "rough example".

At some point, if the work order was clear, you should have informed them you were having issues parsing the raw data because it was not what they described. If you did that it would help your argument.

All that said, they were paying you a premium to get it right in the time allotted and you didn't deliver. Sometimes you have to suck it up and take the hit and learn from it. This may be one of those times because of #1.

  • throwconsultant 5 years ago

    I completely agree with your comment 100%. This has been a learning experience for me. I was just disappointed that everything "seemed" to be moving right along and was only notified that I wasn't performing to the expectations the moment I billed.

codingdave 5 years ago

As everyone else has said, lesson learned on always having a written SOW, and/or a contract.

Now you have a couple choices:

(Insert standard IANAL disclaimer here.)

1) Contracts do not have to be written to be binding. If you had a verbal agreement that amounted to a contract (specific details you would provide in exchange for specific compensation at the least), and you feel you met your side of it, you can bring in an attorney to argue it. Of course, this is the nuclear option, and may not be worth the trouble or damage to the relationship.

2) Sit down and tell them your side, and ask them to compromise on a deal that you both can live with. This may mean less money from them, or more work from you, or both. This may be the healthiest option for the relationship, but requires some negotiating skills.

3) Just accept what they give you. This is bad for you in multiple ways, but is the simplest and easiest answer.

  • throwconsultant 5 years ago

    Not sure everybody will like this answer. Since tensions have increased, I just took the blame and said that how I handled this engagement was not professional (communication and management) and for me to just take "hit" and not get paid.

    I took this option so that relationships are not severed and just a learning moment for myself.

    Honestly I'm now at my lowest point now since I never had negative feedback on my work even at times where I winged it. To give some context, I also have a side project that a 100k daily users, and some open source contributions to add to that. So technically I can assure that my technical skills are on point. Just unfortunate that this happened.

    • gtirloni 5 years ago

      It's not unusual to "let the customer win" and take the hit now to have a longer relationship. Don't beat yourself over it. Learn, move and don't let it happen easily again (the bad scope). Best wishes.

      EDIT: Charge something though. Giving the project for free could make them feel bad if they truly believe you delivered something but not all of it.

  • SamReidHughes 5 years ago

    Some contracts, like exclusive copyright licensing, can’t be verbal, under U.S. law.

codegeek 5 years ago

"I did not have a concrete statement of work"

As others have already pointed out, this was the biggest issue. You can "wing" a few smaller projects but when it comes to high dollar stuff, you need more concrete SOWs. In software development world, concrete anything is hard. But you have to still try and ensure scope and client expectations are clear.

I know that you have learned your lesson already. But just to reiterate, a good consulting gig is 90% about setting the right scope and expectations and only 10% actual delivery (my opinion). So spend more time upfront setting the expectations before you do any actual work.

One approach is to make it milestone based. You deliver milestone x, you get paid $y. To test your clients on how they think, keep the first milestone short that can be delivered quickly. That will give you an idea of what is success for them.

seanwilson 5 years ago

> they thought I only did 1 1/2 weeks of work on it although my git history says otherwise.

> all of a sudden they told me I did not do a good job.

> this time around I trusted them and we "winged" the project management

Sounds like a series of miscommunications you'll just need to put safeguards in for next time e.g. use a planning board to keep track of what's been done + what needs to be done, agree on how time will be tracked, meet more regularly to review progress (especially at the start of the project). Best not to beat yourself up over it and just learn from it instead - nobody's perfect!

  • throwconsultant 5 years ago

    Thanks for the feedback. What's funny is I actually tracked the previous engagement with them meticulously. I just based this new one on trust and feedback through constant communication, since I worked with them in house.

    There was no sign of me not doing my job well until I started to bill, all the issues came out.

    • seanwilson 5 years ago

      > There was no sign of me not doing my job well until I started to bill, all the issues came out.

      For what it's worth, I really don't enjoy sending the first bill for a new contract because I worry something like this might happen. Usually at the end of the first week, I'll do an email or a meeting with a summary of what's been done and where things are going to reassure myself they'll be happy being billed with the work so far.

      I'm guessing you don't feel great right now and keep thinking about this. I find it best to just write down what you would do differently next time and try to move on because there's no point overthinking it.

      • throwconsultant 5 years ago

        > Usually at the end of the first week, I'll do an email or a meeting with a summary of what's been done and where things are going to reassure myself they'll be happy being billed with the work so far.

        I did the same thing outlying what's done in the 3 week that I did so that they know where their money is going.

        > I'm guessing you don't feel great right now and keep thinking about this. I find it best to just write down what you would do differently next time and try to move on because there's no point overthinking it.

        Yes. I definitely feel like shit. Gladly, I'm a positive person and now just making sure I do better on the next project. My consultancy still has other clients at the same time launching our own product in a month with our product team so hoping for the best all around.

        The feedback here has been super comforting despite everything so thanks to all!

jdauriemma 5 years ago

What does your contract say?

  • throwconsultant 5 years ago

    There is none. There was a project scope

    - finish company service (given their not clean data)

    - finish integration with X api

    - finish integration with Y api

    and that would be finished in 4 weeks.

    I finished all of those and apparently was not enough because they thought it was me not being a "consultant" by not helping cleanup the data and therefore everybody was delayed.

    • jdauriemma 5 years ago

      If there's no contract, what obliges them to pay you? What establishes your hourly rate?

      • throwconsultant 5 years ago

        A previous engagement that has the same terms of payment but this time, without scope and SoW.

        • jdauriemma 5 years ago

          Did you or the client sign a document binding you to do work and them to pay you for it?

          • throwconsultant 5 years ago

            On the previous engagement, yes. This time, no.

            This is all because we know each other and have had a previous professional working relationship. Everyone that worked there pretty much became my friends also.

            • rasz 5 years ago

              >professional .... friends .... payment

              make up your mind