allspiritseve Posted December 12, 2007 Share Posted December 12, 2007 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? Quote Link to comment https://forums.phpfreaks.com/topic/81357-solved-client-site-badly-in-need-of-refactoring/ Share on other sites More sharing options...
dbo Posted December 12, 2007 Share Posted December 12, 2007 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. Quote Link to comment https://forums.phpfreaks.com/topic/81357-solved-client-site-badly-in-need-of-refactoring/#findComment-412892 Share on other sites More sharing options...
allspiritseve Posted December 12, 2007 Author Share Posted December 12, 2007 Well I charge him for new features, but it takes me longer and longer to add a feature and have the program work correctly, without bugs. Do you mean I should charge him for a refactoring of the code? Quote Link to comment https://forums.phpfreaks.com/topic/81357-solved-client-site-badly-in-need-of-refactoring/#findComment-412906 Share on other sites More sharing options...
dbo Posted December 12, 2007 Share Posted December 12, 2007 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. Quote Link to comment https://forums.phpfreaks.com/topic/81357-solved-client-site-badly-in-need-of-refactoring/#findComment-413005 Share on other sites More sharing options...
redbullmarky Posted December 12, 2007 Share Posted December 12, 2007 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. Quote Link to comment https://forums.phpfreaks.com/topic/81357-solved-client-site-badly-in-need-of-refactoring/#findComment-413010 Share on other sites More sharing options...
allspiritseve Posted December 12, 2007 Author Share Posted December 12, 2007 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 Quote Link to comment https://forums.phpfreaks.com/topic/81357-solved-client-site-badly-in-need-of-refactoring/#findComment-413021 Share on other sites More sharing options...
dbo Posted December 12, 2007 Share Posted December 12, 2007 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. Quote Link to comment https://forums.phpfreaks.com/topic/81357-solved-client-site-badly-in-need-of-refactoring/#findComment-413043 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.