October 9, 2020
Building a great product people love and celebrate is everyone’s dream. Millions of apps are created each year with some greater success, while other struggles to find product-market fit. What is the difference? Even though there are many variables including sales & marketing, one of the main aspect is how well we understand customers and market.
Product development is a long process, which often takes months or years. Developing product without proper understanding of users or planning, leads to many gaps within the system, poor user experience and creates confusion among users.
In this checklist, we’ve highlighted step by step activities that you can take to properly understand your customers, and have necessary documentation ready before getting into the development phase. We’ve also included templates and examples that may help you.
Products are created for the people, by the people.
When it comes to software apps, there are many different types such as web apps, mobile apps, hybrid apps, etc. Depending upon the target customer, certain type of apps may work better than others. For example, a mobile app is best suited for younger generation as most of them use mobile devices compared to web. So, understanding the target customer is key to building right type of application.
When it comes to technology, there are many frameworks, stacks, programing languages, etc. Depending upon the type of app, the frameworks, technical stacks and infrastructure changes. The type of application should drive the technology selection and frameworks.
Additionally, when it comes to user experience or interfaces there are many different types and standards. Certain type of interfaces works for certain type of target audience. Similarly, there are also compliance and regulatory standards that your app must adhered to. For example, if your app is targeted for people with disabilities, then the standards such WCAG or ADA may be applicable. By knowing your customers, developers can use appropriate user interfaces (navigations, gestures, fonts, etc.) and standards.
As you can see, the user or customer profile is key to building the right type of app, choosing right frameworks, building right infrastructure, and so forth. Collecting a few details such as demographics, attitudes, behaviors, expectations and interactions, will help you to better understand the customer. More you know about your customer, is better. Spending the time upfront is well worth it.
If your app supports multiple types such as buyers and sellers in a marketplace platform, be sure to capture each user type. By collecting profiles for each user type, you can build necessary features that satisfies each type. Please click here to download a user profile template.
Once you’ve identified the user type(s), the next step is capturing the activities the user is taking to solve a specific problem or achieving results.
The purpose of this step is to understand the user’s real problems, challenges, frustrations or excitements. By capturing user’s journey, we can find ways to improve, automate or integrate the activities thus saving time, money or effort for your customers. For example, do you remember the time when the only way to shop is to drive to the store, find a parking spot, purchase items from limited options, stand in the queue and pay for it? The entire process has been streamlined through online shopping, thus saving considerable time, cost and effort for shoppers.
The common misstep people take is just get straight into the development phases without thinking through the problem or user journey, and making too many assumptions. When the assumptions are correct, the product is closer to customer’s expectation and becomes a hit. Otherwise, you spend too much time perfecting and becomes too expensive.
If you’re building a new type of product or building for a new type of user, then you can still go through the process by brainstorming and mapping out the journey as best as you can. By thinking through the journey from user’s perspective, you can create empathy and build better relationship with your customers.
Spending the time during the early stage, could save time, cost and lots of headaches in the later stage. Click here to learn more about user journey mapping with examples and templates.
The user journey mapping should reveal valuable insights about your customer, challenges and expectations. With the new found information, you can develop your proposed solution including streamline business processes, tools, features, etc. A product roadmap is a high-level visual representation (blue print) of your product features that you want to build over time.
The product goes through different stages from development, launch, growth, maintenance and retirement. The product roadmap helps you to prioritize the features that you want to build short-term (Minimum Viable Product) and long-term. For example, in an e-commerce scenario, buyers may prefer to use credit or debit cards comparing to checks. You can release your product with credit/debit card payments first, and check processing at later stage.
In addition, the roadmap also helps you, your team and other stakeholders to see where the product is at any given time. Without the roadmap, you may end up creating many random features without clarity. Please click to learn more about product roadmap with templates and examples.
At this step, you should have a prioritized list of product features that goes into your product. As the product catalog is very high-level visual representation, this does not provide enough information for the development team to build the feature.
A product catalog is an ordered list of prioritized features with detailed information. The product catalog should provide enough details to build, test and verify the product features. As the product matures, you will continue to refine the product roadmap and catalog with additional details. At the beginning, you should have features for at least a few iterations.
Ensure each feature captures the user requirements and acceptance criteria. Below are some of the information captured for each feature in the product catalog.
As stated earlier, product development takes time, cost and a lot of effort. In the past (waterfall), product owners have to wait until the product development was complete before releasing to the market. The agile approach emphasizes an iterative process releasing features in small increments – frequently, and collecting customer’s feedback.
Sprints could be of 1, 2 or 3 weeks. By grouping the features into sprints, you can build the product iteratively and incrementally, mainly focusing on a small set of features at a time. This also helps to get the product in front of customers faster, collect feedback sooner and validate assumptions. If there are any gaps in the system or customers facing any challenges with the product, you can fix it immediately.
There are many different ways to prioritize the features. FreelancingTeams uses a MoSCoW method, which categorizes the features into four categories – Must-haves, Should-haves, Could-haves and Wont-haves. You can click here to learn other options.
At the planning stage, it is quite common to make various assumptions about users, market, product, etc. If your assumptions are accurate, then you are product is closer to product-market fit. So, at this stage, it is a good practice to capture the assumptions, so you can validate it later. When the product development is complete, you can validate assumptions.
You may also want to understand the constraints, so you can effectively manage them. The constraints may be related to limited technical knowledge, resource constraints, financials, etc. By understanding and documenting these constraints, you can find ways to mitigate them, avoiding any surprises at the later stage.
By going through the above steps, you should have a clear understanding of users, their journeys, proposed solutions, product roadmap, product catalog and prioritized list of features for the first few iterations.
You should also have clarity of the type of product you want to build, application or tools to integrate, data to collect or metrics to produce. Using this information, you can hire a specialized teams from FreelancingTeams platform and start building your product iteratively.
The information you collected, will certainly help the development team to find suitable technical solutions, architectures, frameworks, technology stack and deployment options. The detail information will also help the team to come up with detail cost and schedule estimates. Click here to learn more about hiring a software development team.
In summary, product development is hard, time consuming and requires a lot of effort. With proper understanding and planning, you can build a great product that your users love. This may seem a lot of work, but collecting the necessary details upfront will save tons of time in the later stages. For a startup product, this should take two to three weeks to compile necessary details.