|New Features After Go-Live During Warranty|
features, warranty, bugs
Hi, I've been following this forum for a few weeks now and getting some great ideas from here. Learning how many mistakes I've made (contracts being #1) etc.
I've started a small web design firm a while ago, but this question is in regards to what I should do.
I have a client that we built a web application for that went live a week ago. A few bugs existed, and we are in the process of fixing them all. Our warranty period is for 30 days in which bug fixes are fixed with no cost. Anything additional, we charge for it.
This client had access to testing the application prior to go-live, that is why they approved it. Now they are coming back and saying that certain features are missing that we had previously discussed and certain functionality that are critical that aren't in there.
What I have said is that I will include one of those features at no additional cost because yes we did talk about it over the phone, and we missed it. Now as for the additional features (enhancements to search filtering) they are saying should be there and should not cost them any money. They have friends and family using the application now, and they are giving them feedback saying that why certain features are missing. They are now blaming me for the fact that being a web design/development company, it is "MY RESPONSIBILITY" to put in features that are essential even if they forgot to because they are not developers.
How is that even fair? They didn't submit a requirements document outlining the requirements, and throughout I have put in features that I thought were essential. Isn't it their responsibility as a new business to tell me what their requirements are?
They said that even though our work and design is excellent, it seems as though anything they ask for now is an additional cost. Of course it is. Bug fixes are free, but if you want us to work on it more, it will cost you more. They are saying that if they had known that when go-live occurs, they wont be able to add new functionality for free, and if they had known this they wouldn't have taken the website live so early.
What are you supposed to do? I'm a new business, the only contract was the invoice/estimate itself, and we have already gone beyond what I had written there. They've also mentioned they don't like hourly rates, so they want a fixed price for everything, which is fine by me, but still. Frustrating.
[edited by: httpwebwitch at 2:30 pm (utc) on Feb 22, 2011]
[edit reason] removed client quotes [/edit]
I disagree that it is your responsibility as a developer to come up with all the features that they, as a business, would ever want. It's certainly acceptable to point out features that you may think of during the design/development (you can include them for free or negotiate a price, but you should never add unasked for features without prior approval from the client).
For this sitation, I would recommend that you tell the client to come up with a list of all additional features they would like. Then you negotiate a price for the additional work. If you are so inclined, you can give them a price break this time if they feel there was vagueness in the original agreement (although it's their fault as well).
Isn't it their responsibility as a new business to tell me what their requirements are?
Yes but its also your responsibility to make sure that they do.
We were finally able to come up with a compromise. I am including some additional functionality to maintain a good relationship, but anything beyond and over that they are aware will be additional.
Welcome to WebmasterWorld, lime! Thanks for coming out of lurk mode.
Clients are frustrating. Get used to it ;)
You're dealing with an age-old problem called "scope creep". Client says they want you to build a car, so you do - it has an engine and wheels and brakes, and you can steer it. Then when you think you're done they mention that they wanted seat warmers and cup holders and so on.
At the core of this situation is the unwillingness to pay by the hour. When a client demands a firm flat price for a project, you then have to be *Very Careful* about scope creep, because it gouges your bottom line. That means the project MUST be thoroughly examined and scoped - usually on paper - right at the start.
>> They didn't submit a requirements document
Are these clients software developers? Have they even heard of a requirements document before, know what it is? It's your job to straighten that out.
If you wanted a requirements document, then it should have been created right at the start - before you gave them an estimate.
Estimating is hard. Really hard. Especially on big projects with unknown challenges in them. Over time you'll get better at it. Slightly. Mistakes will happen.
When you're pressured to supply a flat estimate, do the diligence and define the entire project and guess how much it'll cost. Then take that number as degrees Celsius and convert it to Fahrenheit. Give the client the Fahrenheit number.
>> Isn't it their responsibility as a new business to tell me what their requirements are?
Sort of. It's also your responsibility to get that information out of them, because they may not know they need to supply it.
>> They are saying that if they had known that when go-live occurs, they wont be able to add new functionality for free, and if they had known this they wouldn't have taken the website live so early.
That sounds like a communication problem, not a scoping problem
That's all background. So what do you do now?
IMHO, Stick to your resolve - give them the one feature you said you would, and charge for the rest. If you start handing out new features for free now, it sets a terrible precedent. It's like giving peanut butter to a dog. You know they'll be whining for it tomorrow, and the day after, and the day after...
It's your business and only you can decide what to do about this - the path you choose will affect your relationship with your client, in a good way or bad way. If you're going to get repeat business and referrals from them, that will (and should) affect your decision.
Scope creep, change of scope . . .sometimes. What caught my attention is this:
|... it is "MY RESPONSIBILITY" to put in features that are essential even if they forgot to ... |
For the most part, I agree with what's been said here with exceptions. Define "essential?" I'll give you examples.
- Application must be reasonably secure and filter input.
- Contact forms must reasonably check for a valid email address.
I could go on, but my point is - there **are** certain things that you can and should be responsible for as a developer that are by no means chargeable or "added features," any of the above included. This is why people come to us, it's our job to protect them. If their instances include anything of this nature, yes, it's your ball.
The good news is, establishing this kind of standard makes it far easier to delineate the difference between an "essential" and a "feature."
As you've learned, of course, your only defense is putting more in the front end, in detailed proposals.