When you start breaking down your idea and deciding what your platform or app needs to do, it can sometimes feel like Alice in the rabbit hole. In this article, I'm going to look at how much detail you need to get into when defining your product (aka writing requirements).
So, how do you get from an idea to something that actually does what you want it to? Describing what you want your product to do is a skill that most people haven't tried before. In a previous article, I gave you the basics for describing what you want. The difficulty is often in deciding how much detail you need to provide to your developer.
When you sit down to think about what your product can do, you can find yourself writing and writing and writing with no end in sight. That's because you've really started to think about what a user is doing as they interact with your platform or app. You're also thinking about all of the possible scenarios that might occur. All of a sudden, something that seemed very simple, now involves a lot of things.
How do you end up this way?!
Let's look at building a house. You tell your builder that you want a 4-bedroom house. Imagine what that house will look like. Think about how many storeys it might have, how many other rooms there will be in your house, where the bathrooms will go, etc. That list of things that you want can go on, and on, and on.
The thing about building a house that is similar to a platform or app is that the end product can come down to some very minute things. While the frame of a house or app can be relatively high level, the end product is far from bare bones.
In order to have a finished house, you have to decide on some very cosmetic things - like paint colours and door knobs, but you also have to decide on some very functional things too. What kind of window dressing would you like? Heavy drapes may block out light and sound, but they can be difficult to clean. How about soft-close drawers that won't slam on your fingers? Or a mixer taps in the bathroom rather than two individual ones?
You make the same kinds of decisions for an app. What colours are in your brand? What size and shape should buttons be? Should you be able to filter or sort the search results? What should the filter options be? The cosmetic decisions are important for user experience and screen design, but it's the functional ones that are important for your requirements. If you can't describe what you want to do - in detail - then how can a developer build it?
So, how much detail do you need for your requirements?
The answer is an infuriating "it depends". The level of detail needed for your requirements will vary based on a number of factors:
- Your developers: more senior developers with be able to take a higher level of detail, ask questions and drill down to what's needed. However, less experienced developers will need you to be more prescriptive about what you want. They'll only code what's written down on the page - even worse, they'll make assumptions that you haven't anticipated!
- Standard functions: there are a lot of things in a platform or app that are fairly well known. A log in page for example is fairly standard. You might not need to get into a lot of detail here. There are also other common functions like taking payments. However, there can be a lot of variation here too, so you may need to be more specific in your requirements.
- Complexity: this applies when you want the platform or app to do something that's more complicated. It might involve more steps, lots of data or have multiple scenarios. In this case, you probably want to provide more detail in your requirements.
- How important is it to you?: The final factor is probably the best guideline of all. If you want something to work a particular way, then you need to include it in your requirements. The easiest way to ensure the you get what you want is to write it down.
Why should you care?
There are a few reasons why the level of detail is important. At the end of the day, the level of detail that you can provide about what you want will affect the development quote that you get. If you don't have a lot of detail, then developers will make a lot of assumptions when giving you a quote. If those assumptions are incorrect, you'll end up paying a lot more than the quote to get your product built.
Also, the more that you think about what you want, the better you'll get to know your product. An idea is so different from an actual platform or app, and you'll find that even the simplest functions have nuances that you've never considered. The clearer you are about what you want, the easier it is to talk to people about it. Ultimately, you need to be the expert in your product, and that includes knowing exactly what it does, and the purpose of each feature and function. Otherwise, you'll end up building functionality that no one uses.
One last note, don't confuse detailed with lots of requirements and a large project. To begin with you want to aim for a small project with the bare number of detailed requirements. It's the quality of those requirements that count.
Need some help defining your product for your developers?
Check out our requirements writing course.