When you’re creating a new website or app, it might be tempting to dream big and work out the details later. But it’s always wiser to start by defining your solution first. At Hanson, we call this Requirements Definition and Solution Design.
This step starts with defining your requirements and how important they are. For example, some of your requirements might be “will work on tablets and phones (must have)” or “will allow users to upload a photo (really nice-to-have).” This allows us all to get an idea of the features that should be included (the photo above shows a list like this in process in our office), but it does not tell us how it’s all going to get there.
As part of the solution design, we’ll then turn these requirements into a high-level picture of what we’re actually going to build. For example, the “will work on tablets and phones” requirement might translate into “we’re going to build a responsive site that will have views for horizontal tablets, vertical tablets and phones,” and the “will allow users to upload a photo” requirement may turn into some high-level wireframes illustrating where that feature will appear for the user, how they will interact with it, and include the technical details of how that will be implemented, such as “we will custom code this feature and the images will be stored on the server” or “we’re going to use this 3rd party plugin and integrate it into our overall solution.”
This extra level of detail, the “how” we’re going to meet the requirements, is critical to having a successful project. There are probably others, but I’ve counted at least seven reasons to start with solution design.
#1: Achieve Universal Alignment
When everyone is working off of a bulleted list of desired features, each person has their own picture of what the final experience is going look like and how it’s going to work. That means you might think it’s going to work like X, your boss is thinking it’s going to work like Y, and the development team assumed it was going to work like Z (which is what they’ve estimated to this point). But when you start by defining the solution, it’s a lot easier to ensure that everyone has the same understanding, or at least gets to the same understanding, by the end of the solution design process.
#2: Find the Right Solution
User Experience Architects live for being able to help define the perfect solution for the end user. By defining the breadth of the solution at the beginning instead of in pieces and parts that are tied to two dozen assumptions we had to make in order to estimate the work, we can better consider issues from different angles, sketch out various options, and do creative problem-solving instead of getting locked inside a prematurely-defined scope box. The result is a better experience for the end user.
#3: Test Drive Trouble Spots
When you more clearly see the proposed solution, you may spot some areas that could be troublesome for your end users. With this level of definition up front, you can get user feedback on the planned solution through testing or focus groups before you spend time and money building something that may not be as usable as you thought.
#4: Know the Fits and Gaps
As I said above, at this point you have already gathered your general requirements, like “it needs to do X and have Y.” But those requirements usually don’t tell you where X and Y are coming from. If you spend the time to fully define the solution first, then you and your development team will have a much better understanding of what integration points you’re going to need, which ones you already have and which ones you’re going to need to build.
#5: Budget-Size Your Solution
Most of the time, you have some idea of how much money you’d like to spend on your solution. By providing that input now during the solution design phase, your development team can help you craft the best solution to meet your budget.
#6: Manage the Real Cost
This also helps you manage the real cost of a project. When an agency has to provide a fixed bid estimate for a project that hasn’t been defined yet, we make assumptions, giving you our best guess while trying to account for an unidentified level of unknowns. That might cause both the agency and the client to start off the project a little worried about “managing the project scope.” Instead, starting with solution design enables your development team to provide more confident estimates that match up with everyone’s expectations of the final solution. And more confident estimates often mean lower estimates, because there are fewer unknowns to plan for.
#7: Prioritize with Confidence
In many cases, you may not have the luxury of time or resources to build every single feature immediately, and so you end up prioritizing features into phase 1, phase 2, phase 3, and a “maybe someday” phase. When you do this prioritization up front, before you have a clear picture of the solution, you’re basically ordering these features around what you think are most important. But if you knew that that one item was going to cost 1/3 of your planned budget, would you still consider that the top priority? Defining the solution first gives you the information you need to effectively prioritize your wish list.
These seven reasons boil down to one reality: when you start a project by defining the solution, you and your development team have the right information when it’s needed to design and build the best digital experience for your end user – and do it on time and on budget.