Scope creep is the bane of any project manager. It applies to WordPress web design as much as any other industry - if not more.
Scope creep is defined on Wikipedia as "Uncontrolled changes or continuous growth in a project’s scope. This can occur when the scope of a project is not properly defined, documented, or controlled. It is generally considered harmful". Most WordPress web designers and developers have experienced scope creep, whether they recognised it at the time or not.
While scope creep is harmful, there's nothing wrong with allowing the scope of a project to evolve. Very few clients know exactly what they want from their website at the start of the project - many people can only visualise this after seeing the first draft of the website. It's perfectly natural for a client to change the requirements during a project - either by requesting additional pages or features that haven't been discussed before, or by asking for something to be implemented in a different way. However, this becomes a problem if you don't know how to anticipate it and manage it properly. You start feeling resentful because the client is demanding changes that haven't been quoted for (but which you don't feel you can charge extra for), and the relationship starts to break down.
Here are some common scenarios where scope creep can become a problem:
- You quoted to "design a professional new website" without setting a limit on the size of the website. The client ends up wanting many more pages than you had budgeted for - but you can't bill extra for it because you haven't set a limit on the number of pages!
- You have designed a WordPress website using an off-the-shelf theme, but didn't tell the client you were using a theme - as a result, the client requests lots of design changes that will require major customisations to the theme. You are forced to make these changes within the original budget because you haven't explained that theme customisations weren't included.
- You are developing a custom WordPress plugin and the client asks for some features that you hadn't anticipated. Because your quote didn't clearly define what was and wasn't included, you can't say that it wasn't in the original scope.
- You are setting up a WordPress e-commerce online shop and didn't tell the client which plugin you were using. When the client asks for a weight-based shipping option half way through the plugin, you realise that this isn't available in the plugin you were using. Since the client hasn't agreed to the plugin choice, you feel obliged to add this feature from scratch.
3 ways to prevent scope creep in a WordPress project
1. Set clear requirements
Managing scope creep is all about "Requirements, Requirements, Requirements"!
If you don't have a clear written specification for a project then it's impossible to define what is included in the brief - or to identify when the client requests something that is a new requirement. At the start of the project, it's vital to produce a written brief that includes as much detail as possible. For smaller WordPress projects, this document should be sufficient for the whole project - whereas for bigger projects, you may need to provide an initial brief for the early stages of the project, with a clear expectation that this will be refined for the later stages of the project. A written spec can take many forms - it may be as simple as a few sentences in an email (for very small projects), a written quote that describes exactly what you will do for the price quoted, or a longer specification document.
Your written quote should include a clear statement such as "The price quoted is based on our understanding of your requirements, as described in [this proposal/separate specification document]". A clear project brief will put you in an incredibly strong position for managing scope creep.
2. Good and open relationship with the client
You need to build a relationship with the client that is open and upfront about costs, in a matter-of-fact way. This will make you more comfortable explaining when something they ask for is a new requirement, so you don't feel pressured to include it in the original budget.
3. Proactive project management
It's easy to get caught up in the day-to-day running of a WordPress web design or development project - in your desire to please the client and design a good website, your natural instinct is to accommodate their requests without question. Get in the habit of maintaining a wider perspective and regularly refer back to the original brief and budget. This will alert you to any scope creep as it happens, allowing you to actively manage the situation and keep things under control.
The following tips will help you to achieve these three things in your own WordPress projects.
Managing scope in different types of WordPress website project
Designing WordPress websites using a theme
At Barn2 Media we have a well-established process for designing WordPress websites using an off-the-shelf theme, which stops scope creep before it happens. When we first started back in 2009/2010, we got this completely wrong. We would listen to the client's requirements and select a theme ourselves, not getting the client's approval. Since the client hadn't signed up to the choice of theme, we ended up making an unlimited number of design changes until they were happy. It was the worst of both worlds for us (although great for the client!) - the client was effectively getting a custom designed website, but for the price of a theme-based website!
Nowadays, if the client wants to save money by using an off-the-shelf WordPress theme then we get their buy-in. We provide a shortlist of suitable themes and the client makes the final decision. Our proposals for this type of WordPress project make it very clear that the price is based on setting up the website using the features built-into the theme. We can customise the theme, but this is not included in the initial quote because it simply isn't necessary for most projects (and is also a bad idea for most themes, which aren't designed to be tweaked in this way). The client has already seen the theme demo site and has confirmed that they would like their website to look like this. Our job is to set up their website to be just as good as the theme demo, so we know exactly what is expected. Everyone wins!
Develop a custom theme from PSD to WordPress
This type of project makes it fairly easy to manage scope creep because you already know exactly what the website will look like. Your job is to build the website to match the PSD's, which the client has already signed off with a designer.
With this type of WordPress development project, scope creep tends to occur when the client requests minor changes to the design after you have started building the theme. For example they may request changes to link styles, button sizes, alignment issues etc. Lots of WordPress developers will make these changes as they're fairly easy to do. However this is a bad idea as changes like this will quickly start to escalate. The designer has thought carefully about every element of the design and how to make everything consistent - if you start making one-off tweaks to the design then visually, things usually start to fall apart. If you make one change then the client will ask for something else to change, in line with the change you already made. Before you know it, you have a classic example of scope creep.
If the client requests any design changes, it's best to go back to the designer and ask them to make the changes in a planned way. Your role is very clear: to convert the signed-off visuals to WordPress. Don't get involved in design issues.
Custom WordPress plugins
A WordPress plugin can be incredibly simple or incredibly complex. If you're managing a project to develop a custom WordPress plugin then it's important to have a specification document describing exactly what the plugin will do, from the perspective of each type of user (e.g. front end user, administrator, etc.). Be as detailed as possible and include a description of each of the plugin's features and how they will work, as well as flowcharts illustrating the process.
Your quote should refer to the plugin specification and make it clear that the price is based on developing the plugin in exactly the way that is described in this document. If the client requests changes to the way the plugin works then you should requote accordingly.
How to communicate with clients about scope creep - in a positive way!
Rather than getting defensive if the client asks for something new, learn how to present it in a positive way.
- Don't say (in an annoyed tone): "This is a classic example of scope creep, the brief is really running away with us. What you're asking for was not included in the quote."
- Do say (in a helpful tone): "Yes, we can do that for you. Since this is a new requirement that we haven't discussed before, I'll need to quote separately for this - however I think it's a really good idea and will make a big difference to your website. The cost will be..." (or if you don't agree with their suggestion, say "Yes, we could do that for you. Since this is a new requirement that we haven't discussed before, I'd need to quote for it separately. However, I think there may be better ways to achieve what you're looking for within in the existing budget, for example we could...")
It's a subtle distinction, but an important one that will help to keep your client onside. The trick is to be positive rather than negative and defensive.
Managing the budget after scope creep has happened
At Barn2 Media, we always keep the client updated with regards to the budget. I fundamentally disagree with the practice of doing work that is outside of the scope and billing the client for it later, with no indication of how it will affect the cost. Think about it from the client's perspective - very few people would accept this, yet a lot of WordPress designers and developers do this on a regular basis.
Where the client requests something new, immediately send a quote for the new requirement. Don't do any extra work until they have explicitly approved the quote in writing (email is fine).
If this ends up happening a few times then you should update your formal quote from the start of the project, and re-send it with all the extras included.
This is surprisingly important - it's easy to assume that the client is keeping a note of the extras they have agreed to. However I learned the hard way that this isn't always the case. We were designing a WordPress website for a client using an off-the-shelf WordPress theme. The project was going well and I had a really good relationship with the client. He kept requesting things that weren't within brief, I kept re-quoting via email and he kept accepting. A few weeks into the project, he requested an update on the total budget. The budget had increased by over £700, all of which had been agreed for him via email. However he was shocked by the new total and not realised how much the little extras were adding up. He couldn't afford the new budget, we had already done the work... needless to say, the project ended badly. If I had used my own initiative to send him an updated quote sooner then this could have been avoided, so please learn from my mistake!
As you can see, it's easy for scope creep to happen in a WordPress web design project. By thinking things through, providing detailed quotes and implementing clear processes, you can manage projects in an active way and prevent scope creep from happening.