When you’re developing software for clients, a common challenge you face is bridging the giant chasm between what you know and what your client doesn’t know about technology. It can often feel like you’re building custom automobiles for someone who’s never lifted the hood (and doesn’t want to).
This makes it really hard to get clear answers to the questions you have about the project, like what language or framework to use, or whether a CDN is needed. Non-technical clients often have no idea how to answer these questions accurately.
It’s easy to assume you know what’s best and propose a list of deliverables, but to really understand what the client needs—and to avoid building something that doesn’t solve their problem—you need to truly understand their needs and communicate effectively.
We’ve designed a 7 step process to help guide your clients through the scoping phase to get the results they want, save you time, and prevent the hairy wildebeest that is scope-creep.
[Also be sure not to miss out on an amazing, free tool linked to at the end of this article]
1. Start with your client’s vision
Be interested in fully understanding your client’s vision for the project. It’s easy to jump right into the technical details and product deliverables, but if you don’t understand the goal of what you’re building, you can easily miss something the client hasn’t thought to tell you.
Figure out in plain English what it is your client would like the project to accomplish and what the product should do. The technical details should follow the vision, not the other way around.
2. Simplify the project by asking “What problem are we trying to solve?”
Many clients have a habit of listing off all the features they want their product to include instead of articulating what problem they’re trying to solve for end users. Working through this step with the client in person or over the phone, as opposed to trading one-off emails, is very important so that both parties are on the same page. By taking this approach, you’ll often uncover solutions your client would never have thought of on his own, and also avoid overbuilding the product with features his users don’t actually need.
3.Understand what stage of the project you’re walking into
We’ve all had those clients who outsourced to a dev shop, spent many thousands of dollars, and are left with a broken product that is impossible to bug-fix. Your client may feel some attachment to the legacy product, but your job is to deliver the best results. Sometimes that means salvaging an existing product, and sometimes it means starting from scratch.
Talk it out with your client. If a previous version exists, ask your client to let you see it. Ask them what they liked about it (if anything) before throwing it out completely.
4. Conduct a user-walkthrough exercise
Have your client detail exactly how he envisions people will use the app and what steps users will take (i.e: first the user clicks the sign-up button…).
The benefit of this exercise is twofold; The client starts to see how many steps are involved and can gain a bit of appreciation for the complexity of what is being built, and you get a deeper understanding of how the client pictures his product working.
Any requirements that didn’t come up in the first few steps of the scoping process will often emerge here. If it does, that’s not necessarily your client’s fault - he might just not be accustomed to thinking through a product plan in such thorough detail, and from multiple perspectives. That’s why you should take this step-by-step, and not expect that the guidelines outlined in Steps 1 and 2 will be sufficient.
When discussing use-case scenarios with clients, it’s helpful to sketch wireframes on a whiteboard which will clear up any potential misunderstandings and offer a tangible way clients can see what will be built.
5. Search for inspiration
Ask your client to list other websites and apps that he likes and wants to emulate.This will uncover the level of polish, functionality, and design she is expecting. Ask her to go beyond identifying sites she likes, and to point out individual features and design elements that she loves about those sites. This way, if your client is expecting her app to work exactly like Facebook, you can direct her on the path to reality early on, before either of you have sunk any time or money into the project yet.
6. Define special project requirements
Clients often have requirements that we forget to ask about, or that aren’t spelled out in an initial request, such as working on-site, being available from 9-5 EST, or daily email updates. Get these spelled out early on and set clear, mutual expectations to prevent tension from arising when your client is expecting something you had no idea she wanted and you aren’t willing to deliver.
7. Take the guesswork out of pricing and offer your client choice
This is the big one. Clients often hesitate to tell you what they can afford to spend. There is a common assumption that you are going to try to charge the at top of their budget, regardless of the number. What a budget really tells you, however, isn’t how much to ask for—it’s how much development is possible within a specific dollar amount.
One way to ease the pricing discussion is to tell the client up front that you’re going to put together 3 pricing options for them:
- What can be achieved as a minimal solution to their problem. An MSP.
- What can be done for their budget.
- What can be done for more than their budget, to knock them out of the park.
We all know that every project is different. This system will fail to catch every single edge case. However, taking clients through this process will do the following:
- give you greater insight into their thinking about price, requirements, and timelines.
- give you a sense of which requirements they considers mandatory, which ones they consider important, and which ones they’re willing to trade off in the interest of time or money.
- give them a degree of architectural control over the process.
Also keep in mind that being transparent like this—even if your MSP option is much lower than what your client is expecting to pay—is just good business and an excellent opportunity to establish trust at the beginning. 90% of success in freelancing comes from repeat business and referrals, so developing a reputation for honesty will aid you in the long run.
Our free gift to you
We’ve used this system as freelancers and are so happy with the results that we’ve turned it into a web app we want to share with the online community. Feel free to send your clients here, and have them send the final scope link with you!
Check out our scoping app and let us know what you think in the comments below.