How to Scope Tech Projects
Yesterday I had a kick-off call with a potential client where we talked through their needs for a website redesign. They have a Wordpress site but not a lot of in-house expertise on how to update and manage it. In fact, they seem a little bit scared of their own site. They opened the conversation by telling me that they were afraid to make any changes because there were so many plugins that they may break something.
This is usually the state of affairs for my clients: little technical expertise, lots of other things on their plate, and fear of making things worse. That's why effective project scoping is incredibly important. Setting clear expectations and guardrails are important for any project, but especially valuable for clients that are not experts in the field and cannot devote full attention to the project. This can prevent miscommunication and conflict down the road (especially on payday)!
Step 1: Synthesize Client Goals (Function over Form)
Clients often come to our initial meetings with a lot of ideas for how their site can be improved, but they usually don't have the context to evaluate them or see how they fit together. I like to ask questions that clarify and synthesize these ideas:
Who are your target customers?
What do you want your customers to be able to do on the site? (e.g. buy products, view information, reserve a class)
What is the current site functionality? Is there additional functionality that you would like to add?
By focusing on what the site should be able to do rather than what it looks like, I can get to the root of the problems that the client is experiencing and start scoping the simplest and most effective solution. It will also give me more direction as I research the potential solution to see how long it will take me and how much it will cost the client.
Step 2: Align on Budget and Timeline Up Front
I always ask the client for an estimated budget in our initial conversation. This isn't a negotiation trick, but rather a necessary safety measure since the web development industry has very large pricing fluctuations. It just doesn't benefit anyone for me to scope out a project that is 4x the client's max budget (it has happened!)
If the budget is too small or the timeline too tight, this is an opportunity to discuss and try and set new expectations with the client. If we can't reach an agreement on these two things, then the partnership won't work. So it's important to get a general sense of these requirements early on.
Step 3: Provide Options at Different Budget Levels
If this looks like a promising partnership, I will put together a Statement of Work. I always put together an itemized SOW that has at least three phases. Each phase contains a complete deliverable and allows the client to move forward with the project in digestible chunks:
Phase 1: Simplest Minimum Viable Product (MVP) - This phase covers the most basic client asks to quickly provide value quickly. Usually this phase is significantly under budget.
Phase 2: Functional Updates - This phase includes more sophisticated work to accomplish functional goals and optimize key customer journeys. This usually includes all work we can fit in their initial budget.
Phase 3: Nice-to-Haves - This phase includes everything that doesn't fit in the budget, isn't fully formed, or not a hard requirement. I find that normally clients have enough on their plate with the core requirements, and it's best to revisit and scope these later.
The goal of this methodology is to give the client a series of options to choose from and understand more clearly how different tasks contribute to the budget and see how I am interpreting the project priorities. With clear scoping, it can be much easier to keep everyone on the same page and bring projects to life!
Bennett