Descrever sua Ideia

Você teve a ideia de um software ou aplicativo inovador, fez benchmarking do mercado e validou com potenciais clientes. Agora chegou o momento de colocar sua ideia no papel para que um desenvolvedor possa ajuda-lo a estimar o tempo e custos do desenvolvimento, e de fato entregar o software conforme você idealizou. Saber descrever sua ideia ao desenvolvedor de maneira eficiente faz toda diferença para o sucesso do projeto.

O importante nesse momento é criar e compartilhar a mesma visão do software entre você e o desenvolvedor ou a equipe de desenvolvedores. Sem a necessidade de detalhar muito o que deverá ser desenvolvido. Para isso vamos adotar práticas de desenvolvimento ágil para descrever o conjunto de objetivos e funcionalidades do sofware, definindo assim o seu escopo.

Definindo os objetivos do seu software.

Um software pode ter um ou vários objetivos, isso vai depender do problema que ele soluciona ou do nível de inovação. Um software para gestão de trânsito por exemplo pode ter vários objetivos como: notificar condutores, processar multas e gerir recursos. Enquanto uma plataforma de pagamentos online tem como único objetivo permitir que os clientes paguem suas compras.

Faça uma lista com todos objetivos do seu software de forma clara e objetiva para facilitar o entendimento dos desenvolvedores.

Como criar as histórias de usuários do seu software.

Agora que você já definiu os objetivos do software é preciso definir as histórias de usuários (User Stories). Que são as funcionalidades que o seu software deverá conter para atingir os objetivos definidos anteriormente. Ou seja, enquanto os objetivos são o “porquê”, as histórias são o “o que” do software.

Para criar as histórias de usuários existe um modelo muito simples que nos ajuda a manter uma linguagem comum e de fácil compreensão tanto para você quanto para a sua equipe de desenvolvimento. Esse modelo é formado pela estrutura:

Como alguém, poderei realizar uma ação, para atingir um objetivo

Explicando um pouco mais como preencher cada um desses itens;

Alguém: É onde você informa a persona ou tipo de usuário responsável por realizar determinada ação. Exemplo: o gestor de empresas, o vendedor, o comprador, o instrutor, a professora, o farmacêutico e etc.

Realizar uma ação: Onde você descreve a operação que o usuário poderá realizar através do software. Exemplo: fazer login, cadastrar produto, lançar despesa, imprimir relatório, alterar preço de venda, confirmar pagamento e etc.

Atingir um objetivo: Informe o objetivo a ser atingido quando o usuário realizar a ação no software. Exemplo: obtenção do saldo bancário, atualização de estoque, apuração de resultado, notificação de promoção e etc.

Alguns exemplos de histórias de usuários são:

Como cliente, poderei incluir mercadorias no carrinho, para efetuar uma compra.
Como administrador, poderei consultar o extrato bancário, para apuração do saldo bancário da empresa.
Como farmacêutico, poderei transmitir movimentação de medicamentos para Anvisa, para manter estoque atualizado e evitar multas.

Criando boas histórias de usuários.

Mesmo sendo muito simples o processo de criação das histórias de usuários. Existem alguns cuidados que devemos tomar para que elas não sejam mau interpretadas. Uma forma de garantir qualidade é utilizando o método INVEST, que é acrônimo de (Independent, Negotiable, Valuable, Estimable, Small e Testable). Que são as características necessárias que uma boa história de usuário possui, detalhando um pouco mais seriam:

Independente (Independent): Deve ser independente uma das outras.

Negociável (Negotiable): Deve possibilitar a sua negociação, ou seja, pode ser priorizada ou postergada conforme a necessidade.

Valor (Valuable): Deve proporcionar algum valor ou benefício ao usuário.

Estimável (Estimable): Deve possibilitar que um desenvolvedor possa estimar o tempo de desenvolvimento necessário.

Pequena (Small): Deve ser pequena o suficiente para ser desenvolvida em uma iteração.

Testável (Testable): Deve possibilitar ser testada e demonstrada ao usuário.

O Backlog do produto é a base para as estimativas de entrega e custos.

A lista que contém todas as histórias de usuários é chamada de Backlog do Produto ou Product Backlog. É com base nessa lista que a equipe de desenvolvimento poderá estimar o tempo para entrega do software e consequentemente os custos do desenvolvimento. O Backlog do Produto é fundamental para a comunicação entre o dono do produto ou Product Owner e os desenvolvedores durante todo o processo de desenvolvimento do software.

Quer saber mais sobre como criar seu software? Deixe nos comentários.