views:

138

answers:

7

Not sure where to put this but a site filled with working programmers is a good bet.

I built a website for a client, that included (on the home page) a fancy jQuery image slider with controls. This was specified in the original project scope. I also implemented a simple jQuery slider on one of the inner pages.

Now that the site is up for final review, the client reviewed the site and wants a few edits here and there, one being the removal of the fancy jQuery I spent hours working on and modifying and replaced with the simpler slider on the inner pages.

My question:

Should the client still pay for home jQuery slider I worked on and charged to implement the other jQuery slider on the home page?

I charge per feature/functionality when building a site. Therefore, if I just remove the slider, I'll lose money and time. I'm thinking they should pay for it since it was specified in the original scope...not my fault...

Second question, how should I present them with the charge, if I am charging them for it?

+2  A: 

This all depends on how you negotiated the original statement of work. Were you hourly or did you agree to a fixed rate "per page"? Bottom line, you are best to worry first about meeting the customers requirements and second about how you messed up by not agreeing upfront if you spent hours that you cannot bill. They don't know if a jQuery slider takes 5 minutes or 5 hours; that is your department.

In the future, you should agree to this stuff upfront in clear terms. Also, try to work to give your client an early representation of what they will be getting using a tool like Balsamiq Mockups. Having a shared vision of what they will get will ease the whole process and assure you that you're heading in the right direction before you set sail on the intense effort of codifying things out.

Nissan Fan
I agree -- but from his description, the client was very specific and all work was done as agreed. This sounds more like a case that the customer simply changed their mind after the work was complete.
NinjaCat
I agree Ninja, but if he's not hourly then he has to deliver regardless if it's a set fee per page. Hopefully he's hourly. If so, charge them.
Nissan Fan
Actually, the problem is that he is complicating this whole issue by trying to get paid for his time. If he just programmed for free, none of this would be an issue. ;)
NinjaCat
+5  A: 

Yep, charge them. They asked for it, you built it. If they don't want to use it (now), that's not your problem. What would you do if at the end of the project they said they weren't going to have a website after all? Same thing, just a different order of magnitude.

NinjaCat
You may also want to leave it there until they understand they're paying for it even if it goes away.
phkahler
"They asked for it"? The feature **as built** or just **some feature** which tranmogriphied into something more complex than the customer wanted. Without the customer here, we don't really know what the customer expected and what was built. The customer may never have wanted the fancy image slider.
S.Lott
We don't have the written agreement. I was just going off of what the OP said "I built a website for a client, that included (on the home page) a fancy jQuery image slider with controls. This was specified in the original project scope.". He says that the slider was specifically asked for.
NinjaCat
@NinjaCat: Of course the OP says that. We still don't know the customer's understanding, do we?
S.Lott
Nope... we don't. Gotta take my lawyer hat off and put back the programmer one, or customer one ;)
NinjaCat
@NinjaCat: From the customer's POV, the features are indistinguishable, so there's no basis for charging, is there?
S.Lott
If he codes something to his customer's spec, and they change their mind, that doesn't mean he works for free. The customer is not always right. If they were, we'd all be working for free.
NinjaCat
@NinjaCat: Again, I have to ask, how do you **know** this was the customer's spec? You keep repeating that, but I don't see any evidence. Do you know something about the situation that's not in the question? How do you know the customer asked for something and then rejected it? I don't see that in the question.
S.Lott
We don't know anything other than what people post in their question. Based on the original question he says "I built a website for a client, that included (on the home page) a fancy jQuery image slider with controls. This was specified in the original project scope." It can't be more clear than that. Our advice is worth only as much as the OP is honest in posting the situation. I certainly can't jump to the conclusion that based on what the OP said, that the client didn't ask for it -- especially when he says they did.
NinjaCat
@NinjaCat: At appears you can jump to the conclusion that the OP's version of the story includes an expensive requirement that the customer (a) demanded and then (b) rejected. You're not willing to consider that there's a possibility that the customer never **really** asked for the complete, complex feature -- as described by the OP? Not a possibility that the OP is mis-stating things to justify asking for an undelivered feature? No chance of this?
S.Lott
+3  A: 

He wanted it, you did the work, let him pay for it. Tell him you will charge for it because you built it and you will be more than happy to put it back whenever he feels like.

More work == more money.

Maybe you can broaden the scope of your invoice, instead of naming individual features you just mention 'work on homepage', 'design template x', 'building 5 derived pages from template x', that sort of thing.

Fight for your money, you did the work they wanted.

Jeroen
+3  A: 

I would most certainly charge them for it.

Consider going to a cafe, ordering a cup of coffee and a muffin. You bite the muffin but you decide you're actually quite full so you just want your coffee.. Do you still pay for it, or tell them you changed your mind?

For every project, you should write a scope that the customer signs off on. The scope should include all features included, and the total price for the project. The more detailed the scope, the less chance you have of being 'screwed over'.

Once you have a signed copy of the document, you are basically covered even if it came to court terms.

As for presenting the charge to the client, you should mention that a lot of hard work went into implementing the "jQuery slider", and since it was a part of the original scope - you have to charge for it.

Yes, keeping clients happy is also part of the job, so you could mention that you're more than happy to put the slider back on the page, offer them a slight discount towards something else(thus getting more work), or cut a bit of the profit margin from the slider, ensuring you cover your time for the work taken.

Marko
+1  A: 

You should stop charging per feature, and begin starting per hour instead. You can then give your customers an estimated time (and price). That way both you and the customer can be happy. If the customer then wants something new, or don't want some of what you have already made, you are still getting your money. And if the customer wants to change something, before you get started, they only have to pay for what you actually make, and not what you were supposed to make.

In your case where you charge per feature, I would charge the customer for the feature they didn't want after all. The only problem I can see, is if you told them that you are charging per feature. If you told them that, they may get upset and they probably won't recommend you. But if you didn't tell them, charge for the feature. You made an agreement from the start on what needed to be done - then they can't just change it in the very last minute, when the work is already done. Then your deal is only good for the customer - it needs to be good for the both of you.

Nilks
A: 

If you are charging per feature delivered and they choose less features than you implemented, that seems like a billing problem I'd fix next time.

II see two possible solutions:

1) Charge for time with a max time for a given set of features, but then with an additional amount of time per modification.

2) Go XP. Deliver updates constantly. Have daily reviews with the customer, letting him pick most important feature(s) for that day. The software or site should always be a stable "release candidate" but with a limited set of features (Those the client has deemed most critical). Use a burndown chart to estimate your ETA. Charge hours or days based on their current requirements and daily review of features implemented, features to be implemented and the state of your burndown chart. Client can bail with a working site at any point, or give you money for another week's work.

Any time there is confusion it only makes sense to fix the part that caused the confusing. Continuing with the same process and expecting different results isn't helpful.

As for this time--Unless you specifically say how you handle something like this in the contract, I'd eat it and roll it into an "Educational costs" category.

Bill K
+1  A: 

I charge per feature/functionality when building a site. Therefore, if I just remove the slider, I'll lose money and time.

False.

Sell it to someone else. Charge the next customer for the feature and spend zero time on it.

When you sell it to the second client, you'll have made double your money.

When you sell it to the third client, you'll have made triple your money.

Resell it. Don't quibble over it.

S.Lott