Consider a scenario where you wake up with a groundbreaking business idea: to create a revolutionary application with incredible features that solve everyday problems and attract millions of users. Now, with such an exciting concept, what’s the next step?
The discovery phase in the software development process might seem mysterious to many, including some business owners. Despite its seemingly profound and complex nature, it essentially encompasses familiar business processes.
Market Research
Maybe you want to build software for rating places, browsing hotels and restaurants, and leaving opinions. Sounds very useful, but I have to cool down your enthusiasm; there is already an application doing all of that and much more. It’s called TripAdvisor.
Does it mean you need to drop your idea and forget about it? No! You should analyse if it gives potential users something more or different than the competition offers. If you can’t figure out why someone would use your app if they have all the other similar products on the market, unfortunately, you should bury the idea and move on before you invest more time or money in the project without perspective.
I am sorry for such a pessimistic vision, but sometimes, that’s the role of an advisor. However, the product discovery process doesn’t need to look like that. It might happen that there are no similar products on the market and you’ve just found a golden goose, or there are similar products, but you can still offer some unique value, and the idea is worth further investment.
In this case, analysing the competition helps you specify your idea or can be an inspiration for additional features. This involves activities such as reviewing comments on their social media platforms, assessing opinions on the Internet, and examining their landing pages to identify any shortcomings in their applications.
Either way, without proper market and competition analysis during the project discovery phase, you can’t know if your app-to-be has any potential to become a successful product. Competitor research is the very first step not only for software development projects but for any venture, as it’s the best way to analyse your chances, and opportunity to find some great inspiration.
Customer Analysis
After initial market research, you know what you can offer, but you still may not understand who will buy your software project and why they should do that.
While creating any product, it is crucial to understand your target audience. Who are they? What are their needs and desires? What are their problems and joys? What is their financial situation? What are their habits?
All of that will help you develop the best product and market strategies. Application design, set of features, and even used technologies depend on the target group. It also has a huge impact on how you will sell your product, what your monetization mechanism will be and what channels you will use to get to the customers.
Let’s take a look at an example.
When you’re creating a high-end application for purchasing fashionable bags, your audience will most likely use iPhones and care a lot about the application’s UI style. On the other hand, if you’re building software for elderlies to order medications online, they most likely use medium-class Android devices, and UI simplicity is most important for them.
In the first case, you can most likely reach potential users through social media marketing and influencers, while for the second group, you’ll need to use more old-fashioned marketing strategies or reach their relatives and caregivers first.
As you can see, the target audience defines the whole approach to building (and promoting) a software product. This is why it is so important to take care of the discovery stage in the project initiation.
By dedicating time and effort to gain a profound understanding of your app’s users and the obstacles they face, you can offer features and solutions tailored to their needs and preferences. This strategy not only helps avoid expensive changes with time but also reduces the likelihood of making wrong decisions down the line.
In essence, committing to the discovery stage establishes the groundwork for a successful and user-centric app development process. For further insights, explore articles on buyer personas and building a go-to-market strategy.
The right (or wrong) definition of the end-users can determine the app’s success. That’s why I think this is the most important one of all the steps in the product creation process.
Idea Validation
Once you’ve clarified what you want to create and for whom, it’s essential to test your idea with real users before committing resources to app development. This is where the Minimum Viable Product (MVP) proves valuable.
Contrary to common belief, the MVP isn’t merely the simplest version of your app; instead, it serves as a tool or approach to validate your idea. Various types of MVPs can be employed, such as offline services to gauge demand, a brief promotional video, or a landing page with a subscription form. Developing a clickable prototype or a basic app are just two of the numerous ways to verify your concept with real users (I will mention that later).
For further details about MVPs, you can refer to my article on what an MVP is and why it’s essential.
The feedback gathered through the MVP testing process is instrumental in deciding whether it’s prudent to invest in developing the app, even with a few modifications, or if it’s more sensible to abandon the idea if there’s little demand.
Additionally, this feedback provides insights into users’ willingness to pay for your app, valuable information for the next step – building a business strategy. I strongly recommend conducting MVP-driven research before progressing to the next phases of app development.
Business Planning
The next step towards your own application should be business planning. Business analysis helps you establish the business goals for the product and put them in a financial perspective.
The discovery phase business analysis should answer the two questions:
- how much time and money will you (or other investors) put into this project?
- how much money (or other profits) do you (or other beneficiaries) expect to get out of this project, and in what timeframe?
Of course, to answer those questions, you need to figure out a lot of things about the project.
Cost Estimation
During this phase, it’s crucial to have a clear understanding of your app development budget. This awareness enables you to estimate your initial budget and timeline accurately. This might be tricky to do on your own, and I’d suggest asking experts for advice because if you underestimate it, the whole project’s success hangs by a thread.
I’ve discussed certain aspects of budgeting in my article on estimating software development costs (you can also review the costs of building an MVP). Here, I want to emphasise the importance of openly sharing your budget with the developer. Their role is to assist you in allocating it in a way that maximises value. Keep in mind that your contractor has a vested interest in the success of your app, as it signifies a long-term and mutually beneficial collaboration.
Additionally, remember that software development is not the sole expense. Costs for the database, servers, maintenance, ongoing development costs, and marketing are all factors that need to be considered.
ROI Estimation
To estimate the return on investment, you need to figure out how the project will bring you money. In other words, what will its monetization model be? It might be a simple buy to use, where you charge users once before downloading the app, you can decide on a subscription model popular for a SaaS platform or use a more complex mechanism based on advertisers and sponsors. For a more in-depth exploration of monetization models, you can refer to Katarzyna’s, our Head of Marketing, article on the topic. She provides a comprehensive explanation of each model, thoroughly exploring their characteristics, advantages, and drawbacks.
The hardest part (in my opinion) is to estimate how much money you can actually make and in what timeframe. This requires deep knowledge of the market, analysis of similar products, and predictions of the application user base growth.
Proper business analysis helps you understand the risk you’re about to take with your software project. It’s also a good moment to think about external investors, and that’s why Jakub, our CEO, crafted a guide on how to raise funds for your app, outlining the potential involvement of investors. It’s also an opportune time to revalidate if you want to jump into this investment at all. Assuming you do, let’s see what the next steps are.
Software Architecture & Technical Specifications
Now is the opportune moment to contemplate software architecture and technical requirements. Constructing software architecture involves making decisions and compromises, known as trade-offs, where developers carefully weigh various factors against project goals, constraints, and priorities. Striking the perfect balance means navigating competing objectives like performance versus scalability, flexibility versus simplicity, and development time versus maintainability.
The key lies in finding the optimal solution that aligns with the project’s specific needs and constraints. This ensures that the chosen trade-offs result in an architecture that is not only effective and sustainable but also meets the desired goals of the software system. For example, if your aim is to have thousands of users actively using the app simultaneously, your infrastructure must be prepared to deliver a seamless experience.
Considerations also extend to integrations with other tools or APIs that facilitate collaboration between applications. For example, in a travel app where users can purchase airline tickets, integrating with the airline system requires careful planning. Decisions need to be made regarding whether your app will handle the purchase or rely on a third-party solution and how issues or confirmations will be managed.
Additionally, security and legal aspects come into play. The development team defines necessary input and output data, addresses data privacy, and ensures compliance with security regulations. This stage is also the right time to establish a secure hosting environment, be it on-premises, cloud-based, or a hybrid solution. The choice of server size and capacity is crucial, with cloud solutions and serverless options being prevalent in many cases. Keep in mind that the complexity and specificity of integrations, as well as the niche nature of the system, can impact costs.
Project Scoping
At this stage, you should know who your go-to user is, what is the most important thing you offer them, and how you will make money on the product. Now’s time to start diving deeper into the application details and figure out what exactly users can do there.
This phase is vital for the people you bring on board to comprehend your business, objectives, and end-users. They must fully grasp the essence of what you are planning to build to contribute effectively. However, be prepared for your development team to challenge your ideas during this phase (at least, this is what we do). It’s part of the process, and it’s done to ensure that your project aligns with your expectations, your users’ needs, and legal requirements.
During this stage, you and your development partner must also precisely outline the features and functionalities of your app. It involves defining the specific actions a user should take to accomplish a particular task.
Usually, I recommend creating user flows and user stories for everything that users can do in the application. This will be the foundation to build wireframes and, eventually, a prototype that you can test on small user groups (which I strongly recommend doing in this phase of the project timeline).
Why is this stage important?
We create user stories to define what functionalities the application will have and what exactly users can do. Wireframes are the next step. , iIt’s a low-fidelity design already defining what pages (screens) we need, what elements are on each page, and how a user can navigate through them and make use of all the features we prepared. Creating wireframes is designing the whole user experience of our software project. It’s not colourful and pretty yet, but it’s defining the most important layer of the app – functionality.
Well-prepared user stories and wireframes at the point of discovery stage are also a huge help for estimating the project cost, so after having it ready, you can revisit your business plan and check if the expected cost of investment has not changed.
Prototype Development
The next (optional) step of the project discovery phase after creating the wireframes is a clickable prototype. However, it’s crucial to notice that not every software project requires building a prototype. It’s extremely useful in the case of bigger and more complex projects with a larger budget. In the case of smaller ones with limited funding, this step might be skipped.
It’s noteworthy that, at times, prototyping may be incorporated into the design stage of the process, but I find it valuable to mention it here as well. This is the first moment you can check the idea against external users, but my strong recommendation is to discuss the idea over and over again with your friends, family, and coworkers.
To build a prototype, we connect the views with each other in tools like Figma, and as a result, we can see a well-defined user journey. Creating a prototype brings you two values. Most importantly, you can visually represent all the actions end users will perform in the application, which is a great check of the application’s logic and usability.
The second value is that you have a very nice piece of work that can be easily presented to potential investors to gather external funds or to a testing group to gather feedback.
Marketing Activities Planning
Consider planning your initial deployment, marketing strategies, and announcements at this point. Don’t forget about the importance of marketing, as it plays a crucial role in ensuring the success of your software product in the market and increasing its visibility.
No matter how good your app is, if no one knows about it, it won’t generate any profit.