|PHP and MYSQL upgrades = code changes = cost|
Wondered how other members feel about charging the client for changes that have to made to coding when things like PHP and MYSQL are upgraded.
I recently upgraded server and the jump to PHP5 and MYSQL5 has created much additional work because of the many differences in e.g. array handling, joins etc etc
If the website is over say 2 years old do you feel that code changes should be charged for? What type of timescale do you offer for a guarantee that the site will work?
Personally, I don't wish to charge, but feel that some of the cost should be covered by the client.
Hope this makes sense.
If the code is over two years old, the upgrade should ideally be charged to the client completely. However, if you have a maintenance/long term contract with the client you may or may not charge them.
For systems that were coded 6-7 months before, ideally, should not be affected by PHP/MySQL upgrades (if they were coded correctly) since most of PHP5 is backward compatible.
I don't see how you can justify charging the client if it is your own choice to upgrade the server software.
If this is going to be your policy, you need to get it in writing up-front.
From the client's point of view, it was working fine until you broke it.
In many cases, you can maintain parallel versions. If you can't perhaps you should look into installing VPS software that would isolate each client.
Upgrading can be EXPENSIVE, and even major sites (maybe especially) know when to leave well enough alone. Slashdot is still running Apache 1.x for at least part of their site.
If you do mods requested by your clients, you should explain (up front) that new development will not be done with underlying scripts/languages/database servers that are more than n years old, and that you will build-in the cost of upgrading existing code.
Manish - your thoughts are closer to my way of thinking. Yeah 6 months I would bite the bullet and change the code free of charge.
I would have to charge for something over 2 years as there is no maintenance contract in place.
jtara - I agree with getting the terms in writing before hand. This has not been part of my current T&C, but will definately be added in the future.
I believe the choice to upgrade server software is often made to ensure things are more secure, to add more features or to increase speed. In the end a client will benefit from this.
Surely there has to be a timescale that you can offer a guarantee for or do you expect a website to last for life?
I know of no other product that offers such a guarantee.
I am torn over this issue.
|Surely there has to be a timescale that you can offer a guarantee for or do you expect a website to last for life? |
Well, now, that's a different matter, if you provide a guarantee. Doesn't the guarantee have a time limitation?
You have to put some limitation on it, because after so long, it becomes too costly to you to support older versions. Not to mention that nobody can afford to offer a perpetual guarantee.
But it seems to me you are lacking a system for maintaining older versions at all. When you upgrade server software, you are forced to update all of your customer's software.
Do you see how impractical this is going to become as you gain customers over time?
|I know of no other product that offers such a guarantee. |
Most products do. That is, they come with an implied guarantee that the manufacturer will not enter your home without your permission, snatch it, replace it with a new one, and then charge you for it...
(Again, from the customer's standpoint) They've got what they've got. If it's been working, why change it?
you've certainly raised some interesting points.
|But it seems to me you are lacking a system for maintaining older versions at all. When you upgrade server software, you are forced to update all of your customer's software. |
Bang on and I'm guilty as charged.
|Do you see how impractical this is going to become as you gain customers over time? |
I do now and only wish you had told me about it sooner lol...
It's a toss up between maintaining older versions or updating existing code.
Maintaining older versions can be more costly in itself and I recon its nearly impossible to stay on top of every security flaw in older versions of languages. Imagine a VPS with PHP3, PHP4.1.0, PHP4.2.0 and PHP5 (ok I'm exaggerating a bit)
I suppose making the customer fully aware of any issues that may arise in the future and any costs that may come from it is important at the outset. Perhaps giving them the option of staying the same or an upgrade and the possible implications of the former.
I've been developing since 1998 and this is really the first time that this issue has arisen. Probably, exaggerated by the dependency that we now seem to have on database driven websites and the way that a website often out-performs the bricks and mortar side of a business.
What do you think is an acceptable limitation period?
2 years or up until the next major version release of the platform?
|I don't see how you can justify charging the client if it is your own choice to upgrade the server software. |
Probably I didn't explain it properly. Lets say I develop a PHP application for a client 2 years back using the latest PHP version available at that time (PHP4?). They take the application and host it with their favorite hosting company.
Given that PHP-4 will no longer be supported for even security updates from later half of this year, the host decides to permanently stop PHP-4 support. Now the client decides instead of finding another PHP-4 host, its better upgrading the application to PHP-5. And as first choice, they approach the original developer i.e. me. I don't see any reason not to charge them for all the work I will do to make their system PHP-5 compatible.
|From the client's point of view, it was working fine until you broke it. |
If enough early notices and warnings are given before the actual upgrade most of post upgrade surprises can be tackled. Ideally its better to support both PHP-4 and PHP-5 for few months until PHP-4 is completely cut off.
Normal rate is about 15% p/a for future proofing upgrades.
Regarding guarantees, be very, very carefull. If they pay the 15% they are guranteed in that year only.
A company I know recently folded because it sold so many copies of its software and then couldnt afford to upgrade it to .NET.
|Normal rate is about 15% p/a for future proofing upgrades. |
Is that 15% of the total website development cost?
See what you mean about the guarantee.
No,its the code only for platform upgrades and bug fixing only i.e
£50K ecom project would be around £3-£5K per year maintenance. Also its common for the first year to be free.
Customner requested enhancements are charged on top of that but if they are customisation rather than configuration they might increase the maintenance contract up to 20%.
Not that this will help you now but...
I have a "piece of mind" preventative maintenance program that gives my clients the warm and fuzzies. Essentially insurance for their website and email. Most clients jump at this.
The program guarantees web server, database, cms and mail servers are kept current for the duration of the "program" (typically 2-5 years).
Basically they are pre-purchasing blocks of hours of my time at a reduced rate.
Those who don't purchase are subject to full hourly rate charges when work is required.
I do not guarantee for a minute that their website will "last" forever as I have no control over Microsofts patches and policies which have a direct effect on the hosting environment (our data centre and servers) and subsequently the clients' website.
When you purchase a car from a dealer is it expected that the car shall operate flawlessly for X duration of time? No. Maintenance and preventative maintenance are up to the owner of the car.
As an example, not applying security updates to your webserver is like not getting an oil change. Everything will continue to work... but for how long?
Rewriting the code differences between php 4 and 5 is something you should have considered before hand.
Now that you are in the position that you find yourself in, I would definately charge the client for a portion of this work. If I were you I would spread it over several clients to lessen the impact.
I'm in business to make money. This is not a hobby of mine.
I'm not tearing a piece off you, it's just that far too many webmasters masquarade as full service web design businesses. The problem is the "business" part. I have spend thousands of dollars on lawyer bills to protect my ass from this stuff. I've been burnt just like you are about to be. Yes I DONATED plenty of time rewriting code that once talked to MS Access and now talks to SQL server. I had to eat it because I was a web guy trying to be a business guy and missed the boat on contractual obligations and the importance of "everything on the table" before we begin.
Now you are that much smarter than the next chum that will post a similar post to you and perhaps it will be you giving the advice.
|Not that this will help you now but... |
It doesn't, but thank you for your condescending post.
Not a reply I would have expected from someone that has actually gone through a similar experience.
You obviously believe your way is best and it probably is for you. However, that does not mean that other people can not have other ways of doing things.
As I explained, I have been developing since 1998 so I must be doing something right. I am not new to business either and have managed several other companies before setting up my own company.
This is not a "bedroom business". This is "bricks and mortar"
I do have client contracts, but its just that they do not currently include T&C for coding updates and compatibility due to software changes. It's not a problem when you first start up, but as your business grows and you gain more clients it becomes essential.
|Rewriting the code differences between php 4 and 5 is something you should have considered before hand. |
Yes and the same to you.
|Now that you are in the position that you find yourself in, I would definately charge the client for a portion of this work. If I were you I would spread it over several clients to lessen the impact. |
Yes, this is something that I have already done due to good client relationships.
|I'm in business to make money. This is not a hobby of mine. |
The whole point of business is to make money.
|Now you are that much smarter than the next chum that will post a similar post to you and perhaps it will be you giving the advice. |
You mean just like you?
I never said my way is the only way and I never questioned you abilities as a programmer or web desinger.
I just put down my thoughts which you seem to have taken offense to.
Perhaps someone else will avoid a similar situation to yours by reading and learning about the business of web design and the realities that happen...
no offense intended dude...
These forums are where many people come to learn. Why not just leave it at that? No one was fingering you for anything and there is nothing professional or helpful about your reply to me.