• Nenhum resultado encontrado

2.3. Análise de desempenho de processos de software

2.3.5. Gráficos de controle

Os gráficos de controle são uma das principais ferramentas para a análise de

desempenho de processos. Um gráfico de controle é uma ferramenta de controle estatístico de

processos que apresenta a execução de determinado processo geralmente no decorrer do

tempo, incluindo uma linha central que representa a média ou mediana do desempenho

observado no processo, e limites de controle superior e inferior para avaliação da estabilidade

do processo (STEPENHRUST, 2005, p. 447).

A estrutura clássica de um gráfico de controle é apresentada na Figura 3. Os limites de

controle superior (LCS) e inferior (LCI) em cada lado da linha central (LC) são derivados de

uma das possíveis medidas de variação do processo: amplitude, desvio padrão, amplitude

móvel, entre outras.

Figura 3: Estrutura do gráfico de controle (Adaptada de Florac e Carleton, 1999, p. 77).

Os limites de controle superior e inferior são definidos a mais e menos 3 sigmas da

linha central, respectivamente. Quando um limite de controle é definido com um valor além

da variação possível do processo, este limite é normalmente omitido do gráfico, como por

exemplo, no caso de um limite de controle inferior (LCS) negativo para a medida densidade

de defeitos (FLORAC; CARLETON, 1999, p. 77).

Como descrito nas seções seguintes, existem diferentes tipos de gráficos de controle

disponíveis para uso como instrumento controle estatístico de processos. Características como

o tipo de dado sendo representado no gráfico, bem como o agrupamento destes dados em cada

observação do gráfico são fatores determinantes para a seleção do gráfico e análise correta do

desempenho do processo.

2.3.5.1.

Tipos de dados

Segundo Florac e Carleton (1999, p. 78), Kulpa e Johnson (2008, p. 247), Stapenhrust

(2005, p. 265), e Oakland (2003, p. 45), os dados utilizados para análise de desempenho de

processos podem ser classificados como variáveis ou atributos. Ao exibir os dados em um

gráfico de controle, é importante ter um entendimento claro das diferenças entre os tipos de

dados, já que os tipos de gráficos de controle e seus limites são em geral diferentes para

variáveis e atributos.

Dados variáveis, também chamados de dados de medições, medem normalmente

fenômenos contínuos ou contagens que representam medição de tamanho ou situação.

Exemplos de variáveis para a área de software incluem esforço gasto, anos de experiência,

utilização de memória e custo de retrabalho.

Por outro lado, os dados são classificados como atributos, ou dados discretos, nos

casos onde a informação é registrada somente quando o processo atende a determinado

critério. Atributos são normalmente medidos como contagens, como por exemplo: número de

defeitos encontrados, número de itens defeituosos, número de linhas de código de

determinado tipo, número de pessoas com determinada habilidade, entre outros.

2.3.5.2.

Subgrupos de dados

Para Wheeler e Chambers (1992, pp. 40-42), dado determinado processo, medido a

partir de uma quantidade de valores numéricos, é importante determinar como estes dados

serão utilizados para análise e conclusão a respeito do fenômeno.

O conceito de subgrupo de dados trata da organização dos dados de maneira racional,

de forma que seja possível monitorar tanto o valor quanto a dispersão dos valores produzidos

pelo processo. Um subgrupo envolve um conjunto de múltiplas observações da medida

coletadas dentro de um curto espaço de tempo e, principalmente, sob as mesmas condições de

execução do processo (WHEELER; CHAMBERS, 1992, pp. 40-42) (FLORAC;

CARLETON, 1999, p. 137).

As medidas de um determinado subgrupo são apresentadas no gráfico de controle

como uma única observação do processo, representada pela média ou mediana dos dados da

amostra. Espera-se, portanto que exista uniformidade nos dados do subgrupo, e que variações

internas ao subgrupo sejam resultado de causas semelhantes de variação (FLORAC;

CARLETON, 1999, p. 137).

A homogeneidade dos subgrupos de dados é importante porque a variação das

observações dentro do subgrupo é utilizada para compor os limites de controle para o

processo. Minimizar esta variação torna os limites de controle mais ajustados ao desempenho

real do processo e, portanto torna mais fácil e precisa a identificação de causas especiais de

variação entre os subgrupos (FLORAC; CARLETON, 1999, p. 138).

2.3.5.3.

Seleção do gráfico de controle

Diferentes tipos de gráficos de controle são disponíveis para uso pela organização, e a

seleção de qual tipo é o mais adequado para cada situação não é trivial (KULPA; JOHNSON,

2008, pp. 244-247).

A Figura 4 apresenta de forma resumida as características envolvidas na seleção e as

questões que a organização precisa responder a respeito dos seus processos antes da decisão

de que gráfico de controle utilizar.

Figura 4: Fluxograma de decisão do gráfico de controle (Adaptado de Stapenhrust, 2005, p. 264)

O processo de seleção apresentado na Figura 4 inicia-se pela decisão de que tipo de

dado a medida representa (1), conforme explicado anteriormente na seção 2.3.5.1. Caso a

medida represente um dado variável, a segunda pergunta a ser respondida é qual o tamanho

do subgrupo de dados apresentado em cada observação da medida (1.1), conforme descrito na

seção 2.3.5.2.

Considerando o dado é variável (1), caso o gráfico contenha apenas valores

individuais, ou seja, subgrupo de tamanho igual a 1 (1.1), então o gráfico de controle mais

adequado é o de médias e amplitudes móveis (XmR). Se o subgrupo for maior do que uma

coleta da medida (1.1), então se deve perguntar se o gráfico de controle será apresentado a

partir do desvio padrão ou amplitude das medidas dentro do subgrupo (1.1.1).

Neste caso, se o gráfico de controle for representado pela amplitude das medidas do

subgrupo, alternativa normalmente adequada quando o subgrupo tiver tamanho menor ou

igual a 10 medidas, o gráfico de médias e amplitudes (X-bar e R) é o indicado. Agora, se o

gráfico for construído a partir do desvio padrão dos dados do subgrupo, normalmente

indicado para subgrupos de tamanho maior que 10 medidas, então o gráfico de médias e

desvio padrão (X-bar e S) passa a ser o selecionado.

Caso a medida seja um atributo ao invés de uma variável (1), o próximo passo é

avaliar o seu modelo de distribuição estatística (1.2). Este modelo pode ser binomial, como no

caso quando a medida baseia-se na quantidade de produtos com defeito, ou Poisson, quando,

por exemplo, a medida representa a quantidade de defeitos de um ou mais produtos.

Independentemente do modelo de distribuição (1.2) selecionado, a última pergunta

(1.2.1 e 1.2.2) refere-se à configuração das amostras de dados, ou áreas de oportunidade.

Neste caso, é necessário avaliar se as amostras de dados possuem tamanhos fixos ou variáveis

dentro de cada medida.

Por exemplo, uma medida de densidade de produtos defeituosos a cada 100 produtos

avaliados, representa uma distribuição binomial de amostras de tamanho fixo (100 produtos).

Neste caso o gráfico mais adequado é o np Chart. Já uma medida de densidade de defeitos por

ponto de função em sistemas de escopo diferentes, será representada por uma distribuição

Poisson em amostras de tamanhos variáveis, sendo mais adequado o uso de gráficos do tipo u

chart.

O Quadro 6 apresenta os principais tipos de gráficos de controle, suas aplicações e

exemplos de utilização em processos de engenharia de software.

Quadro 6: Resumo dos tipos de cartas de controle

Tipo de gráfico de

controle Descrição e aplicação Exemplos para área de software

X-bar e R

(XbarR) Gráficos para médias (X-bar) e dispersão (R) são úteis para determinar quando a média (X-bar) ou a dispersão do subgrupo (R) são afetadas por causas especiais.

Estes gráficos de controle respondem às perguntas: ‘Qual é a tendência central do processo?’ e ‘Quanta variação ocorreu de um subgrupo a outro no decorrer do tempo?’

Utilizada para dados do tipo variável com subgrupos pequenos (menores ou iguais a 10 observações).

• Média de esforço realizado diariamente com retrabalho por semana (neste caso o subgrupo é de 1 semana ou 5 dias úteis)

• Produtividade média de projetos Java por mês (neste caso o subgrupo é o conjunto de projetos Java finalizados no mês)

X-bar e S

(XbarS) Gráficos para médias (X-bar) e desvio padrão (S) são semelhantes às cartas X-bar e R, porém são mais eficientes que a primeira para subgrupos grandes (maiores que 10 observações).

• Taxa de revisão de código (LOC/hora) por release (neste caso o subgrupo é cada release, contendo mais do que 10 revisões de código)

X e mR

(XmR) Nos casos onde as medições são coletadas de forma esparsa ou quando são utilizadas individualmente para avaliação do processo, somente é possível apresentar valores individuais nos gráficos de controle. O gráfico X é utilizado para valores individuais (subgrupo de tamanho 1), enquanto o gráfico mR apresenta a variação entre dois valores consecutivos do processo.

Utilizada tanto para variáveis quanto para atributos, independente de modelo de distribuição e com valores individuais (subgrupo igual a 1).

Aplicável para a maioria das medidas de processos de software:

• Produtividade de um determinado projeto por mês

• Variação de prazo de um determinado projeto por fase

• Esforço realizado

diariamente com retrabalho em determinado projeto

Quadro 6 (cont.): Resumo dos tipos de cartas de controle

Tipo de gráfico

de controle

Descrição e aplicação Exemplos para área de software

c-chart Utilizada para dados do tipo atributo com distribuição Poisson e amostras de tamanhos constantes, normalmente maiores que 5 observações.

• Número de defeitos encontrados durante inspeção ou testes

Número de shutdowns não planejados no servidor de aplicação

u-chart Gráfico de controle mais utilizado em processos de software caso os dados sejam atributos e a distribuição seja Poisson. É mais flexível que a carta c, pois permite a normalização dos dados (conversão para taxas), já que o tamanho das amostras não é constante.

Utilizada para dados do tipo atributo com distribuição Poisson e amostras de tamanhos variáveis.

• Defeitos por milhares de linhas de código

• Defeitos por pontos de função

np-

chart Utilizada para dados do tipo atributo com distribuição binomial e todas as amostras de tamanhos constantes, normalmente maiores ou iguais a 50 observações.

Praticamente não é utilizado para processos de software. Mais adequado para processos industriais.

p-chart Utilizada para dados do tipo atributo com distribuição binomial e amostras de tamanhos variáveis, normalmente maiores ou iguais a 50 observações.

• Percentual de código fonte em um módulo que possui determinada instrução (ex.: comentário)

De acordo com Florac e Carleton (1999) e Kulpa e Johnson (2008), os gráficos de

controle do tipo XmR são quase sempre os mais adequados para a análise de desempenho de

processos de software. As razões para a sugestão de uso de gráficos do tipo XmR são:

• Os gráficos XmR são recomendados para uso tanto para variáveis quanto para

atributos.

• A utilização de valores individuais em cartas do tipo XmR evita a preocupação

quanto à homogeneidade do subgrupo.

• Os gráficos do tipo XmR não possuem como requisito nenhum modelo de

distribuição específico. Sendo assim, estes provêem um instrumento confiável

para análise do desempenho do processo, sem a preocupação em garantir que

o processo respeite uma distribuição normal, binomial ou Poisson.

• Por fim, os gráficos de controle XmR são mais fáceis de utilizar, mais fáceis de

entender e mais fáceis de implementar, além de serem os mais encontrados

em organizações de elevado nível de maturidade.

Por outro lado, apesar das vantagens apresentadas acima, o gráfico de controle do tipo

XmR não é a ferramenta mais adequada para a análise da medida de Densidade de defeitos

(FLORAC; CARLETON, 1999, p. 121). Normalmente, esta medida respeita um modelo de

distribuição Poisson, onde a densidade de defeitos tende a diminuir enquanto aumenta o

tamanho do objeto de verificação. Para estes casos, as cartas de controle dos tipos c e u

aparecem como uma melhor opção em relação à XmR.

2.3.5.4.

Cálculo da linha central e limites de controle

Segundo Florac e Carleton (1999, p. 76), os parâmetros utilizados para avaliação do

desempenho futuro do processo não devem ser definidos arbitrariamente, já que devem

representar o desempenho real do processo sob avaliação.

Os cálculos da linha central e limites de controle variam conforme o tipo de gráfico de

controle e a composição dos subgrupos utilizados para representar a medida. No ANEXO A

são apresentadas as tabelas de fórmulas e as constantes utilizadas para cálculo da linha central

e dos limites de controle superior e inferior do gráfico de controle. Para ilustrar este processo,

são apresentados detalhadamente a seguir o raciocínio de cálculo para os gráficos de controle

dos tipos XmR e u Chart.

Em um gráfico de controle XmR supõe-se que é possível apenas estabelecer subgrupos

de dados de tamanho igual a 1, ou seja, que os valores exibidos no gráfico correspondem a

observações individuais da execução do processo (FLORAC; CARLETON, 1999, p. 94).

Nesta situação não é possível calcular o valor do sigma a partir de uma única medida, então o

cálculo dos limites de controle dá-se a partir das mudanças ocorridas no processo entre duas

observações sucessivas (amplitude móvel - mR).

O gráfico de controle de valores individuais (X) demonstra a evolução das medidas em

relação ao tempo. Neste gráfico, conforme fórmulas apresentadas no Quadro 7, a linha

central (LC) é calculada a partir da média dos valores da medida ( X ) e os limites de controle

superior (LCS) e inferior (LCI) são calculados, respectivamente, a partir da soma e subtração

do valor constante de 2,66 vezes a média das amplitudes móveis ( mR ) em relação à linha

central (LC).

O cálculo do valor do sigma, utilizado para estabelecer limites intermediários de

controle, é realizado a partir da divisão da média das amplitudes móveis ( mR ) pelo valor

constante de 1,128.

Para o gráfico de controle de amplitudes móveis (mR) a linha central (LC) é calculada

a partir da média das variações do indicador ( mR ), o limite de controle superior (LCS) é

calculado a partir de 3,268 vezes a média ( mR ). Neste gráfico o limite inferior (LCI) é

sempre igual a zero, pois os valores de amplitude são absolutos.

As constantes

2

3

d

,

d e

2

D utilizadas nos cálculos são fatores tabulados por

4

estatísticos para conversão das médias de amplitudes para estimativas de limites 3-sigma.

Para este gráfico de controle, estas variáveis assumem os valores únicos de 2,66, 1,128 e

3,268, respectivamente, já que a amostra utilizada para cálculo (n) é sempre de tamanho igual

a 2, representada pela amplitude móvel a cada dois valores consecutivos da medida. A tabela

completa de fatores de correção e constantes para este e outros tipos de gráficos de controle é

apresentada no ANEXO A.

Quadro 7: Fórmulas para o gráfico de controle XmR (Adaptado de Florac e Carleton, 1999, p. 95)

Fórmulas base Linha central e Limites de controle

n

X

X

X

X

k n

+

+

+

=

1 2

K

1

1

onde

,

1

=

X

+

X

i

k

mR

i i i

k

k i i i

mR

mR

= =

=

1

mR

X

d

mR

X

LCS

X

2,660

3

2

+

=

+

=

X

LC

X

=

mR

X

d

mR

X

LCI

X

2,660

3

2

=

=

128

,

1

2

mR

d

mR

sigma

X

=

=

mR

mR

D

LCS

mR

=

4

=3,268

mR

LC

mR

=

0

=

LCI

mR

Para o caso do gráfico de controle do tipo u Chart, conforme fórmulas apresentadas no

Quadro 8, considera-se que o valor de cada observação da medida (u ) é calculado a partir da

i

taxa de ocorrência de determinado evento (c ) em relação ao tamanho da amostra (

i

a ). Neste

i

gráfico, a premissa é que o tamanho das amostras não é constante, ou seja, variam para cada

coleta da medida, como nos exemplos de densidade de defeitos, onde o tamanho do produto

testado é variável. (FLORAC; CARLETON, 1999, p. 115).

A linha central (LC) para o u Chart é calculada a partir da média geral dos eventos

sobre o tamanho total das amostras ( u ). A presença do tamanho da amostra (a ) na

i

composição da fórmula dos limites de controle tem como conseqüência limites de controle

superior (LCS) e inferior (LCI) variáveis, ou seja, para cada observação da medida, os limites

são re-calculados a partir da média geral ( u ) mais ou menos três vezes o valor do sigma, que

por sua vez é representado pela relação entre esta média e o tamanho a amostra para cada

observação da medida (a ).

i

Quadro 8: Fórmulas para o gráfico de controle u Chart (Adaptado de Florac e Carleton, 1999, p. 116)

Fórmulas base Linha central e Limites de

controle

a

c

u

i i

=

i , onde:

c

i é igual à quantidade de ocorrências (defeitos)

a

i é igual à área de oportunidade ou tamanho da amostra

∑∑

=

a

c

i i

u

a

LCS

i u

u

u+3

=

u

LC

u

=

a

LCI

i u

u

u−3

=

a

sigma

i u

u

=

De acordo com Florac e Carleton (1999, p. 2008), mesmo com subgrupos de dados de

tamanho igual a 1 (XmR), 3 a 4 subgrupos já são suficientes para estabelecer limites de

controle temporários (trial limits) e a partir destes identificar situações de processos de fora de

controle. Porém, é prematuro concluir que um processo é estável com menos de 20 a 30

subgrupos de dados coletados, no caso de subgrupos de tamanho maior que 1 (X-bar e S), ou

pelo menos 40 a 45 dados individuais, no caso de gráficos XmR.

2.3.5.5.

Regras para avaliação de processos em gráficos de controle

Os gráficos de controle são examinados a procura de padrões que mostrem

comportamentos incomuns do processo que o coloquem em situações de instabilidade ou fora

de controle.

Segundo Wheeler e Chambers (1992, p. 96), as quatro regras listadas abaixo e

exemplificadas na Figura 5Erro! Fonte de referência não encontrada. são suficientes para

detectar situações de instabilidade do processo em um gráfico de controle:

Teste 1: Um ou mais pontos fora dos limites de controle superior (LC + 3

sigmas) e inferior (LC - 3 sigmas).

Teste 2: Pelo menos dois de três pontos consecutivos a mais de 2 sigmas

da linha central (LC), no mesmo lado da linha central. Processos

previsíveis tendem a apresentar 85% a 90% dos dados mais próximos à

linha central (LC).

Teste 3: Pelo menos quatro de cinco pontos consecutivos a mais de 1

sigma da linha central (LC), no mesmo lado da linha central. Processos

previsíveis tendem a apresentar 85% a 90% dos dados mais próximos à

linha central (LC).

Teste 4: Pelo menos oito pontos consecutivos localizados no mesmo lado

da linha central (LC). Demonstra que provavelmente tenha ocorrido uma

mudança no desempenho do processo que impacta a sua linha de base

(linha central e limites de controle).

Figura 5: Testes de instabilidade de processo

É importante ressaltar que os quatro testes listados acima, apesar de suficientes, não

são os únicos existentes para a detecção de instabilidade de processo. Outras regras podem ser

aplicadas para identificação de padrões de oscilação e tendências do processo. Porém, quanto

mais critérios são aplicados ao gráfico de controle, maior é a chance de obter alarmes falsos

na identificação de sinais de variação. (WHEELER; CHAMBERS, 1992, pp. 96-97).

Segundo Florac e Carleton (1999, p. 80), os testes 2, 3 e 4 são chamados testes de

execução e são baseados na premissa que a variação do processo é simétrica em volta da linha

central (LC) e que os dados são exibidos em uma seqüência temporal. Este requisito de

simetria significa que estes testes são desenhados para uso principalmente em gráficos de

controle dos tipos: X-bar e individuais (X). Sendo assim, os testes 2, 3 e 4 não se aplicam aos

gráficos de controle do tipo amplitude (R), desvio padrão (S) ou amplitude móvel (mR).

A partir da análise do desempenho do processo em um gráfico de controle e a

identificação de causas especiais de variação, o diagrama de causa-e-efeito pode ser utilizado

para identificar as causas prováveis para o comportamento observado e, finalmente, o

diagrama de Pareto apóia o gerente do projeto na priorização das ações a serem aplicadas.