As a curious person, I often like to talk with people about how they started. After several conversations with some people about their careers, lifepaths, and ambitions, I have found one thing these stories have in common – when they started, they could barely expect what they would eventually become. That was the first time this insight struck me.
The second time was when our product management team was working on finding the product-market fit for the Yaza project. To us, our quest to Yaza’s product-market fit resembled this life path – we started with an idea of social media but developed a real estate software that proved to be a perfect fit.
In this article, I want to reflect a bit on how we found the product-market fit for Yaza and what lessons we deduced from this experience.
Where We Started with Yaza
Yaza is a map-based video storytelling app that realtors use to build trust with remote buyers and sell more homes. But it has not been like that from the start.
In 2018 Peter Sisson, Yaza CEO and co-founder, approached Uptech with an idea to develop a social media app. The product was supposed to become an “Instagram on the map” allowing video-sharing.
The client had partially completed the alpha testing by that time. However, he still had doubts about the idea's feasibility and what the app’s potential target audience should be.
In this situation we had to choose a development model that would allow us to develop the app while testing it with users, making changes, and validating the idea all along the way. After some time of searching, we found the iterative development model was a perfect solution for us.
What is Iterative Development Model?
The idea of iterative development is that instead of one long sequence of acts, the product life cycle is broken down into mini-cycles (iterations). Each of these iterations is an individual component that is developed and improved to be further added to the whole functional developed earlier. The result of each mini-cycle is an updated version of a product that is tested with users.
The most significant advantage of iterative development is that the product does not have to be fully developed before being put to the test. In fact, it only suffices that the basic functionality is ready.
However, this approach is not a saving boat for any project. The iterative development will suit if you are:
- Building an MVP for idea validation and search of the product-market fit;
- Working on early-stage startups with no clear vision;
- Aiming to develop a product that responds to specific user needs;
- Interested in constant continuous development.
On the other hand, iterative development will not suit those cases when you have strictly limited time and budget.
What We did Wrong
In the first stages, we focused too much on the details and tried to bring all features to perfection. However, after we carried out some interviews with the users and tested the product, it turned out that we had to change the significant part of the functionality.
For example, after validating the prototypes, we implemented smart tags and video filtration. But only after the product's release we realized that it was hard for users to understand how to use this functionality. So after several iterations, we united similar features with the search line and achieved the expected results.
We realized that changing the complete functionality can take a lot of time for the development team and slow down the work. At some time, we stopped reaching out for perfection and became flexible.
How We Improved and the Lessons We Learned
It took us several months, multiple product iterations, and myriad user tests to find out that Yaza was not a social media app. Instead, it was a real estate app that helps realtors showcase apartments by simply sharing videos on a map.
The iterative approach helped us a lot in that. Still, there are some lessons that we deduced from this experience:
Discovery Stage is a Must
The Discovery stage is a phase of the product development lifecycle when we learn about our user and the problem that he/she has. This stage of product development is critical, as it helps us build a product that directly responds to the user's needs. Here is the roadmap that we follow during the discovery stage:
- Hypotheses: Delivering a Solution;
- Problem Statement;
- Assumptions of solutions;
- Lean Canvas – business idea execution;
- User interviews;
- Proto Persona;
- Prototyping and testing
- Customer Journey Map (CJM).
Development should not take much time
To validate the product’s idea, it will suffice to have only the basic functionality. After testing the MVP with the focus group, further requests for the product are determined. In this case, the code does not have to be perfect. Yet, it should carry out its primary task and allow carrying out user testing.
Close communication with users is the key
We made close interaction with users the core of the whole development process. User interviews, tests, and surveys helped us to crystalize the user flow's main pitfalls and make corrections along the way.
It's also important to build closer relationships with users who constantly use your app, as they're the people who can help constantly improve your product.
You need to share common vision with the team
You must be on the same page with your team and share the same vision of what the product might look like. Otherwise, the development will slow down and will give minor results.
To achieve the team's full involvement, it is crucial to make the whole team a part of the Discovery Stage. Based on the information gathered at this stage, we form the future project's general vision and functionality.
Besides that, it is also recommended to have a roadmap for planning the product's development. As the requests for products change all the time, the roadmap helps to organize it in a flow and visualize this process.
Stakeholder should be on the same page with you
We had to explain the methods and values we were applying during the development, including the iterative approach. At the start, the stakeholder insisted on making instant changes to the product and implementing ideas right off the bat.
I explained what iterative development is, why we need to validate ideas before implementing them, why it is essential to communicate with users and check out hypotheses. After several iterations, we worked as one team.
The main lesson we learned from working on Yaza is taking it in small steps. Firstly, it is better to create a product with a basic feature for a small group of people. By solving a problem for a small number of users, we can better understand the user’s needs. Later we can scale it up to tackle even more user problems.
In the Yaza project, we managed to respond to the relevant user problems at the outbreak of COVID-19. The app allowed real estate agents not to lose their jobs but provide home overviews remotely. We are proud we could effectively respond to this user problem.