It all started as a simple website. A project that would take a few weeks to complete. Months later, the budget is gone and the client is furious, and the simple website has become a behemoth of features and has nothing in common with the original specifications. What happened? Another project fell victim of scope creep. The gradual increase of features may make you feel like the frog who didn't notice it was in hot water until it was boiled, but staying alert can be key to protecting you and your clients from accidental or not so accidental scope creep.
Write down the requirements
The key to avoiding scope creep is making sure a clear set of requirements is written before any work starts. While being adaptable is great, and is impossible to know everything in detail from the start, the main goals and features of the project must be clearly set. The client expectations and what they involve should be written and signed by both parts. No matter how obvious it is, if it's not on the specifications document it won't be budgeted for. If the client wants just "a few changes to a template" and you don't clarify what "a few changes" mean, you may end up with an unhappy client that expected a totally different bespoke template loosely based on the starting one. So document, clarify and if you have any question, ask the client. And get everything signed by both sides.
Accidental scope creep
Sometimes, scope creep happens accidentally. The client isn't trying to be difficult, but just doesn't know how much more difficult or complex their new requirements are. For example, using real pictures of their shop instead of stock images may sound simple but involves somebody actually going there and taking the pictures, selecting the right ones and preparing them for the web. It will also add value to the website, and that could reflect on the price of the project. It's often possible to avoid scope creep by notifying the client in advance of how much changes to the spec will cost, both in time and money, and educating clients that way may be a great way of improving any future collaboration.
Clients who want more, for free
When the client is just being difficult, and trying to get more than they bargained for, the best way to avoid scope creep is by being clear about it and refer to the original, signed, specification document. When they say "Oh, but I wanted a newsletter system too!" be ready to explain that the requirement wasn't on the original spec, and it wasn't budgeted for, but that you will be more than happy to create a change request document, with the new time and budget requirements. In many cases, the client will forget about this new requirement and the project will stay on track, but if he actually accepts the change get the new specification document signed and work with the new schedule.
Learn to recognize and avoid scope creep
While it can be difficult to recognize scope creep on real time, while having a conversation with the client, its effects are easy enough to see. Tasks that were supposed to take one hour start taking five, the web development team starts fearing deadlines approaching and the client keeps coming back with more ideas that would greatly improve the website. The best way of stopping it on its tracks it is never saying "yes" to the client directly, but writing the new requirements down and promising an answer later, once you have had time to see how they will affect the project. If in doubt, ask the responsible person how much more time something would take, and reject things that are new features, even if they are similar to existing ones or sound simple, unless you are willing to increase the project requirements.