This question comes from Matthew Harrington, a fellow local Web Developer who I regularly chat with to bounce ideas off each other. Big congratulations to Matthew for having recently set up his own Web Development business. Hope it goes well for you!
So, for the question - As a Developer how important is it to have a refund clause and/or a debugging clause in a contract? Of course no client should ever expect that 'Attempt 1' is the finished product, in fact if they do its a sure sign its time to negotiate a way out. Whether it be a website, online database or any software you've created its usually developed in such a way that you get a general framework in place before adapting it to the specification for your client.
In order to answer this I'm going to break it down into the Pros and Cons.
The Refund Clause - Pros
- Its a great 'out' for all that are concerned - If, for whatever reason, the working relationship between yourself and the client becomes untenable, or the client simply has ideas that are so vague that it becomes clear that the project will be quite difficult, then this is were a refund clause can be ideal.
- You find that the website is being used for malicious means - Even when a website is complete the programming in it is still yours (your client will only own the domain name or the overall brand and content on the site) so if you think it is being used for something you didn't agree with during the time that site was being built, then yes its time to voice your concerns and come to some kind of a solution, usually a refund.
- It suggests you want to be paid up front for the work - A lot of clients don't like handing over money for something that doesn't exist yet. I personally only issue invoices once a project has been completed to a minimum specification (any additional work is invoiced separately). A refund clause is only really valuable if you are paid up front. Why would you need to be refunded for something you haven't been pad for yet?
- A refund clause suggests you have had problems with clients in the past - there's nothing worse then that awkward moment when you site down to discuss how a project moves forward and you have to explain the history of a previous project which didn't work out. Not exactly a conversation you want to have with someone who is willing to trust you and ultimately pay you for your services.
Of course if, upon reflection, you realise you have more negative experiences then positives then book an appointment with a business advisor to see if there is anything you can do different to make your experience better. Developers live and die by there reputation, so always remember to assess the perception people have of you.
What about a Debugging Clause?
As I've wrote this article I've come to the overall decision that a debugging clause is a brilliant item to have in your contracts. When meeting a client to discuss a project ask them when they want the website ready for. Depending on the size of the website this will either range from a few weeks to a few months.
Aim to get a website ready a few weeks before the deadline. This gives you time to allow the client to see the website, mess around with it and also for you, as the Developer, to test it. Once everyone is happy that all the criteria have been met, then go ahead and launch the site. The debugging clause could be something like 'we've both tested the site, it hopefully works as you expect, but if you notice any bugs during the first XX weeks of the site being live then please inform me and they will be fixed ASAP'. Of course any additional features the client wants adding should be invoiced separately.
Hope that helps any budding Developers out there. Any questions please just leave a comment and I'll endeavour to respond as best I can.
Happy Development my fellow Website Creators!