Quality Analytics: como a análise de dados apoia a gestão da qualidade de software?

Como sabemos, qualidade vai muito além de testes. Softwares devem ser projetados, desenvolvidos e executados para atender e exceder as expectativas e necessidades do usuário. 

E quando pensamos em Qualidade de Software dentro da área de Tecnologia, estamos falando de temas como: funcionalidade, usabilidade, confiabilidade, performance, segurança, eficiência, observabilidade, manutenabilidade, dentre outros.  

Mas como tratar cada um destes assuntos? Melhor dizendo, como gerenciar cada um destes temas? 

Muitas empresas gerenciam suas squads com metodologias de trabalho fortemente baseadas em Scrum, que visam uma entrega mais ágil. Neste contexto, é comum nos depararmos com alguns, ou todos, indicadores abaixo: 

Indicador Descrição 
Throughput Quantidade de entregas que o time consegue realizar ao final de uma sprint ou um período de tempo 
Cycle Time É o tempo que um card leva para ser entregue a partir do momento em que começou a ser trabalhado 
Lead time Considera todo o tempo em que o card permanece no board até ser concluído 
WIP Quantidade de cards em que o time trabalha simultaneamente 
Time To First Hello World Tempo que um código leva para percorrer toda a esteira de desenvolvimento até a chegar à produção 
Story Points Expressa a estimativa do esforço geral necessário para implementar por inteiro um backlog do produto 
Team Productivity Capacidade de produtividade do Time como um todo dentro da Sprint 

Dos exemplos citados acima, podemos elencar 2 indicadores de performance (KPIs) como essenciais, que devem ser medidos e analisados desde o momento da primeira implantação: 

  • Cycle Time 
  • Lead Time 

Em um cenário comum, cycle time é uma fração de lead time: 

Quality Analytics e gestão de qualidade de software
Produzido por: Cleber Marques

Quando trabalhamos com apenas 1 squad, é relativamente simples medirmos e gerenciarmos os indicadores. Mas, certamente, esta não é a realidade. É comum encontrarmos dezenas de squads em uma única empresa, o que aumenta consideravelmente o esforço para coleta dos dados e gestão dos indicadores.  

O que acontece se sua empresa possuir 10 squads? 

Quality Analytics e gestão da qualidade de software
Produzido por: Cleber Marques

E 50 squads? 

Quality Analytics e a gestão da qualidade de software
Produzido por: Cleber Marques

Não são poucas as empresas no Brasil que possuem 25, 50, 100 ou mais squads apenas entre desenvolvimento e testes funcionais. 

Diante destes dados, como seria possível responder: 

  1. Quais squads são mais produtivas?
  2. Quais squads são menos produtivas?
  3. Quais squads aumentaram seu lead time nos últimos 3 meses?
  4. Quais squads diminuíram seu cycle time nos últimos 6 meses?

E o que acontece se além de gerir a eficiência de suas squads, ainda quisermos trabalhar com indicadores de usabilidade, confiabilidade, performance, segurança, eficiência, observabilidade e manutenabilidade? 

Quantas séries temporais deveriam ser analisadas? 500? 1000? 5000? 

E como analisar cada série? Individualmente? Em conjuntos? Usando thresholds estáticos? Como ser data driven em um universo tão grande de informações? 

A resposta para todas estas perguntas é a mesma: Quality Analytics. 

Leia também: 

 

Quality Analytics: gestão da qualidade de software baseada em dados

Temas como artificial inteligence, machine learning, AIOPS, natural language processing, anomaly detection, trend detection entre outros, são cada vez mais utilizados para resolver problemas em agilidade e qualidade de software. 

Todas estas ferramentas nos ajudam a fazer gestão por resultados em Qualidade de Software e obter insights para tomada de decisão. 

Por exemplo, se imaginarmos que somos uma empresa preocupada com a performance de nossos produtos digitais, e quisermos saber quais funcionalidades/jornadas do usuário tiveram seu tempo de resposta aumentado nos últimos meses. 

Novamente nos deparamos com uma situação assim: 

Quality Analytics e a gestão da qualidade de software
Produzido por: Clebler Marques

Com o uso de artificial intelligence, é possível facilmente identificar apenas as séries temporais que tiveram tendência de aumento, demonstrando as funcionalidades que precisam ser analisadas e otimizadas, para melhorar a qualidade do usuário final: 

Quality Analytics e a gestão da qualidade de software
Produzido por: Cleber Marques

Sem o uso de thresholds estáticos. 

Sem intervenção humana. 

Detectar anomalias em séries temporais também é uma ferramenta poderosa para gerenciamento de Qualidade de Software. Por exemplo, identificar picos de acesso não esperados em um determinado sistema ou funcionalidade: 

Quality Analytics e a gestão da qualidade de software
Produzido por: Cleber Marques

Ou aumentos no tempo médio de resposta de um aplicativo: 

Quality Analytics e a gestão da qualidade de software
Produzido por: Cleber Marques

Então, estamos dizendo que os analistas de Qualidade de Software podem ser substituídos por inteligência artificial (IA)? De maneira alguma! 

Nenhum ser humano é melhor do que uma máquina para identificar mudanças de baseline em dados. E nenhuma máquina é melhor do que um ser humano suportado por máquinas para executar o mesmo trabalho. 

Isto é ser data driven. 

Isto é AIOPS. 

Isto é Quality Analytics! 

Ficou interessado? Entre em contato conosco para que possamos ajudá-lo nesta jornada de melhoria contínua da qualidade dos softwares.  

Escrito por: Cleber Marques, Gerente de Analytics na Inmetrics