A maioria dos usuários só usa vinte por cento dos recursos de um software. Uma pequena parte do código roda a maior parte do tempo. Grande parte dos defeitos do software pode ser rastreada para uma pequena quantidade de causas.
Você provavelmente já ouviu alguma das frases acima, mas talvez você não saiba a origem deste princípio, que, de modo geral, nos diz que existe uma relação 80/20 para a maioria dos eventos que observamos.
É o princípio de Pareto, atribuído ao economista italiano Vilfredo Pareto, que teria observado que 80% da terra na Itália pertencia a 20% da população; de modo mais formal, o princípio de Pareto diz que na maioria dos eventos, 20% das causas são responsáveis por 80% dos efeitos.
O Princípio de Pareto é muito utilizado pelas organizações, hoje em dia, para lidar com problemas internos, qualidade dos produtos, melhoria de processos, incluído aqui o desenvolvimento de software.
Serve para, entre outras coisas, decidir quais os requisitos aos quais se deve dar mais atenção, quais os pedaços de código que devem ser mais otimizados, por serem os que mais são executados, etc. Baseia-se na análise quantitativa do evento sob estudo.
Analisa-se a situação (evento) e constrói-se um gráfico ou diagrama de Pareto, ordenando-se os itens (problemas, requisitos, etc) em ordem decrescente de ocorrência (frequência) e traçando-se uma linha que mostra o percentual acumulado dessas “causas”.
Assim, consegue-se observar que, em geral, um pequeno número de causas (idealmente 20%) é responsável pela maioria dos efeitos (80%, em teoria).
Na área de software, podemos dizer, por exemplo, que 20% dos requisitos satisfazem a 80% dos usuários.
Identificando estes requisitos, podemos nos concentrar na qualidade da entrega dos mesmos, garantindo um grande número de usuários satisfeitos, em lugar de, por exemplo, despendermos uma quantidade exagerada de esforços em um número muito grande de requisitos que, ainda que desejáveis, não contribuam tão significativamente para atender as necessidades dos usuários.
Os passos para se construir um diagrama são:
- Selecionar as categorias lógicas;
- Reunir os dados;
- Ordenar os dados segundo a ordem da maior a menor categoria;
- Totalizar os dados para todas as categorias;
- Calcular a percentagem de total que cada categoria representa
Podemos utilizar o princípio não apenas para encontrar problemas do produto, mas também para fazer uma análise competitiva, concentrando-nos assim nas características chave do produto.
Vejamos um exemplo de como construir um diagrama de Pareto utilizando o Microsoft Excel.
Digamos que estamos testando um novo software e coletamos informações dos usuários sobre a satisfação com o novo sistema, através de uma pesquisa.
Após entrevistar um grande número de usuários, encontramos as seguintes reclamações, que tabulamos em nossa planilha:
Cada usuário pode ter assinalado mais de um problema.
Somando-se o total de problemas registrados, chegamos ao número de 788 ocorrências.
Colocamos os dados em ordem decrescente do número de reclamações e acrescentamos duas colunas, uma representando o percentual de cada problema e a outra o percentual acumulado.
Nas linhas 2 a 10 utilizamos duas fórmulas simples, nas colunas C e D, para chegar ao cálculo do percentual e percentual acumulado.
Na coluna C, o valor de cada célula é obtido dividindo-se o número de reclamações, encontrado na coluna B da linha correspondente, com o total de reclamações, que é o mesmo para todos – 788 ( célula $B$11 ).
Na coluna D, a célula na primeira linha será igual à correspondente na coluna C.
As demais linhas serão calculadas somando-se a célula acima com aquela na coluna C.
A análise dos dados tabulados na figura 3 já nos mostra que a maioria dos problemas está concentrada em um número pequeno de causas.
Poderíamos então nos concentrar em resolver as três causas mais frequentes de reclamações e assim, imaginamos, obteríamos uma melhoria na satisfação dos usuários com o sistema da ordem de 80%.
Mais do que isso, ao ordenarmos os problemas de uma forma a priorizar os mais frequentes observamos, no nosso exemplo, que a maior parte das causas está nos módulos de geração de formulários e de acesso ao banco de dados, o que nos permitiria concentrar nossos esforços nesses dois módulos.
Obviamente é preciso levar em conta que a análise de Pareto não garante que necessariamente os problemas e requisitos mais importantes estão sendo abrangidos. O mesmo vale para questões de compliance (legislação) ou regras de negócio.
Poderia ser necessário, por exemplo, por uma questão contratual, que o sistema forneça opção de ajuda para o usuário e, mesmo que não tenha sido uma queixa frequente, este seria um item a ser revisto pela equipe de desenvolvimento.
A análise de Pareto não serve, isoladamente, para determinar que ação tomar, mas é uma ferramenta importante para nos dar um guia objetivo (quantitativo) de ação.
Façamos o gráfico ou diagrama correspondente aos dados que temos do exemplo acima, para adicionar informação visual à nossa análise.
Vamos construir dois gráficos combinados, utilizando o Microsoft Excel.
Selecione as colunas A, B e D da planilha, da primeira linha até a linha que contém o último elemento (no nosso caso, linha 10).
Insira um gráfico de colunas. Esta é a base do nosso diagrama. Os problemas e suas quantidades serão representados pelas colunas.
Precisamos agora modificar o gráfico para o percentual acumulado, de modo a ficar como num diagrama de Pareto (como na Figura 1).
Clique com o botão da direita em algum dos itens do gráfico referentes à série “% acc” e no menu escolha Alterar tipo de gráfico de série. Como as colunas dessa série estão muito pequenas, pode ser mais fácil clicar sobre a série na legenda que fica à direita.
Escolha nas opções um gráfico do tipo linha, com ou sem mercadores.
Depois que a série se modificar, clique novamente com o botão da direita sobre a mesma e selecione Formatar Série de Dados; na janela seguinte, selecione Eixo secundário em Opções de série.
Pronto, nosso gráfico de Pareto está completo.
Conseguimos a informação visual de que poucos elementos são responsáveis pela maioria das ocorrências.
Agora é encontrar a solução para o que foi identificado.