Jump to content

[SOLVED] Client site badly in need of refactoring


allspiritseve

Recommended Posts

OK, I got this client a couple of months ago, who requested an inventory program of sorts for a hobby of his. His budget was small, and I was leaving for Spain on study abroad fairly soon, so I did a quickie job. The program works just fine, exactly as he requested, but ever since then, he's been requesting little features added on here and there, and it's becoming a mess to maintain. I feel like if I took the code and did some refactoring, it could internally work a lot smoother and wouldn't be so difficult to add features...

 

Should I have done something different? Should I have designed the site to be flexible and work even after I've added a good 20 other features? I wasn't paid for that, I was paid to make a program that works. Should I just refactor the code on my own time, so its easier to maintain? I don't feel like that's something I could charge him for.

 

Any thoughts?

Link to comment
Share on other sites

My thoughts are that you need to charge him for it. You get what you pay for. He had a small budget needed something quick, so he got a crummy product. He wants new features? Add them but charge him for it and explain any potential pitfalls. You can't expect a Hummer on a moped budget.

Link to comment
Share on other sites

You should charge him for whatever work you do. If you think it needs refactored, then explain the benefits to him. It will cost you more up front for the rework, but subsequent additions will be easier to implement and thus cost less. Furthermore the code will be written in such a way that makes it more maintainable should they decide to go with someone else, etc.

Link to comment
Share on other sites

just because someone's budget is tight, doesn't mean necessarily you need to throw something clunky together. the fact that he's coming back for repeat work means he's probably a decent sort of guy, who you underestimated a bit.

 

You: I need to charge you loads of extra to rewrite your system for you to get this new thing to work.

Him: Ok, but I told you my budget's tight, and why would you need to do all that work just to add on this tiny feature?

You: Erm ... Cos I gave you a rubbish product I knocked together without thinking.

 

for me, writing a maintainable application versus a quick job involves nothing more than a pen and paper and a small amount of time versus just diving straight in without preperation.

 

it might be worth asking him exactly where he sees the project going overall, to guage how much additional work needs putting into it. then you'd be in a better position as to whether it's worth your time refactoring. or even whether you can use any of the system's elements for future projects?

 

word of mouth is the strongest form of advertising, so keeping everyone happy regardless of project size is so so important. i'd heavily recommend against getting in a similar situation for future projects.

Link to comment
Share on other sites

I agree, I definitely learned my lesson on this one. I didn't really see it as something unmaintainable at the beginning, otherwise I definitely would have put more effort into it, but now having done quite a bit of additions and seeing it take longer and longer as I had hack after hack, its clear that it is only going to get worse. I don't feel like it is fair to charge him for refactoring, and I guess I can see that it may still be worth my time if he continues in the same vein.

 

Thanks,

 

Cory

 

 

Link to comment
Share on other sites

Yes I agree... and we always learn more as we go. I however stand firm that you don't give them a Benz on a moped budget. There's more to it than if he's a decent guy or not. If you're not adequately compensated for your time it's simply not worth it. That's time you could have spent on hobbies, with family, etc. It's up to you to decide what that rate is, but you've got to stick to your guns.

 

All that being said though, I agree with redbullmarky, you should avoid getting into such situations by adequately scoping the project and asking all the necessary questions.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.