Desenvolvimento Orientado ao MVP (Mínimo Produto Viável)
Tags: braziliandevs, learning, development, tutorial
Published: 2024-04-15 15:00:09

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnod9208d5hqajgqatuq.jpeg)

**MVP** é uma sigla que significa **Mínimo Produto Viável**. Em tecnologia se refere a uma aplicação em fase de lançamento que contém funcionalidades básicas para que o usuário possa resolver algum problema. **Um sistema complexo começa com uma versão simplificada**, é como se ele iniciasse como um skate, virasse uma bicicleta e por fim, evoluísse para uma moto.

## Identificação de Requisitos Essenciais

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zz6daqc3kgvlcap514xu.jpeg)

Vamos utilizar o exemplo do desenvolvimento de um aplicativo de música, onde uma pessoa poderá buscar artistas ou faixas musicais para ouvir em seu dispositivo. Um MVP nesse caso seria a equipe de desenvolvimento disponibilizar um sistema simplificado onde o usuário pode se cadastrar, fazer login, buscar álbuns, artistas e músicas para ouvir.

**A equipe deverá focar em desenvolver os requisitos definidos e entregar o mais rápido possível**, para que os usuários possam validar a plataforma. Não adianta construir um sistema ultra complexo se ele não tem usuários para validar tudo que foi desenvolvido. Pois é utilizando no dia a dia que os clientes vão indicar o que eles querem que o produto ofereça, e assim, nortear o desenvolvimento de novas funcionalidades na aplicação.

## Iteração e Feedback Constantes

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5pgov23icq5tt2k4jefa.jpeg)

**Assim que o aplicativo for disponibilizado, é essencial ouvir o que os usuários estão comentando sobre ele**. A coleta dessas informações podem ser feitas nas lojas de aplicativos, onde é possível fazer comentários sobre as aplicações disponíveis, em redes sociais, onde as pessoas compartilham sua opinião sobre produtos e serviços, e até entrando em contato com o cliente diretamente, para colher feedback da usabilidade.

Vamos supor que foi verificado a necessidade do desenvolvimento da funcionalidade de favoritar álbuns e músicas, pois os usuários possuem o desejo de identificar suas músicas e albúns favoritos. Essa nova funcionalidade pode ser dividida em duas tarefas, a primeira sendo favoritar álbuns. E a segunda, favoritar músicas.

## Agilidade e Flexibilidade

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6g15gc4dzsg2wasbo8y.jpeg)

Será criada as duas tarefas e estimado o tempo de entrega, que pode ser de 15 dias. Nesse tempo a equipe de desenvolvimento irá escrever o código necessário para que seja possível que o usuário favorite músicas e álbuns. Além do código, é comum que pessoas desenvolvedoras escrevam o que chamamos de teste, para validar se o código escrito está correto e criar uma camada extra de qualidade na aplicação.

## Ciclo de vida da aplicação

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fs1lvz49eayuzbhckp4l.jpeg)

Após entregar as funcionalidades de favoritar músicas e álbuns, iniciamos o ciclo de coleta de feedback novamente, verificando o que os usuários estão solicitando e desenvolvendo as funcionalidades que eles desejam. O time de tecnologia também realiza a manutenção do sistema, corrigindo bugs, que são falhas pontuais que podem ocorrer na aplicação, refatorando código, escrevendo testes e aprimorando a infraestrutura.

**É assim que as aplicações que nós utilizamos começam a sua trajetória e se mantêm relevantes ao longo do tempo**. Primeiro resolvendo um problema. Depois disso, ouvindo seu público e disponibilizando as funcionalidades que ele necessita.

> Imagens geradas pelo **DALL·E 3**