I am working for a small testing consultation firm. We are trying to compete against other testing consultation companies.

Soon, I will finish my deployment at a client site; the nature of my work here is to deploy automated test scripts to test website. Given a website will surely undergo update, so my scripts need maintenance as well.

My client does not understand why scripts need maintenance, she said: "We want to run your tests for years to come." Her expectation is completely unrealistic.

What I have in mind is: I offer my client free code maintenance in the future. This way, we can build a good relationship with this client.

But before putting my offer forward, I want to know your opinions here.

  • 5
    This seems like a business question rather than a testing question. Anyone who sells a product that requires periodic maintenance has to decide whether to bundle maintenance, sell maintenance under a separate arrangement, or leave maintenance to someone else. What they decide depends on their market, where they want to take their business, and where their expertise lies.
    – user246
    Feb 14 '17 at 21:58
  • 6
    Do you have any idea how much the maintenance will cost you over time? Think about it before you commit. Feb 14 '17 at 22:21
  • 1
    If she doesn't even understand why the scripts need maintenance, how can she appreciate that you are maintaining the scripts for free. Feb 15 '17 at 2:30
  • Have you tried explaining to her? "The test work for this website, as it is today. If you change it, it is no no longer the same website and, so, the tests will not work. Changes to the website must be reflected by changes to the tests”? If so, how did she react? Feb 15 '17 at 9:23
  • And will she consider "just adding a tiny change to the website" as maintainence? Almost certaily yes :-( Feb 15 '17 at 9:26

As a testing professional, you are aiming to provide your client the best service, it is admirable.

My personal opinions are:

  • Are you able to make such an offer on your company's behalf? Do you have a regional manager that you need to answer to? If there is such a manager, please discuss this with your manager first. Please DO NOT make any decisions on your own.
  • Your client said "We want to run your tests for years to come.", my take on this is "We want to run your tests for years to come with maintenance", not "We want to run your tests for years to come without maintenance."
  • If you offer free maintenance to your client, how can you be sure that you will be available when they need you? What if you are contracted to a different customer? This is another reason you need to discuss with your manager first.
  • Do you have internal knowledge passing as well? What if you leave your current firm, who will be looking after your scripts? If you want to provide the best client service, you need to pass on your scripts / knowledge within your firm as well so that others can pick up what you have left them with.

Please discuss with your manager before making a move.

  • 1
    Thank you, I will discuss it with my manager before making an offer.
    – QAbird
    Feb 14 '17 at 22:00

Does your competitor offer something similar and if not, why not?

Really in business nothing is free.

  • Charge extra upfront during develop to cover the costs longterm
  • Offer a subscription on maintenance
  • Offer todo maintenance as long you get new work from the client

In the past I have hired some contractors to help us with test-automation. Mostly this is project based work and they handover the knowledge to testers or engineers and leave. This is what I would expect, transfer the knowledge to maintain the work to actual employees of your client. Reserve time for this in your offer, or per hour as needed by your client.

I have some "free" (only cover my exact costs, not hours) clients which I help with website hosting and website maintenance. I wish I never offered it so cheaply as it is impossible to move them to another person who asks a reasonable fee, but compared to mine it is outrageous, just because I am too cheap.

  • 2
    Thank you for bringing up "does your competitor offer something similar" perspective.
    – QAbird
    Feb 14 '17 at 22:00

Assuming this decision is up to you, if you think you can easily maintain the existing scripts in the short term, 'free' might be reasonable to help build the relationship with this client. However, I would scope the length of time you will do this and getting a plan in place to transfer the knowledge to the client for general maintenance (anything long would require additional payment). I would also scope the kinds of changes/maintenance that you would be doing for free. If you plan to transfer the knowledge to the client over 6 month's time, but they are doing something that would cause you to have to rewrite the scripts then that is an instance you should be paid for.

The biggest questions are:

  • How confident are you that this would get you future work with this client/is it worth it?
  • How can you scope the amount of work you are committing to?
  • 2
    I think this covers most aspects of it, but I'd also toss in there a cap on the hours. For example "Included in your annual support is 40 hours of code maintenance." You get to provide estimates for the bugs they bring up and they choose which bugs get fixed. Beyond that, they have to pay. Otherwise you might obligate yourself to hundreds of hours of fixes that you can't afford.
    – corsiKa
    Feb 15 '17 at 0:52

Having suffered through "free maintenance" clients before, I would strongly caution you to tighten the scope on this offer. Clients are human and will, generally unintentionally, take advantage of any free resource at their disposal. By limiting your offer to X hours over Y months, you give them a transition time to in-house the testing scripts or agree to a maintenance contract with your company.

Another perspective: If this client limits their requests to only an hour of work per week, after 40 clients, you will have a full-time employee whose sole job is client maintenance with no revenue brought in. That's a hard strain on any small business.

Your intentions are admirable, but, in the end, they don't make good business sense.


Explain to the client why the scripts will need to be updated until they understand more clearly, then give them options and let them decide how to proceed.
Openness, honesty and transparency are helpful in gaining trust.


You are providing a service to your client. This is to build the test suite for their product. If the client makes changes to other aspects which breaks your work, it is not your responsibility to fix it.

To take an analogy, if I paint your wall and you pay me for that work, if your kid draws on it, it is not my responsibility to re-paint it.

However, don't close the door to recurring income. Offer a small maintenance fee on a monthly basis which over time will total more than the work as a one-off item.


You can offer free maintenance for some time. But after that particular time period you can charge as per mutual negotiations between you and client. Within time period you should convince client why maintenance of code is needed.

But as others suggested it should not be only your decision, your whole team should be part of the decision.

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