Building an MVP with SINAPTIA
In our previous post, we've learned that an MVP is a product with just enough features to allow users to experience its core functionality, and that its main goal is to test the market fit as quickly and efficiently as possible, by gathering feedback from the users and using that feedback to iterate and improve the product. As such, it can be challenging from many perspectives. From defining such features, to defining a deadline and choosing the right technologies. At SINAPTIA, we're here to help you through the process.
First things first: the idea. You, as a client, must have a clear definition of your idea. What's the audience of the application and what you're trying to probe. At this stage you might have a lot of features in your head but you must concentrate on those that are key to test your idea. That is, some features are indispensable to test your idea and some features are nice-to-haves soon after validating your idea, but sometimes the line is not properly drawn.
The more features you define at this stage, the longer it will take to finish and get the MVP to the market. At SINAPTIA we can help you define what features should be part of the MVP, and we do so by separating the features in 3 categories:
- essentials: features that represent the core of your idea, its essence.
- nice to haves: features that can provide value in the short term, but the MVP can be probed without them.
- out of scope: features that can be part of the product in the future, but we will leave them out of the MVP.
Having the idea well defined, we like to define two things: UX/UI and technology.
User Experience/User Interface (UX/UI)
Do you have designs? Depending on the answer we can follow one of these 2 paths: build a custom UX/UI from scratch (either with your designs or helping you define them), or use a UI kit or template.
If you have designs and it's not a template, then we can review them and then plan to implement them using TailwindCSS. If it's a template, then it's just a matter of using it.
If you don't have the designs don't worry, we can help you define the UX/UI of your application. Depending on the budget and the time we have, we can either build a custom UX/UI from scratch like we did for Free The Freela or Dunu506. This alternative is the more time consuming as developing a custom UI from scratch will take a good amount of effort. On the other hand, if we are either time constrained or budget constrained we recommend starting with a UI kit. We successfully used TailwindUI in the past and we love it for its ease of use and customizability, but we are open to use others if you have any in mind.
In terms of technology, there are several aspects we have to consider. First, the stack we're building. Second, the infrastructure, ie. where we are going to deploy the code we'll be producing. Regarding the stack, we are experts in Ruby on Rails and React, but we also have experience in Node. Depending on the kind of application we're building we're going to define a stack accordingly. Regarding the infrastructure, there are several alternatives and it really depends on the budget. We are comfortable with Heroku (easier for developers) and AWS (requires more developer hours), but are willing to use other platforms (we also used Google Cloud Platform and Azure in the past).
Roadmap and Project Management
Once the discovery stage is completed we should have a well defined especification of what we're building and how we are building it. So now's time to assemble the team, define the methodology of work, and write tickets. Basically, everything we need in order to start working.
As for the team, the composition varies from project to project, and it depends on the complexity, the duration and the needs. For example, if there's no UI work involved (ie we're using a template or TailwindUI, or you already have the design) then there's no need to have a UX/UI designer in the team, or at least not working full time. Or if the MVP is too big or needs to be completed in a shorter period of time than estimated, then it will probably require more developers. But beware, more developers doesn't mean more velocity.
The experience has taught us that our ideal team for an MVP consists of a fullstack developer, a frontend developer, a QA engineer and a project manager. Add an UX/UI designer if the project requires it.
As for the methodology of work, we do a relaxed scrum. This means we split the work in sprints, we have daily standups, sprint planning and demos. But we try to keep bureaucracy to the bare minimum. One thing to note is it's extremely important for us that you are part of the team (not only providing guidance and acting as the Product Onwer) and as such you need to be part of the daily standups, sprint planning meetings and demos.
Once the Roadmap and Project Management are in place the development of the MVP starts. The progress of the project will be slow at the beginning as the foundations need to be built but the team will gain velocity as the following sprints start.
In order to see the demos at the end of each sprint, we will deploy the project to a staging enviroment that will serve not only for demos but also for testing and validating everything's exactly like you expected.
Once the development of the MVP is complete it's time to deploy it to the production environment. From this point, the MVP is considered to be finished and it goes into maintenance mode. But will talk about that in other post.
If you've reached this line, you now have a fairly good idea on the basics of what is it like to develop your MVP with SINAPTIA. Let's do a quick recap on the key stages that we will be working on:
- Discovery phase: find and clearly differentiate the essentials, the nice to haves and out of scope, find the correct tech stack.
- Set the Product Roadmap and assemble the team: define the work methodology and team needed to reach the goal. Remember, more people does not always mean better pacing.
- Development: well, development speaks for itself.
- Launch: it's your product to the market, it will be key having a good launching marketing strategy to get the world to know your product.
If you'd like to go learn in depth about our methodology stay tuned to the next installments of this series. Or schedule a call with us and we can chat more in depth about it.