SitePoint Sponsor

User Tag List

Results 1 to 12 of 12
  1. #1
    SitePoint Guru
    Join Date
    Jan 2007
    Posts
    971
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Estimating bug fixes and communicating with clients

    In the last year, I've expanded my use and knowledge of Open Source CMS systems like Joomla and WordPress.
    As a result, I've been getting more requests to make updates and fixes to existing sites.
    I've been finding, unfortunately, that most sites are built poorly. The past 'developer' either had no programming background or simply didn't care enough to do a good job. Themes and extensions are added willy-nilly without regard for the quality of the markup or code. The plugins are often heavy and inflexible.

    It is often hard to tell how long an update will take. Recently, I was asked to make some css changes that seemed simple enough, but when I got to work, I found that page styles were all over the places: css files in remote corners of modules, inline styles hard coded into dense php, and admin panel parameters. I ended up eating a ton of time.

    Any thoughts on what to tell clients? These can be difficult conversations. It is often hard to estimate how much time fixes will tak, and clients don't want to hear that what looks like a minor fix is going to take 20 hours or simply that you don't know how much time it will take.

  2. #2
    SitePoint Wizard bronze trophy
    Join Date
    Oct 2004
    Location
    UK
    Posts
    2,676
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    It sounds like you need to spend more time looking into the problem before trying to estimate anything. If it were me, I may take a quick look to gauge a rough scale of the problem, but unless it's obviously an easy fix, I would suggest the client pay me to investigate it properly so I can provide a complete quote for the costs. This will benefit them in the long run, and this way they'll get no surprise fees.

  3. #3
    SitePoint Evangelist ramone_johnny's Avatar
    Join Date
    Jan 2004
    Location
    Brisbane - Australia
    Posts
    434
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Do an audit first to identify any issues - then quote on the job.

    Charge for your audit.

  4. #4
    SitePoint Guru bronze trophy TomB's Avatar
    Join Date
    Oct 2005
    Location
    Milton Keynes, UK
    Posts
    996
    Mentioned
    9 Post(s)
    Tagged
    2 Thread(s)
    Quote Originally Posted by ramone_johnny View Post
    Do an audit first to identify any issues - then quote on the job.

    Charge for your audit.
    The problem is that with issues such as those highlited in the original post, it is a simple thing to do once you've got your head around how the system is set up and located the code you need to fix. What may be an hour looking through the code might be a 5 minute job to fix. Most clients won't understand why the audit costs 10x more than the fix itself.

  5. #5
    SitePoint Wizard bronze trophy
    Join Date
    Oct 2004
    Location
    UK
    Posts
    2,676
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by TomB View Post
    Most clients won't understand why the audit costs 10x more than the fix itself.
    You need to explain this to the client so they understand. They are hiring you for the entire process, not just the fix. You are not fixing one of your own projects, you are fixing someone else's. So first you have to get your head around that other person's way of doing things. If they want a quick fix, they should get the original developer to fix it, then the audit process will probably be shorter. Of course there's probably a good reason they are not using the original developer any more...

    It's pretty unreasonable to expect a third party to spend 3 hours investigating a problem for free and then only be prepared to pay for the time they spend from that point onwards actually fixing it. I think any reasonable client would appreciate this from the developer's perspective.

  6. #6
    SitePoint Addict
    Join Date
    May 2005
    Location
    Tauranga, New Zealand
    Posts
    358
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Shadow box is right. The cost of the fix is auditing plus fix time, present it like this to the client.

    One small problem you will have to deal with is their expectations. So you may spend 3h identifying the fix, 30 minutes to fix it, and they don't accept the proposal. Then you've lost 3h work. One way to deal with this is charge them for example for 2h to develop a written audit plan "that they can take to another developer". Then you could allow them to get a refund of the audit when they go ahead.

    HTH, Jochen
    http://www.automatem.co.nz
    Websites, On-line Software and everything Internet
    Follow on Twitter | Connect on LinkedIn | Read on Posterous

  7. #7
    SitePoint Wizard bronze trophy
    Join Date
    Oct 2004
    Location
    UK
    Posts
    2,676
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by jdog View Post
    Shadow box is right. The cost of the fix is auditing plus fix time, present it like this to the client.

    One small problem you will have to deal with is their expectations. So you may spend 3h identifying the fix, 30 minutes to fix it, and they don't accept the proposal. Then you've lost 3h work. One way to deal with this is charge them for example for 2h to develop a written audit plan "that they can take to another developer". Then you could allow them to get a refund of the audit when they go ahead.

    HTH, Jochen
    I don't understand why you would refund them the audit costs though? You charge them upfront for the audit - let's say a fixed fee of 100 to include a report and quote for fixing the problem. If they accept your quote for the fix, you do the work and charge them for the fix itself, or they take it elsewhere and get someone else to do it. Would you still refund the 100 if the fix itself only costs the client 50? That seems at odds with the stance that time is money.

    Personally unless this was a regular client who brings in a lot of money and/or referrals, I would tell them that audit costs are not refundable - but I would definitely give them a free cursory audit first (15 minutes etc) just so I can make sure it really requires a more detailed audit.

  8. #8
    SitePoint Addict
    Join Date
    May 2005
    Location
    Tauranga, New Zealand
    Posts
    358
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by shadowbox View Post
    I don't understand why you would refund them the audit costs though? You charge them upfront for the audit - let's say a fixed fee of 100 to include a report and quote for fixing the problem. If they accept your quote for the fix, you do the work and charge them for the fix itself, or they take it elsewhere and get someone else to do it. Would you still refund the 100 if the fix itself only costs the client 50? That seems at odds with the stance that time is money.

    Personally unless this was a regular client who brings in a lot of money and/or referrals, I would tell them that audit costs are not refundable - but I would definitely give them a free cursory audit first (15 minutes etc) just so I can make sure it really requires a more detailed audit.
    Its just in the packaging:

    Say its $300 audit, $800 fix.

    So you quote 300 for the audit before you do anything, then tell them the total job costs 1100. If they go ahead, the can cash in their 300 audit costs.

    That way
    ->you don't make a loss,
    -> you are transparent about costs
    -> you preserve the right attitutude of what the total job cost end to end

    Jochen
    http://www.automatem.co.nz
    Websites, On-line Software and everything Internet
    Follow on Twitter | Connect on LinkedIn | Read on Posterous

  9. #9
    SitePoint Wizard bronze trophy
    Join Date
    Oct 2004
    Location
    UK
    Posts
    2,676
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by jdog View Post
    Its just in the packaging:

    Say its $300 audit, $800 fix.

    So you quote 300 for the audit before you do anything, then tell them the total job costs 1100. If they go ahead, the can cash in their 300 audit costs.

    That way
    ->you don't make a loss,
    -> you are transparent about costs
    -> you preserve the right attitutude of what the total job cost end to end

    Jochen
    But no matter how you dress it up, but you are still only getting $800. I'm saying you should be getting paid the full $1100. Why is the audit time not actually charged for? Surely the client should accept that it's reasonable for you to charge for $300 of your time in order to identify the actual problem and then pay the $800 to apply the fix - no refunds on the audit time. If they aren't they are either a poor quality client or the developer is not communicating the value of the audit process.

    Sure, $10,000 project, you are going to be happy to write off $300 if it gets you the job. But an $800 project? And what happens if it turns out to be a $100 fix. That's 4 hours of your time to secure a $100 payment.

  10. #10
    SitePoint Addict
    Join Date
    May 2005
    Location
    Tauranga, New Zealand
    Posts
    358
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sorry, you are right, I got myself confused here.
    http://www.automatem.co.nz
    Websites, On-line Software and everything Internet
    Follow on Twitter | Connect on LinkedIn | Read on Posterous

  11. #11
    SitePoint Evangelist ramone_johnny's Avatar
    Join Date
    Jan 2004
    Location
    Brisbane - Australia
    Posts
    434
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Time is time regardless of what you're doing.

    Charge the client in advance, get paid upfront, THEN do the work.

    Then once you're done, you can itemize it any way you like on the invoice.

    1. Audit
    2. Error identification and testing
    3. Corrective work
    4. etc etc ....


    You should NEVER be sitting there working for free.

    Oh, and if you're having to fix someone else's crap (especially if they've messed up something you've already done), then add a surchage.

    This should be covered in your contract.

  12. #12
    Life is short. Be happy today! silver trophybronze trophy Sagewing's Avatar
    Join Date
    Apr 2003
    Location
    Denver, Phang-Nga, Thailand
    Posts
    4,379
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Why not just charge straight hourly rates for this kind of work? Then, you do your best to estimate how long things will take but you are aren't held to it. This kind of work can be unpredictable, and clients can understand that.
    The fewer our wants, the nearer we resemble the gods. Socrates

    SAGEWING LLC - QUALITY WEB AND MOBILE APPS. PREMIUM OUTSOURCING SERVICES.
    Twitter | LinkedIn | Facebook | Google+


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •