Métricas para que te quero?

Como incorporar métricas e dados no dia a dia no desenvolvimento de software
No dia 30 de março de 2021 apresentei uma palestra sobre um tema que gosto muito que são como utilizar métricas no dia a dia do desenvolvimento de software.
Essa palestra é parte integrante do processo de aperfeiçoamento contínuo que a Daitan Group, empresa na qua trabalho a 2 anos, na qual qualquer colaborador pode apresentar temas importantes para a capacitação dos funcionários.
O conteúdo da palestra foi um resumo dos meus aprendizados durante os últimos 14 anos de experiência em desenvolvimento de sistemas, sendo os últimos 10 trabalhando como Product Owner / Product Manager em diversos produtos de diversas indústrias.
Os temas abordados foram:
- Porquê métricas?
- Quando se preocupar com métricas?
- Quais as métricas mais importantes?
- Quais métricas não usar?
- Dicas de como incorporar métricas no meu dia a dia de desenvolvimento
Porquê métricas?
Métricas ajudam no processo de decisão
- Prever incidentes
- Saber se / como está funcionando
- Evitar opiniões (e achismos)
- Influenciar comportamentos
Ser Data-Driven ainda é um diferencial competitivo
Quando usar métricas?
O primeiro momento que você precisa se preocupar com as métricas é na etapa de levantamento de requisitos.
No processo de desenvolvimento de software, para descobrir o que você precisa desenvolver é preciso saber:
Quais são os requisitos funcionais — quais as funcionalidades do sistema
Quais são os requisitos não funcionais
- Segurança
- Performance
- Escalabilidade
- Requisitos Legais
Outro bom momento para se preocupar com métricas é para descobrir se o seu sistema está funcionando
- Dados quantitativos — Acessos ; Conversão; (Falaremos mais a diante quais usar)
- Dados qualitativos — Percepção dos usuários
Quais as métricas mais importantes?
Porquê essa feature é importante?
Sem dúvida a principal pergunta que você precisa tentar responder com os dados é se ela está cumprindo os objetivos de negócio. E para isso você precisa saber porquê essa feature existe. Saiba que nenhuma feature deve ser desenvolvida se não estiver alinhada aos objetivos de negócio. Os objetivos de negócio mais comuns passam por essas métricas:
É dever de TODOS da empresa saber qual das métricas acima o seu trabalho vai influenciar para que você possa tomar as melhores decisões. Mesmo aquela feature mais sem noção que o PM sugeriu pode significar uma grande melhoria de engajamento ou na adoção da funcionalidade ou até na diminuição do Churn.
Quais são os principais riscos?
Muitas vezes se menospreza a importância dos requisitos não funcionais no planejamento, portanto é muito importante ter em mente quais são os principais riscos e sempre que possível usar dados para validar as hipoteses.
Riscos de performance e escalabilidade
- Quais dispositivos serão utilizados? Mobile First?
- Qual a taxa esperada aumento de acessos?
- Qual o tempo de resposta aceitável?
- Existem picos de uso?
- Qual o tempo para terminar uma tarefa?
- É preciso tratamento de concorrência?
Riscos de Segurança e Requisitos Legais
- Qual o risco de exposição de dados?
- Quanto tempo seria necessário para corrigir uma falha de segurança?
Risco Detecção de falhas
- Quais são os padrões de uso do produto? Ex: Taxa de erros Taxa de conversão
Quais métricas não usar (não sozinhas)
Quantidade de acessos, downloads, seguidores, tamanho da base sozinhas não te dizem nada se não tiverem parâmetros para comparação de bom e ruim. Prefira usar Taxa de conversão / rentenção do que acessos sozinho.
Não compare individualmente. Tudo bem você segmentar sua base em personas ou em outros padrões de uso mas não use dados únicos para tirar conclusões.
Também não compare a performance de times, isso não vai agregar e geralmente vai gerar uma competição não saudável. Ao invés disso saiba que se você tem coisas que deveriam ter comportamentos parecidos e não tem, você tem que identificar quais os padrões que fazem com que isso não aconteça e trabalhar na causa raiz delas. Não adianta culpar o indivíduo ou o time.
Resumo: Dicas práticas de como usar métricas no dia a dia
Métricas no levantamento de requisitos
Saiba o contexto de negócio
Entenda quais as hipóteses estão sendo consideradas
- Sempre que possível use dados para confirmar as hipóteses
Documente as premissas
Métricas na entrega de features
Saiba como medir sucesso da feature
Saiba quais os principais riscos e como detectá-los através dos dados
Acompanhe os indicadores após a implantação
Métricas para re-alimentar novas tarefas
Sabendo o contexto, busque nos dados insights de como resolvê-los
Entenda a estrutura de dados
Métricas para melhorar o trabalho do desenvolvedor
Débitos técnicos, se apoie nos dados para priorizá-los
- Feedback dos usuários;
- Taxas de erros;
Tudo isso é desperdício, use isso a seu favor.
Quais são as tarefas repetitivas?
- Automação quase sempre vale a pena
O papel do desenvolvedor não é só codigo, mas auxiliar na identificação dos gaps técnicos é fundamental.
Agradeço a participação de vocês em mais um Daitan University!
Fonte: Experiência pessoal e alguns links como referência:
Imagens retiradas do Baralho de métricas da Priscila Chagas: https://priscilachagas.com/2020/11/30/baralho-de-metricas/
Métricas de negócio mais comuns levantadas pelo Raphael Farinazzo da RD Station: https://medium.com/rd-shipit/as-m%C3%A9tricas-de-produto-que-importam-para-o-rd-station-16057e5f805
Métricas de DevOps pela ACSoftware: https://site24x7.acsoftware.com.br/index.php/2019/01/17/os-4-tipos-de-metricas-que-voce-deve-monitorar-para-manter-seus-servidores-sob-controle/
Indicadores de segurança pelo GAT: https://www.gat.digital/blog/indicadores-seguranca-informacao/
O que significa ser Data Driven na prática pelo professor Maurício Alexandre: https://www.youtube.com/watch?v=y4oIvG79XJU
Cultura Data-driven com Kendji Wolf e Edney Souza: https://www.youtube.com/watch?v=gwdw6rEailA