1

I am currently working with an agency for a client to implement new features or fix bugs. The trouble that I am having is that they can never give me a definite quote in terms of hours, their business model is the following:

1) Pay 2-5 hours for investigating, if it is fixed during those hours we will quote you based on the time it took.

The problem is that if the requirement takes longer than 5 hours, they will quote me at the time and if the requirement is not solved we will still have to pay them. This is totally wrecking my budget.

I am not sure how to handle this type of situation? Thoughts

1

6 Answers 6

4

TL;DR

There's nothing wrong with your vendor's model. The problems are:

  • There's a mismatch between their business model and yours; and
  • Your budget doesn't account for the known costs and business model of your current vendor.

You have lots of alternative options. Pick one.

Analysis

Pay 2-5 hours for investigating, if it is fixed during those hours we will quote you based on the time it took.

This is no different than taking your car to the mechanic, where they charge you a labor fee to diagnose your problem before giving you a quote to fix it. You may not like the model, but it is neither uncommon nor unprofessional.

Your idea of "requirements" is probably also not theirs. "I want the widget embiggened in six dimensions" is a requirement, but identifying all the dependencies and the level of effort required to shoehorn that into your existing product is potentially undefined. In such cases, consultants often build in a discovery phase to a project in order to determine the actual scope, level of difficulty, and complexity of a project before committing to anything other than a straight time-and-materials estimate.

In short, it sounds like the consulting firm you're using is doing what they're supposed to do. The problem is that what they're doing doesn't match your expectations, or whatever fixed budget you've allocated to the problem.

Some alternatives to consider include:

  1. Providing the vendor with concrete, detailed, upfront specifications that have been properly scoped and estimated.
  2. Pay the vendor on a strict time-and-materials basis, avoiding the need for an initial analysis or separate discovery phase.
  3. Move the work in-house, so that you can absorb those costs directly rather than dealing with an outside vendor. (NB: This may also be a good learning experience to see why smart consultants don't do fixed-price work without an analysis phase.)
  4. Increase your budget to account for up to five hours of analysis, plus any work that exceeds that amount.
  5. Find some other vendor that will work within whatever budget you currently have. (NB: Consider the consequences that lowest-bidder or fixed-price contracting may have on quality. There are reasons for all the jokes about things built on low-bid government contracts.)
  6. Keep doing what you're doing. You may not like it, but if you're getting good results it may be an option worth considering.

Your vendor is unlikely to change a business model that works well for them. Therefore, while I certainly encourage you to collaborate with them more closely, almost all the business process change will be from your side, regardless of what alternatives you eventually pursue.

2

A part of the equation not obvious is the agency's experience with the existing code and your client. That factor could be significant. Or simply it could be a typical vendor relationship, money in, work out.

Another possible improvement to the situation would be to work towards them becoming a Trusted Key Partner. As they work with both you and the code, seek to develop mutual trust and respect. Return to them as much as possible for work. As their confidence and knowledge of the system increase there will be less risk for them. You might then be able to manage your budget as they manage their risk.

2

The agency is avoiding risk. What they seem to be doing is accepting work as if they are working under a fixed price arrangement but dealing with payment as if under a time and materials arrangement. They are getting the best of both worlds and avoiding the risks and problems with each.

When scope and effort are unknown and contain a lot of risk, then time and materials would be the best approach but that does mean that you would need to oversee them and direct them and monitor them in a very different way. You cannot just send work over and then wait and see what comes back. You would need to know who is doing what work, when they work, how they work, ideas they are pursuing, etc. You would need to manage them as if they were your employees and on a daily basis.

If you pursue this alternative, then they need to commit to rates against each role and commit their people to your leadership. And then move forward in your work. If you do not like this alternative and want a firm price, or if they do not want a T&M approach, then search for an alternative firm to help you with your work. Because as of now, you carry all the risks and headaches and they are exploiting a cash cow.

EDIT: CodeGnome brings up a good point regarding dual employment based on my comment above regarding a T&M type arrangement and treating the contractors like employees. This issue is a legal risk when working with contractors so a clear separation between employees and contractors is necessary. The scope of "as if they were your employees" is intended to mean an increase level of control over work, who is doing it, how, etc., over other types of contractual relationships, such as fixed price.

5
  • "Exploiting a cash cow" is very different from how you began this answer. Yes, they're unwilling to give a number they're not confident in. They want to know they're not shooting themselves in the foot while simultaneously disappointing their client (OP). That's hardly exploitation. Hell, I'd call that professionalism. Personally, I'd be much more likely to work with that firm than one that came back to me and said, "Oh. That widget you wanted added to that legacy code base we've never seen? X weeks. Trust us."
    – RubberDuck
    Commented Aug 12, 2016 at 10:08
  • 1
    @RubberDuck, I understand what you mean because "exploit" has a negative connotation but that is not how I intended it to be. That said, the OP's draft, to me, comes across as if the firm is not being totally upfront with its expectations settings. If work is that uncertain, then if I were that firm I would influence a T&M type arrangement so bobo2000's firm would not be left holding the bag in the manner they are doing so now. Commented Aug 12, 2016 at 10:49
  • 1
    Fair enough a point of view @DavidEspina, and if we were talking about paying for a week long discovery, I'd agree with you. However, as a businessman and developer, I don't see the arrangement as unreasonable. That said, if it's a problem for Bobo'ds budget, some other arrangement or different firm does need to be found.
    – RubberDuck
    Commented Aug 12, 2016 at 11:20
  • I strongly disagree that T&M creates an employee relationship. By all means track T&M contracts and deliverables in a results-driven way, but don't make the legal mistake of trying to manage vendors like employees.
    – Todd A. Jacobs
    Commented Aug 12, 2016 at 20:24
  • 1
    I agree with you regarding the issue with dual employment. It is hard to describe the point I am trying to make when it comes to T&M type work when trying to be brief. I'll try to update this to make it more clear. @CodeGnome. Commented Aug 12, 2016 at 20:44
0

Did you shop around and get quotes from different agencies before you went with this agency? Or does the client insist that you work with this particular agency? If you have a choice of agencies, and there is further work to come on the system you are working on, approach competing agencies and get quotes from them for the volume of work you have. Other agencies may have business practices more suited to your requirements.

Also are you or an in-house member of staff able to investigate fixes, bugs etc yourselves? If so you could then simply approach the agency in question, and perhaps other agencies or freelancers, with the requirements for the fix or enhancement. You would also know approximately how long it would take. For all you know they are overcharging you. I have seen this so many times.

0

I think you will reduce the 'waste' time if you batch up multiple problems and ask for as many to be fixed as possible in a week rather than sending single problems with a cut off time of half a day.

Developers will naturally look at the each problem with the other problems in mind, so instead of investigating a single problem at a time and giving up when the clock hits 5h, they will be thinking about the harder problems while they fix the easier ones.

0

There is nothing wrong in the agency's business model that you described. @Codegnome already explained it well.

I just want to suggest alternatives when you have limited budget:

1. Post the tasks on freelance networks such as elance, freelancer, etc.

The freelance networks will act as arbitrator, holding your money and only transfer to developers' account once the job is done. That way you can significantly reduce risk. One more plus point is that, many developers are very eager to build up profiles and they will work hard to finish the job even the payment is not comparable to effort.

Experiment with some tasks and see how it costs. Once you are familiar and have trust in some particular developers, you can choose to only work with them only.

Disadvantage is that despite the fact that there are many good developers on freelance network, sometimes you encounter a irresponsible one. You might not lose money, but your task is not done and you wasted effort in communicating with the developer.

2. Find a freelance developer

Find a good developer on stackoverflow and github or other trusted sources. Connect with them directly. Ask them to do 1-2 small tasks (4-8h) as an experiment. If they do them well in reasonable time, you will trust him as your agency and pay for the done tasks.

Then each days you will provide him with some tasks and check the time he logged frequently. Put a limit such as he can only log less than 30 hours per week. I was developer and was working as agency, in this business model. The client appeared to be happy.

But since you get the high quality developer, their rate are often very high.

3. An outsourcing company.

Both option 1 and 2 will need your effort to communicate and watch over agency's work frequently. If you don't want to spend much time on it, do as you are currently do - working with a company in their business model. Try it for a month and see yourself. You can also put a limit such as 160 hours per month, to reduce risk.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.