From concept to MVP

Imagine that we want to create an effective habit tracker. After a comprehensive study of competitors and other marketing research, mission statement, and ideas, we came to our final concept: "iOS & Android mobile application that will allow you to maintain a database of habits and will write off 1000 rubles for every second habit pass."

The concept is there, now it's time to think about what an MVP should look like.

MVP is the minimum viable product. If you go into details, then MVP is a product that has a minimal implementation of key functionality that makes the product suitable for use and, in particular, for its sale.

Based on the experience of working with entrepreneurs, startups, and with their projects, the first MVP concept will contain the following functionality:

1. Add/Remove/edit habits from anywhere in the app;

2. Widgets to see how many habits are left to perform;

3. Hundreds of different reminders about the time of the habit, about the promotion, about the birthday of the father of the founder of the project, etc.

4. Connect 100 payment systems so that even the Khoisan people can pay for the missed habit.

5. Statistics with extensive detail.

And another 100500 chips, which seem to be an integral part of the product.

And then it's time to reflect. The key question of our reflection is: "Why do I need this function?".

Before asking this question, it is necessary to identify what is the most important thing in the product and what functions are necessary to implement the most important thing.

This process looks like this:

1. What is the key functionality in my product that is the point of difference from competitors? 

In the case of our solution tracker, this is a write—off of 1000 rubles. for an expired habit. Now our main task is to make the most minimal functionality for its operation.

2. What does it take to make the key functionality work?

— Internet acquiring is the heart of the key functionality.

— The ability to add habits so that there is something to write off money for.

— Notification of the need to perform a habit in order not to look like robbers.

— Functions required according to store guidelines. For example, deleting an account.

Great! We have decided on the functions that are vital for our solution tracker.

3. We did everything smoothly, but more often after point 2 it is required to run through the functions several times with the question: "Why do I need this function?". And if there is even the slightest hint of the answer "there is no need", then this function should be eliminated, or reduced to something simpler.

We have decided on the minimum that we need to implement. But there is one more component that needs to be worked out — the implementation period of the MVP. We will talk about it in the next publication.



Composition of the IT development team

In this article we will look at the composition of the IT solution development team


About graphs, simply.

In this article, we will begin our acquaintance with graphs, get acquainted with the breadth-first search algorithm (BFS) and implement the graph in the Rust programming language.


What is the difference between outsourcing development and outstaffing an IT employee for development?

In this article we will understand what outsourcing and outstaff development are.


UI/UX design: The creation process

In this article we will talk about the main steps in the process of creating UI/UX design.


UI/UX design: Introduction

In this article, we begin to get acquainted with UI / UX design. This is the most important stage in the development of any visual application interface.


Agile, Six Sigma and No Principle

In the last article, we started diving into the development process. The first stage of this process is planning. At this stage, the project manager, together with other team members, forms a pool of tasks in accordance with some kind of project management methodology.


Meet the Pentest

We are beginning to consider one of the main methods of assessing the security of computer systems and networks for potential vulnerabilities - penetration testing


Reducing the implementation period of MVP

Let's figure out the timing of the implementation of the MVP.


Choosing a programming language

In this article we will talk about choosing a programming language to study


Testing an MVP concept

We will figure out how not to waste the budget on MVP development in vain


Application Architecture Design: Introduction

In this article, we will talk about the process of creating the architecture of an IT solution.


The terms of references: Structure

In this publication we will consider the universal structure of ToR


Incorrect estimation of the cost of IT contractor services

Today we will talk about the incorrect assessment of the cost of developing IT solutions. This pain is one of the main ones for enterprises and startups, including IT contractors themselves.


Introduction to Design Patterns in Software Development

In this article, we will begin to dive into the world of optimizing application architecture using design patterns.


Choosing the direction of development for programming training

In this article, you will find out what areas of IT development there are, how they differ and in which they pay more


OSI Model Levels

In this article, we will take a closer look at each of the levels of the OSI model


Main types of application architecture

In this publication, we will look at what application architectures are


10 ways to use Rust Cargo

In this short article I have collected 10 ways to use the build system and package manager of the Rust programming language


Documenting code in the Rust programming language

In this article, we will look at how documentation takes place in Rust and consider a very useful opportunity - writing tests through documentation.


Introduction to the OSI model

In this article we begin to consider the fundamental model of network interaction - OSI


CSS animation ripple

A simple example of how to implement ripple animation using HTML and CSS


What is the purpose of an ER-diagram in the development process?

Let's discuss in general terms what an ER diagram is and what it is used for.


What are UML diagrams used for?

In this article we will talk about what UML diagrams are, what they are and where they are used


Introduction to writing the terms of references

The Terms of Reference are an important part of the development process. In this article, we will begin to dive into this issue.


Introduction to software development

Today, most companies are faced with IT development and often do not get what they want. In this article, we begin to dive into the process of creating IT solutions.


From idea to concept

In this publication, we will talk about how the idea differs from the concept. Let's do this with an example of a specific goal


IT project management methodologies: Waterfall, Scrum, Prince2

In this article, we will consider the basic methodologies of IT project management.


Weighted graphs

In this article, we will get acquainted with weighted graphs, Dijkstra's algorithm, and its implementation in the Rust programming language.


Development Process: Planning

In this publication, we will begin to consider the development process. Let's start with the planning process.