As métricas são essenciais para a gestão e controle de qualidade e entregas no desenvolvimento de qualquer software.

Trabalhar sob as sombras do “achismo” trazem grandes problemas a curto, médio e longo prazo. A criação, acompanhamento, e análise de métricas para a gestão dos projetos é um trabalho árduo porém necessário.

Claro que não podemos trabalhar com embasamento no ideal e, sim, no real, onde nem todas as empresas, principalmente as micro e pequenas, podem arcar com as despesas de executar uma gestão completa com todas as métricas, em alguns casos não vale o investimento pelo retorno.

Dessa forma, serão apresentadas várias métricas possíveis, e dependendo da situação da empresa, podem ser utilizadas de acordo com a estratégia adotada.

Métricas de produtividade do desenvolvedor

  1. Tempo de entrega(lead time) – É o tempo que algo leva do início ao fim do desenvolvimento de software, por exemplo, o lead time de um projeto de software inícia desde o planejamento até a entrega.

    Essa métrica pode ser utilizada dentro de grupos de atividades, como as sprints.
  2. Quantidade de código – Também conhecida como KLOC (Kilo Lines of Code), ela é utilizada pelas equipes de desenvolvedores para determinar a dimensão de um aplicativo.

    Porém, não se pode considerar que mais quantidade de código torna o código eficiente ou eficaz, o que pode significar exatamente o oposto.
  3. Trabalho em progresso (WIP) – O WIP(Work in Progress) é um trabalho em desenvolvimento e as atividades já não se encontram em backlog.

    É possível expressar o WIP num gráfico de burndown. Uma ferramenta comum para sprints ágeis e Scrum. Esses gráficos mostram a quantidade de trabalho que a equipe já realizou versus o quanto ainda falta finalizar.
  4. Velocidade ágil – Uma equipe de desenvolvimento ágil de software analisa as sprints anteriores e conta o número de histórias de usuários ou pontos de histórias completados ao longo do tempo.

    A velocidade ágil é uma estimativa de quão produtiva a squad está.
  5. Sucesso de metas da Sprint – Essa métrica analisa a porcentagem de entregas que a equipe de completou durante e no final da sprint. Em alguns casos, a equipe não finaliza todas as atividades durante a sprint.

    Entretanto, o progresso da equipe poderia ainda cumprir a sua Definição de pronto(DoD), o limiar que um projeto deve cumprir para que uma organização o considere concluído.
  6. Quantidade de versões de software – As equipes de desenvolvimento ágil e os DevOps priorizam os lançamentos de software contínuos e frequentes.

    Com esse KPI, as equipes podem monitorar com que frequência lançam software, seja mensal, semanal, diária, por hora, ou qualquer outro período de tempo, e se esse ritmo proporciona valor comercial suficiente.

Métricas de desempenho do software

  1. Aspectos do desempenho de software.
    Os testes de desempenho podem avaliar as seguintes características de um aplicativo:
    • Escalabilidade
    • Estabilidade
    • Capacidade de resposta
    • Velocidade
    • Disponibilidade
  2. Desempenho – O desempenho é a quantidade de dados que um sistema processa num determinado período de tempo. Dessa forma é possível metrificar a quantidade ótima de processo de um software, sem prejudicar o bom desempenho do mesmo.
  3. Tempo de resposta – O tempo de resposta mede o tempo que um sistema leva para responder uma consulta ou demanda.

    Você pode criar limites máximos de resposta de acordo com a satisfação dos seus clientes e usuários, caso o tempo de resposta esteja muito lento, é valido analisar formas de otimizar o software.
  4.  Confiabilidade, Disponibilidade e Escalabilidade (RAS) – RAS(Reliability, Availability e Scalability) refere-se à capacidade do software cumprir de forma consistente as suas especificações, se todas as funcionalidades e o software como um todo está disponível e o grau de facilidade com que pode ser reparado, mantido e melhorado.

Métricas baseadas em erros e bugs

  1. Densidade de erros e bugs – Em termos de código, os desenvolvedores podem tabular o número de erros e bugs por KLOC(Kilo Lines of Code) para avaliar a frequência dos defeitos.
  2. Cobertura de código – Esta é a proporção de código fonte coberta por testes automatizados. A métrica do software permite aos testadores identificar quais as áreas do código que ainda devem ser testadas corretamente.
  3. Taxa de detecção de erros e bugs – É uma relação entre o número de erros e bugs encontrados antes do lançamento do software, em comparação com o número encontrado após o lançamento.

    Um alto percentual pode ser um bom sinal, pois significa que uma maior proporção de defeitos foi encontrada antes que os clientes utilizassem o software.
  4. Débito técnico – Reflete o esforço a longo prazo, bem como os custos temporais e financeiros, dos desenvolvedores que não abordam um problema de desenvolvimento quando este surge pela primeira vez.

    Erros, funcionalidades mal desenvolvidas ou que não ficaram de acordo com os requisitos levantados e outros itens que foram “empurrados” para serem corrigidos ao longo do projeto e que interferiram diretamente na qualidade do software.

Métricas de Usabilidade e UX

Os usuários interagem com o software de diversas maneiras o que geram experiências diferentes. Para conseguir analisar melhor a experiência desses usuários, é valido analisar os seguintes pontos.

  1. Métricas de UX – As métricas de UX podem ser qualitativas e quantitativas, você pode analisar as reações corporais dos usuários ao utilizar o software, pedir feedbacks e sugestões e adicionar um rating(avaliação).
  2. Métricas de usabilidade – Ela mede o quão bem o software permite os usuários alcançarem seus objetivos. A usabilidade inclui os seguintes componentes:
  • Facilidade de descoberta
  • Eficiência
  • Memorabilidade
  • Facilidade de aprendizagem
  • Satisfação
  • Acessibilidade, particularmente a acessibilidade digital

Segurança como métrica

  1. Vulnerabilidades de segurança – As análises de vulnerabilidade identificam as falhas de segurança em um aplicativo. Quanto menor for o número de vulnerabilidades encontradas, mais seguro é o software.
  2. Incidentes de segurança reais – Esse KPI conta o número de vezes que um hacker explora uma vulnerabilidade no software. Acompanha a frequência com que essas infrações ocorrem, a gravidade do ataque (por exemplo, que dados foram roubados), e o tempo de duração do incidente.

As organizações de cibersegurança utilizam várias médias para calcular a ocorrência de falhas ou defeitos de software:

  • Tempo médio de detecção – O tempo médio de detecção é uma média que indica quanto tempo leva uma equipe para detectar um problema ou erro.
  • Tempo médio entre falhas – Essa métrica se remete ao cálculo do tempo transcorrido entre uma falha e a próxima que irá ocorrer.
  • Tempo médio para reparo – O tempo médio para reparo é a média que representa a rapidez com que uma equipe soluciona as falhas.

Ambiente de trabalho como métrica

TUm dos pontos mais importantes de métricas, é o nível de satisfação do colaborador ou da equipe. Ele pode funcionar como um indicador útil da produtividade e sucesso da equipe.

Isso pode ser tão importante como qualquer métrica técnica ou KPI de qualidade do software.

Membros da equipe estressados ou insatisfeitos podem, e irão, prejudicar a produtividade do trabalho e, em última análise, o desempenho do software.

Fazer reuniões one-on-one com a equipe são muito eficazes para coletar feedbacks sobre o nível de satisfação dos colaboradores.

Author

Jociel Adachi