I'm working in a 15ppl company as the (only) IT guy (Master of Computer Science) and my task was/is to oversee a software project development. We have worked with an (outsourced) software development company since two years (I joined the company 3 months ago).

  • So I've tried to understand the internal requirements.
  • I've written user stories (similar to Agile).
  • I've elaborated as many concrete details as possible.
  • The contractor has send their understanding and questions.
  • I've added more details and explanations.
  • The contractor provided estimated hours per task - a bit half heartedly and then switched to one number, instead of quoting every single tasks.

Before I started, the CEO told me, he isn't a big fan of project based payments with the contractor, since they quote high hours. He'd prefer it hourly.

Now, I told the CEO about their one number and he said, he'd be fine with it. I'd prefer hourly .. but ok.

2 points / questions:

I feel it's a bit messy now. The contractor wants to charge for 150 hours, I feel 100 hours or less would suffice. Based on breaking 1 task down, we identified one subtask where the contractor quoted 2 hours and I feel it's more like a 30 min thing (I have done it myself and measured my time). So in general: Tight deadlines, no alternative software company, I'm in a weak position.
How do I negotiate the hours if they keep on telling me 'Those are the hours our team needs'?

And the other point:

I guess I went through a very standard process that other people have optimized in the past.
How can I improve the planning / whole process in the future?

  • It's admirable that your side wants to cut the price, but IF the contractor goes down in price by 30%, that contractor is desperate and, hence, basically incompetent. It's a tough situation. – Fattie Apr 24 '19 at 10:37
  • Negotiating hours to complete tasks is a very slippery slope. If you cut the hours, don't expect to get an identical product. The contractor won't be able to magically do the work faster, they'll just find ways to cut corners. – dwizum Apr 24 '19 at 11:05

I've been on both sides of this.

Until the software is written, nobody knows how long it will take. The contractor is right to round a lot of things up to avoid more serious problems later. Would you rather they came back and said "oh, dang, we're going to need 100 more hours because the overly optimistic estimate you bullied us into wasn't reachable"?

How do I negotiate the hours if they keep on telling me 'Those are the hours our team needs'?

You don't. You're pretty much saying to them "I have no idea why we are hiring you and I have zero trust in you." You can't operate that way and get a good result.

Picking something out of the pile and saying "I can do this in 30 minutes." is only going to damage the relationship further.

Estimates by task are never standalone. Maybe the 2 hours includes some prerequisite work or has something else averaged in. Maybe this includes documentation, QA, project management overhead, etc. It would be very easy for something to legit require 2 hours of labour but have 30mins of "doing it".

What to do?

Create trust.

I am not a fan of fixed price software project quotes because it's never possible to be accurate enough--so I'd always avoid that. I can't tell from your question if that's the case here or if you're getting an estimate and then will be billed for actual time spent.

My advice would be to accept the provided estimate as an estimate. Either take that as their professional advice or tell the CEO the contractor should be fired. It's your responsibility to provide the CEO that type of advice. Or tell them, these people are frauds, we hire them one last time because we're in a hurry.

If you badger them into making the estimate smaller they might say "ok, yeah, we'll try to rush through that bit" and change a number to make you happier but it doesn't change their estimation of the work. It does change their estimation of you.

But, ideally, you accept their estimate as a working budget and add your own contingency atop it. You communicate frequently with the team doing the work so you can match progress against your budget. You learn quickly what things are taking longer or shorter than expected and you work with them to ditch features or get new budget or whatever the correct thing is.

You make it clear that you're staying in close contact in order to help. Often these checkins can be just a few minutes by phone with longer ones as needed. You want them looking forward to hearing from you.

| improve this answer | |
  • Nice explanation. It makes sense, now after taking a step back and thinking about it. – Chris Apr 25 '19 at 4:40

It's quite simple. The contractor makes sure he or she gets their money. If they think they need 150 hours, and you think they need 100 hours, then you need to look for another contractor. As a contractor, if you see a business relationship starting with the other side wanting to reduce your income by 1/3rd, you know there is more to come, and that job is more trouble than its worth.

| improve this answer | |
  • Simple and true, thank you - good point. – Chris Apr 25 '19 at 4:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .