Forgot your password?

typodupeerror
Software Technology

Ask Slashdot: How Long Should Devs Support Software Written For Clients? 384

Posted by Soulskill
from the just-until-the-next-venus-transit dept.
lucky4udanny writes "My client says any software/website we develop for them should be supported with bug fixes forever, with no further compensation. We have generally supported our work for two months, to give the client adequate time for real-world testing, after which we charge by the hour for all support. How long should a company fix bugs without compensation in software they developed? What is the industry convention?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: How Long Should Devs Support Software Written For Clients?

Comments Filter:
  • by jmorris42 (1458) * <jmorris@[ ]u.org ['bea' in gap]> on Wednesday June 06, 2012 @06:05PM (#40237829)

    Dude! The support details are something that you should have had in writing before you even started working on detailed requirements.

    Both sides agree in writing on the scope of work, acceptance procedure, support, training, documentation, code disposition (work for hire, GPL, third party libraries, possibly even escrow), all of that stuff. Anything else just shows a total lack of professionalism.

    If you are now in a position of being asked to support it forever without anything in writing you have to decide which will be worse, cutting your losses now and writing off that client and everyone they will bad mouth (with some justification but they are equally guilty of not insisting on getting anything in writing) you to or digging yourself into a hole providing free support until they eventually toss that codebase. Which one you choose depends on far too many factors you haven't provided.

  • Never. (Score:5, Insightful)

    by LWATCDR (28044) on Wednesday June 06, 2012 @06:10PM (#40237883) Homepage Journal

    " after which we charge by the hour for all support. How long should a company fix bugs without compensation in software they developed?"
    You have your answer. You charge by the hour for support including bug fixes. Only slaves work for free.

  • by Wonko the Sane (25252) * on Wednesday June 06, 2012 @06:12PM (#40237905) Journal
    If they want lifetime support then price your services accordingly and offer that as a option. Chances are if you give them two quotes, one with your typical policy and another one priced for what they are asking for, they'll choose the one that makes the most sense.
  • by radiumsoup (741987) on Wednesday June 06, 2012 @06:13PM (#40237917)
    it's not always mistakes that require support - a lot of times, it's feature creep or moving buttons around. Clearly, that's not something the dev should do for free. But yeah, support should be spelled out as part of the dev agreement.
  • by Anonymous Coward on Wednesday June 06, 2012 @06:13PM (#40237923)

    >>They didnt code it, you did.

    You didn't sign off on the acceptance testing, they did.

  • by I kan Spl (614759) on Wednesday June 06, 2012 @06:14PM (#40237941) Homepage

    If you have a good enough support contract then the initial fee for doing the work is usually peanuts compared to the support.

    All of this needs to be in writing, as part of the initial contract or else you will have no fun doing support.

  • Be careful... (Score:5, Insightful)

    by billster0808 (739783) on Wednesday June 06, 2012 @06:16PM (#40237969) Homepage
    Clients have a funny way of making everything into a bug. Customer changed their minds about something after they've already signed off on it? Bug! Your code doesn't run on an OS that didn't even exist when you wrote the software? Bug! Customer wants a new feature? Bug!
  • by jdastrup (1075795) on Wednesday June 06, 2012 @06:16PM (#40237983)

    Why should they pay to fix your mistakes?

    Once the client signs-off on it, they accept the bugs as well as the features.

  • by sideslash (1865434) on Wednesday June 06, 2012 @06:18PM (#40238009)

    Not necessarily.

    Bespoke software (written for hire) that is owned by the customer should typically NOT have an expectation that the developer(s) would come back and fix bugs for free, especially for a time and materials work arrangement. Fixed bids can be different, but typically the customer is responsible to certify that it's "acceptable" on delivery and final payment, and after that point they're on their own (i.e. have to pay for further changes).

    Software like Microsoft's that is licensed or purchased does typically have an expectation of free bug fixes from customers, but unless it's in writing the customer should be prepared for the possibility that the company will refuse to fix it, particularly if it's old.

  • by dbc (135354) on Wednesday June 06, 2012 @06:20PM (#40238045)

    A 60-day acceptance period sounds generous to me. Have them sign off on an acceptance letter. After that, it could be hourly, or they could pay monthly support that covers things like pro-active security patching and the right to call you with questions.

    Major software packages are sold with support. Oracle, for instance, gives their salesfolk lots of discretion to negotiate price, but *not* to discount the monthly support contract. That should tell you something about how the big boys think.

  • by thatseattleguy (897282) on Wednesday June 06, 2012 @06:21PM (#40238055) Homepage

    I sure would not want to program for you. In 25 years of independent development, I only saw the bizarre belief you express from a single one client. I gave them two alternatives:

    (a) "After the initial acceptance period, we'll fix all bugs for free...but of course you need to pay my team for 5-man-weeks of testing and QA time so that we can both be assured it's perfect first", OR
    (b) "You'll pay us time and materials to fix any significant bugs you find, but we'll only charge you for 5-man-days of testing and QA time beforehand and you'll work with us to discover any others we missed as you use the software."

    Needless to say, not being stupid, they took option (b) and we probably only ended up charging them for a few minor fixes.

    A software bug is not "a mistake". It's an inevitable part of the process, one that can be mitigated by good design, good coding, good management, and good testing. But all of those things take time and money. There's no magic zero-cost shortcut to perfection in any non-trivial project.

  • Re:Ok no problem (Score:5, Insightful)

    by Tridus (79566) on Wednesday June 06, 2012 @06:32PM (#40238197) Homepage

    That's one theory. But when someone decides to keep using the program on a new version of Windows and stuff changes, who gets to support that? Hell, I've seen Windows patches break stuff.

    Software does in fact tend to require ongoing maintenance from time to time, just like anything else.

  • Related issue.... (Score:2, Insightful)

    by Anonymous Coward on Wednesday June 06, 2012 @07:33PM (#40238739)

    As as first time administrator on an AS/400-based system running RPG code long ago, I was briefly puzzled that our CFO was talking about putting the source code for the software we were to be running into an escrow-like setup. I learned many things from that CFO - in this case, how to protect your company in the case that another company - one that wrote your software for you - goes under. In our case, we were to be given the full source code if the development company tanked. At least that way, they kept their stuff private/proprietary, but we weren't fully shit out of luck if they went out of business.

    That same CFO had an incredible eye for liability issues, too, which are another area I always cringe at when I explore various businesses....

  • Best Practice (Score:4, Insightful)

    by symbolset (646467) * on Wednesday June 06, 2012 @07:39PM (#40238791) Homepage Journal
    This is why it's best practice for small software developers to do business with an attorney who offers bulk rates on Delaware corporations and has the reverse merger bit down. You just turn & burn. Several iterations down you can even buy your fully-laundered bankrupt corps back for their "goodwill". Don't they cover this in CS212 still?
  • by Anonymous Coward on Wednesday June 06, 2012 @09:11PM (#40239559)

    Thats a BS excuse though - if you wrote crappy code, you should fix it. I think its reasonable to say 12 months.

  • by Registered Coward v2 (447531) on Wednesday June 06, 2012 @09:40PM (#40239743)

    Both sides know that there is no such thing as bug free software. Never has been. Never will be. Expectations to the contrary are not reasonable, and never have been. Expectations of indentured servitude went out with the 13th amendment, and no contract can bring that back.

    Expectations of being sued into indentured servitude, however, did not go out with the 13th (nor did indentured, only involuntary, servitude)

  • by Anonymous Coward on Wednesday June 06, 2012 @09:46PM (#40239775)

    I'm not the original AC.

    I also crap rainbows and piss liquid gold.

    If you're going to take the time to say you have sources you should probably post them.

  • by pclminion (145572) on Wednesday June 06, 2012 @11:02PM (#40240289)

    How long the software should be supported for defects? Forever. Since the software doesn't wear out, any defect was developed there from origin, it's a reasonable expectation that when someone asks for something, it is asking for something without defects, so covering for bugs forever is the only sensible way to respect the contract.

    If you have a contract that actually makes you provide free bug fixes forever, then you signed a shitty contract. Software always has defects, this is simply a fact of life. Extremely rare defects, by definition, do not make themselves visible very often. The reason rare defects are not found during testing is precisely because of this. More comprehensive testing does not ensure zero defects -- it only ensures that whatever defects do remain happen exceedingly rarely, or under exceedingly improbable circumstances.

    It is quite reasonable, as a client, to expect a software maker to provide bug fixes for software they provide. It is equally reasonable for the software maker to request ongoing payment (commonly called "maintenance") to continue providing these bug fixes indefinitely. Both parties to the contract are making a risk tradeoff when they sign. The client is risking that they will pay a certain amount of money for the software (including the initial development costs and any ongoing maintenance costs) and never actually recoup this expense by using the software. The software maker is risking that they will charge a certain amount for development and maintenance and some defect will arise that will cost more to fix than they are getting paid to fix it.

    The two parties hopefully meet in the middle with a price and contract that seems optimal for both.

    Just because it's software, doesn't mean you let your eyes glaze over and throw basic economics out the window. Or, for that matter, the basic observation that humans are fundamentally fallible and you can't expect people to magically do things perfectly just because they work in a technical field.

    (Another factor in this is that it is actually not risk-free to fix bugs. Fixing bugs necessarily involves changing code. Changing code may introduce yet another defect, or expose a latent one.)

  • by neyla (2455118) on Thursday June 07, 2012 @03:02AM (#40241435)

    No you can't. And if you think you can, you're deluded. No non-trivial real-world program has ever been bug-free. Especially not programs large enough to have more than one developer.

    Even programs which are *very* carefully specified and written, and tested thoroughly, end up having bugs. These programs cost atleast one order of magnitude more than normal programs, and *still* have bugs.

    When the first pentiums had bugs that caused them to do floating-point-division wrong, it wasn't because they where sloppy, or because they where untested. They where tested 3 orders of magnitude more than most comercial software will ever be - and *still* launched buggy.

    Given that guaranteed bug-free is unattainable, the right question is what amount of quality-control and testing is worth it. Sometimes it's worth it to spend 10 times the amount in order to get rid of half of the most serious bugs, but often it's not.

When in panic, fear and doubt, Drink in barrels, eat, and shout.

Working...