Who here has launched a project prematurely? (my hand was the first up). When you start putting work into a project you get excited about it. You set a deadline for finishing the project and work very hard to stick to it. Sometimes despite our best efforts we have 90% of the project done. Sure we could launch it on delivery day but it wouldn’t be the best work that has been done. In fact it probably would speak better of your ethics and professionalism to get a short extension.
The reality is that before launching any project you should perform a quick evaluation to make sure that it will reflect well on your professionalism and well on you clients business.
Is the site feature complete
When ever I start a large project I make a list of all features required for launch, kind of like the development road map. If the project warrants it I will make a list of all items required for launch and a list for the second stage of development that lists all of the little things that can be added once the site is live and are not required for release of the site.
The first step to evaluating whether you are ready to launch a site is to look back at all of your required items and ask yourself if in fact they are done. If all of the required items are not done then you need to think seriously about moving the deadline back so that you can get all of the items that are required put on the done list.
Sometimes you may look back at the list and after some deliberation with the client decided that they are in fact not required for the site to launch (mobile stylsheets come to mind). If both of you can agree that the site can launch without some items that are not done currently then move forward and launch it. Ultimately the final decision is up to the client it is your job to advise them to the best of your ability.
Next up is to make sure that all of the code validates. Now I know that some things (moz-border) don’t validate but to a reasonable level you should make sure that your code validates or has a good reason not to. As I alluded to above a bit of a flourish for Firefox and Webkit, in my opinion, are acceptable reasons for you code not to validate. You should ensure that these little flourishes are not required for proper functioning of the site.
There are always some bugs in code. It’s written by humans it can’t be helped. There are also things you will have designed to work a certain way that seemed obvious to both you and the client at the time that will not make any sense to the end user. That is why any site should be thoroughly tested before it goes live. You don’t want your users finding all but the most obscure bugs.
Testing should not only be done by you since your not a typical user and you already know how things work. Your site should be tested by the typical user of the site. It should be tested by the client, I know that they are often not the typical user either but they should have the opportunity to ask questions about why things work the way they do.
As I said in the first evaluation item, ultimately launch is up to the client and the web designer/developer should be advising them. If the client is happy with the site and wants to launch it despite problems that you see then you have to launch it. I would suggest that in this instance you get in writting that they wanted to launch the site despite your recommendation. That way if it blows up you have documentation that it was their decision.
Do you do anything to check your sites that wasn’t mentioned? Leave it in the comments to enlighten us all.