Aplicando a matriz de priorização no desenvolvimento de features
Você ou seu time perdem muito tempo em uma determinada tarefa?
Depois que comecei a aplicar esse framework aumentei a produtividade em 30%.
Vamos para um exemplo prático do que estou falando:
Você foi solicitado para desenvolver uma feature de uma empresa de venda no balcão, onde o cliente chega na loja faz a compra e vai embora, essa empresa hj não sabe quem são os clientes dela e ter um cadastro para futuramente enviar mensagens com promoções e em datas especiais.
Sua tarefa como desenvolvedor é fazer um formulário com os seguintes campos:
- Nome
- Celular
- Telefone
- Endereço
- Bairro
- Cidade
- UF
- Complemento
- Cep
Porém, antes de desenvolver você precisa montar um checklist como esse, (se você não faz então comece urgentemente).
- Padronizar os inputs de acordo com dados recebidos
- Validar campos obrigatórios se estão preenchidos
- Validar se o campo de texto tem pelo menos 3 caracteres
- Validar se o telefone está digitado corretamente
- Validar se o email é de um provedor válido
- Confirmar o email com token de segurança
- Informar o código do país nos campos telefone e celular
- Validar se o celular com token via SMS
- Caso o usuário saia durante o preenchimento voltar com os dados preenchidos
- Caso caia a internet avisar o usuário que a conexão dele caiu e que os dados não foram salvos
- Se o campo for imagem exibir uma prévia da imagem
- Validar se o tamanho da imagem é correta
- Preencher o CEP e completar o endereço
- Dividir o formulário em 3 steps
- Bloquear o campo cidade para só ser preenchido ao digitar o cep
- Caso não tenha complemento adicionar checkbox para o campo complemento ficar desabilitado
Depois de montado o checklist, vamos a priorização
Do lado de cada item numa escala de 1 a 4 você vai classificar o grau de urgência e o grau de importância, exemplo:
- Padronizar os inputs de acordo com dados recebidos [Importância: 4, Urgência: 1]
- Validar campos obrigatórios se estão preenchidos [Importância: 4, Urgência: 4]
- Validar se o campo de texto tem pelo menos 3 caracteres [Importância: 1, Urgência: 1]
- Validar se o telefone está digitado corretamente [Importância: 4, Urgência: 4]
- Validar se o email é de um provedor válido [Importância: 4, Urgência: 2]
- Confirmar o email com token de segurança [Importância: 2, Urgência: 1]
- … continua
Depois de classificar, aplique a seguinte tabela:
Após aplicar a tabela temos:
- Padronizar os inputs de acordo com dados recebidos [Programar para fazer]
- Validar campos obrigatórios se estão preenchidos [Fazer agora]
- Validar se o campo de texto tem pelo menos 3 caracteres [Ignorar]
- Validar se o telefone está digitado corretamente [Fazer agora]
- Validar se o email é de um provedor válido [Programar para fazer]
- Confirmar o email com token de segurança [Ignorar]
Conclusão
Não existe classificação certa ou errada, tudo deve ser avaliado com base na necessidade do cliente (Job To Be Done).