Jaz’s First Law of Web Development: It’s never full, finished or ready.
Jaz’s Second Law of Web Development: The customer is generally wrong.
Jaz’s Third Law of Web Development: The users will subvert the software.
It’s never full, finished or ready.
No matter how much planning or requirements gathering or business analysis you do, you Web project will never be done. Factor this in when educating your customer, make them aware that it is an ongoing commitment. Less than five per cent of the sites and applications I’ve worked on had known lifespans, mostly pre-launch marketing sites.
The customer is generally wrong.
There’s a reason you were hired: the customer doesn’t know what you know. Unfortunately, a lot of customers think they know a lot more than they do. You have an ethical obligation to educate the customer when they request something you know is wrong. Blinking text, marquee banners and bad browser-sniffing inhabit the low end of their potential wrongness, but things like not implementing the right tool for the job, the right model for the community, the right features that aren’t needed yet… these are also things you need to inform the customer of when you know they are wrong. That’s why you’re getting paid, you are the expert.
The users will subvert the software.
Despite all the best focus groups and user testing in the world, once a product goes live users will inevitably find ways to do things you and the customer had no intention or idea of happening. Technical support bulletin boards become singles classifieds. User profiles become high-traffic home pages. All kinds of weirdness will happen. You can’t prepare for each individual weirdness, but you can prepare the right mindset for knowing it’s going to happen and knowing how to stop it or exploit it when it happens.