Download PDF
ads:
DEFINIÇÃO DE UM PROCESSO DE MEDIÇÃO
DE SOFTWARE BASEADO EM SEIS SIGMA E
CMMI
RAFAEL VARGAS MESQUITA DOS SANTOS
2007
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
RAFAEL VARGAS MESQUITA DOS SANTOS
DEFINIÇÃO DE UM PROCESSO DE MEDIÇÃO DE SOFTWARE
BASEADO EM SEIS SIGMA E CMMI
Dissertação apresentada ao Departamento de
Ciências Exatas da Universidade Federal de
Lavras como parte das exigências do Programa de
Pós-Graduação em Estatística e Experimentação
Agropecuária, para a obtenção do título de
“Mestre”.
Orientador
Prof. Dr. Marcelo Silva de Oliveira
LAVRAS
MINAS GERAIS – BRASIL
2007
ads:
Ficha Catalográfica Preparada pela Divisão de Processos Técnicos da
Biblioteca Central da UFLA
Santos, Rafael Vargas Mesquita.
Definição de um processo de medição de software baseado em Seis Sigma
e CMMI / Rafael Vargas Mesquita dos Santos. -- Lavras : UFLA, 2007.
177 p. : il.
Dissertação (Mestrado) – Universidade Federal de Lavras, 2007.
Orientador: Marcelo Silva de Oliveira.
Bibliografia.
1. Processo de software. 2. Qualidade de software. 3. Processo de medição
de software. 4. Seis Sigma. 5. Delineamento experimental. I. Universidade
Federal de Lavras. II. Título.
CDD – 005.14
RAFAEL VARGAS MESQUITA DOS SANTOS
DEFINIÇÃO DE UM PROCESSO DE MEDIÇÃO DE SOFTWARE
BASEADO EM SEIS SIGMA E CMMI
Dissertação apresentada à Universidade Federal de Lavras
como parte das exigências do Curso de Mestrado em
Agronomia, Área de Concentração em Estatística e
Experimentação Agropecuária, para a obtenção do título de
“Mestre”.
APROVADA em 04 de julho de 2007
Prof. Dra. Ana Liddy Cenni de Castro Magalhães Swquality
Prof. Dr. Joel Augusto Muniz UFLA
Prof. Dr. Guilherme Bastos Alvarenga UFLA
Prof. Dr. Marcelo Silva de Oliveira
(Orientador)
LAVRAS
MINAS GERAIS – BRASIL
2007
À
Minha esposa Sabrina,
pelo amor e dedicação,
OFEREÇO.
Meus pais e meu irmão,
DEDICO.
AGRADECIMENTOS
Agradeço a Deus. Pelo amor incondicional.
Agradeço a meu orientador, Prof. Marcelo de Oliveira, que sempre me
apoiou em todos os momentos, e acreditou no trabalho. E ao amigo Eric Batista
Ferreira, o qual esteve sempre pronto a ajudar sanando muitas dúvidas e dando
ótimas sugestões ao trabalho.
À família Ágape, que sem citar nomes, foi importantíssima, não no
processo de elaboração da dissertação, mas em toda minha vida. Valeu mesmo
galera. Não tem como esquecer tudo que vivemos juntos. Que Deus continue
abençoando vocês sempre.
À Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
CAPES pela bolsa de estudo.
SUMÁRIO
LISTA DE FIGURAS...........................................................................................i
LISTA DE TABELAS......................................................................................... v
RESUMO .......................................................................................................vii
ABSTRACT .....................................................................................................viii
1 INTRODUÇÃO................................................................................................ 9
1.1 Problema de Pesquisa ...................................................................................10
1.2 Objetivos.......................................................................................................11
1.3 Organização do Trabalho..............................................................................11
2 REVISÃO BIBLIOGRÁFICA ....................................................................... 14
2.1 Produção de Software ...................................................................................14
2.2 Processo de Software....................................................................................15
2.2.1 Processos ...............................................................................................................16
2.2.2 Modelo CMMI.......................................................................................................18
2.2.3 Considerações Finais sobre o Tópico ....................................................................33
2.3 Medição de Software ....................................................................................34
2.3.1 PSM.......................................................................................................................38
2.3.2 Seis Sigma .............................................................................................................46
2.3.3 Controle Estatístico de Processo............................................................................70
2.3.4 Delineamentos Experimentais ...............................................................................78
2.4 Correspondência CMMI – Seis Sigma .........................................................95
3 METODOLOGIA......................................................................................... 100
3.1 Pesquisa-Ação.............................................................................................100
3.2 Cronologia ..................................................................................................101
4 RESULTADOS E DISCUSSÃO.................................................................. 103
4.1 Resultados Metodológicos..........................................................................103
4.1.1 Processo de Software e Processo de Medição .....................................................103
4.1.2 Correspondência CMMI - Seis Sigma - PSM......................................................108
4.1.3 Processo de Medição de Software .......................................................................125
4.2 Resultados de Análise de Dados.................................................................144
4.2.1 Projeto Piloto: Introdução....................................................................................144
4.2.2 Projeto Piloto: Resultados....................................................................................146
4.2.3 Considerações Finais sobre o Tópico ..................................................................162
5 CONCLUSÃO.............................................................................................. 163
6 REFERÊNCIAS BIBLIOGRÁFICAS.......................................................... 164
7 ANEXOS .......................................................................................................168
Blocos ...............................................................................................................171
Atividades.........................................................................................................171
Organização ......................................................................................................171
8 GLOSSÁRIO................................................................................................ 177
i
LISTA DE FIGURAS
Página
FIGURA 1-Processo e seus Componentes.........................................................17
FIGURA 2-CMMI – Representação por Estágio...............................................20
FIGURA 3-CMMI Categorias de Processo no CMMI: Representação
Contínua..........................................................................................21
FIGURA 4-CMMI e a Melhoria de Previsibilidade, Controle e
Efetividade......................................................................................23
FIGURA 5-Capacidade de Processo por Nível de
Maturidade......................................................................................24
FIGURA 6-Capacidade, Maturidade, e Performance de um Processo, sob o
ponto-de-vista Estatístico................................................................28
FIGURA 7-Modelo de Processo do PSM...........................................................40
FIGURA 8-Dificuldade de Interpretação...........................................................46
FIGURA 9-Exemplo de Comparação entre Níveis do Seis
Sigma..............................................................................................48
FIGURA 10-Exemplo de Performance do Seis Sigma......................................49
FIGURA 11-Tradução do Nível de Qualidade para Linguagem
Financeira.....................................................................................49
FIGURA 12-Relação das Escalas 3σ e 6 σ........................................................55
FIGURA 13-Relação das Porcentagens de Acertos para cada Nível
Sigma..............................................................................................56
FIGURA 14-Deslocamento da Média do Valor Nominal em
1,5σ...............................................................................................57
ii
FIGURA 15- Transformação de uma N(µ,σ
2
) para um N(0,1)..........................58
FIGURA 16-Cálculo de Defeitos para Seis Sigma
Centrado.......................................................................................59
FIGURA 17-Cálculo de Defeitos para Seis Sigma Deslocado para
Direita...........................................................................................60
FIGURA 18-Cálculo de Defeitos para Seis Sigma Deslocado para
Esquerda.......................................................................................61
FIGURA 19-Mapeamento entre Ferramentas Estatísticas X Fases do
DMAIC.........................................................................................63
FIGURA 20-Exemplo de Utilização do DMAIC: Identificação dos
Problemas.....................................................................................64
FIGURA 21-Exemplo de Utilização do DMAIC: Definir..................................65
FIGURA 22-Exemplo de Utilização do DMAIC: Medir...................................66
FIGURA 23-Exemplo de Utilização do DMAIC: Analisar................................67
FIGURA 24-Exemplo de Utilização do DMAIC: Melhorar..............................68
FIGURA 25-Exemplo de Utilização do DMAIC: Controlar..............................69
FIGURA 26-Exemplos de Cartas de Controle...................................................71
FIGURA 27-Processo Instável (ou Descontrolado Estatisticamente)................74
FIGURA 28-Processo Estável (sob Controle Estatístico)..................................75
FIGURA 29-O Método Científico.....................................................................79
FIGURA 30-As Variáveis em um Experimento................................................81
FIGURA 31-Regra de Decisão para o Teste de F ao nível de α% de
Probabilidade................................................................................93
iii
FIGURA 32-Teste de F ao nível de 5% de Probabilidade para o Conjunto
W..................................................................................................94
FIGURA 33-Processo de Software e Processo de Medição de Software.........104
FIGURA 34-Analogia da Engrenagem.............................................................105
FIGURA 35-Correspondência entre CMMI - Seis Sigma: Resumo.................109
FIGURA 36-Características dos Dados............................................................112
FIGURA 37-As Etiquetas de um Dado e a Visão do PSM e da Estatística.....113
FIGURA 38-Exemplo de uma Medida no PSM e seus Atributos e
Estruturas....................................................................................113
FIGURA 39-Fatores em um Delineamento Experimental...............................114
FIGURA 40-Tratamentos em um Delineamento Experimental.......................114
FIGURA 41-Exemplo de Tratamento..............................................................115
FIGURA 42-Dificuldade de Interpretação.......................................................116
FIGURA 43-Metodologia de Utilização dos Termos do PSM
Insight Estatisticamente..............................................................120
FIGURA 44-Exemplo da Metodologia de Utilização dos Termos do PSM
Insight Estatisticamente..............................................................121
FIGURA 45-Exemplo Detalhado da Correspondência: Fatores
Hierarquizados............................................................................122
FIGURA 46-Exemplo Detalhado da Correspondência: Fatores Fatoriais........123
FIGURA 47-Característica da Etiqueta dos Dados Coletados.........................124
FIGURA 48-Seqüência de Utilização do Processo de Medição.......................126
FIGURA 49-Processo de Medição de Software...............................................128
FIGURA 50-Legenda do Processo de Medição de Software...........................129
iv
FIGURA 51-Planilha Geral: Início..................................................................140
FIGURA 52-Planilha Geral: Mapeamento......................................................141
FIGURA 53-Planilha Geral: Indicadores.........................................................141
FIGURA 54-Planilha Geral: Gráficos de Controle..........................................141
FIGURA 55-Planilha Geral: Delineamentos Experimentais............................141
FIGURA 56-Planilha Geral: Controle <Medida>............................................142
FIGURA 57-Planilha Geral: DOE <Medida>..................................................143
FIGURA 58-Definir Problema.........................................................................147
FIGURA 59-Formar Equipe.............................................................................148
FIGURA 60-Definir Medições.........................................................................149
FIGURA 61-Definir Efeitos de Tratamentos...................................................152
FIGURA 62-Conduzir Medições: Definir Indicadores....................................153
FIGURA 63-Determinar Capacidade do Processo: Medida Esforço...............154
FIGURA 64-Determinar Causas.......................................................................157
FIGURA 65-Identificar Mudanças: Delineamento para Medida Esforço........159
FIGURA 66-Identificar Mudanças: Causas Comuns.......................................160
v
LISTA DE TABELAS
Página
TABELA 1-Melhorias do CMMI e seus resultados...........................................23
TABELA 2-Tradução CMMI – Estatística.........................................................25
TABELA 3-Definições de Performance e Capacidade.......................................26
TABELA 4-Inclusão da Área de Medição e Análise no Nível 2 do
CMMI (Representação por Estágio)...............................................29
TABELA 5-Área de Medição e Análise Grupo de Suporte do CMMI
(Representação Contínua)...............................................................30
TABELA 6-Metas Específicas da Área de Medição e Análise do CMMI.........31
TABELA 7-Subpráticas da Área de Medição e Análise do CMMI, que
Recomendam o Uso de Metodologia Estatística.............................39
TABELA 8- Problemas e Propostas de Soluções...............................................38
TABELA 9-Classificação das Necessidades de Informação..............................41
TABELA 10-Comparação entre os Perfis de Alguns Patrocinadores do Seis
Sigma..............................................................................................54
TABELA 11-Quantidades de Defeitos em para Diferentes Escalas Sigma com
Média Centrada e Deslocada em 1,5 Sigma...................................61
TABELA 12-Importância das Causas de Variação no Processo........................73
TABELA 13-Limites Naturais do Processo versus Capacidade do Processo....76
TABELA 14-rmula: Índice de Capacidade de Processo Cp...........................77
TABELA 15-rmula: Índice de Capacidade do Processo Cpk.........................77
vi
TABELA 16-Quadro de Análise de Variância...................................................85
TABELA 17-Quadro das Observações...............................................................87
TABELA 18-Quadro de Análise de Variância – Exemplo.................................89
TABELA 19-Quadro de Análise de Variância – Estimativa de Variância.........91
TABELA 20-Correspondência do Seis Sigma na PA de Medição e Análise.....96
TABELA 21-Correspondência do Seis Sigma na PA de Desempenho
de Processo Organizacional..........................................................97
TABELA 22-Correspondência do Seis Sigma na PA de Gerencia Quantitativa
de Projeto......................................................................................99
TABELA 23-Detalhamento da Analogia das Engrenagens..............................106
TABELA 24-Correspondência entre PSM e Seis Sigma..................................110
TABELA 25-Correspondência Geral entre PSM e Seis Sigma........................116
TABELA 26-Exemplo: Correspondência Geral entre PSM e Seis Sigma.......117
TABELA 27-Legenda para Correspondência Geral entre PSM e
Seis Sigma..................................................................................116
TABELA 28-Descrição das Atividades do Processo de Medição....................129
TABELA 29-Representação da Análise de Variância......................................158
vii
RESUMO
SANTOS, Rafael Vargas Mesquita. Definição de Um Processo de Medição de
Software Baseado em Seis Sigma e CMMI. 2007. 177 p. Dissertação
(Mestrado em Estatística e Experimentação Agropecuária) Universidade
Federal de Lavras, Lavras, MG.
1
Na melhoria contínua de processos são comumente usadas ferramentas
estatísticas. Particularmente nos processos de software, a forma com que os
dados são armazenados, muitas vezes, dificulta a realização dessas análises.
Nesse contexto, o modelo CMMI (Capability Maturity Model Integration) é
utilizado para definição de processo de software, a metodologia Seis Sigma se
destaca em processos de medição e a ferramenta Practical Software and Systems
Measurement Insight (PSM Insight) é utilizada para a para organização de
dados. Por meio desta dissertação apresenta-se a proposta de um processo de
medição baseado em CMMI, Seis Sigma e PSM. O processo proposto revela a
correspondência existente entre eles.
1
Orientador: Prof. Dr. Marcelo Silva de Oliveira – UFLA.
viii
ABSTRACT
SANTOS, Rafael Vargas Mesquita. Definition of a Process for Software
Measurement Based on Six Sigma and CMMI. 2007. 177 p. Dissertation
(Master in Statistics and Agricultural Experimentation) Federal University of
Lavras, Lavras, Minas Gerais, Brazil.
2
Statistical tools are usually used in the continuous process improvement.
Particularly in the software process, the way the data are stored sometimes
makes these analyses tricky. In this context, CMMI (Capability Maturity Model
Integration) is used for defining software processes, the Six Sigma methodology
is used for defining measurement processes and the Practical Software and
Systems Measurement Insight (PSM Insight) tool is used for data organization.
This work presents a proposal of measurement process based on CMMI, Six
Sigma and PSM. The considered process reveals an existing correspondence
between them.
2
Adviser: Prof Dr. Marcelo Silva de Oliveira – UFLA.
9
1 INTRODUÇÃO
A produção de software no mundo tem se tornado vital para a maioria
dos sistemas produtivos existentes. O auxílio oferecido por diversos softwares,
voltados às mais diferentes áreas, fortalece e ressalta a importância desse
processo produtivo.
Praticamente todos os países, atualmente dependem de complexos
sistemas com base em computadores. Cada vez mais os produtos incorporam, de
algum modo, computadores e software de controle. Nesses sistemas, o software
representa uma grande e crescente proporção do custo total do sistema. Por isso,
produzir software de um modo que apresente uma boa relação custo-benefício é
essencial para o funcionamento das economias nacional e internacional.
Melhorar continuamente é uma questão de sobrevivência em um mundo
globalizado e altamente competitivo. No âmbito organizacional, o que se deseja
é minimizar os custos, aumentar a produtividade e fornecer um produto com
qualidade suficiente para diferenciar-se dos demais produtos concorrentes,
qualquer que seja a área de atuação da organização.
A Engenharia de Software é uma disciplina da Engenharia, cuja meta é o
desenvolvimento de sistemas de software com boa relação custo-benefício. Esta
disciplina da engenharia se ocupa de todos os aspectos da produção de software,
com a finalidade de contribuir para um desenvolvimento de software com
qualidade.
Seguindo esta linha, surgem diversos modelos de qualidade de software,
dentre eles o mais importante: CMMI (Capability Maturity Model Integration).
Neste são encontradas boas práticas para o desenvolvimento de sistemas de
software.
10
Dentre as boas práticas deste Modelo de Referência encontra-se a
necessidade da aplicação de um Processo de Medição de Software a Processos
de Desenvolvimento de Software com a finalidade de contribuir para a sua
estabilidade (previsibilidade) e melhoria.
Qualidade = Estabilidade + Melhoria
Nesse contexto, observa-se uma grande dificuldade das empresas de
software, em especial no Brasil, em aplicar Controle Estatístico e Melhoria de
Processo em seus Processos de Desenvolvimento de Software que possibilitem o
aumento da qualidade, o que se confirma com o pequeno número de empresas
no nível 4 (Processo Gerenciado Quantitativamente) e nível 5 (Processo em
Melhoria Contínua) do CMMI.
1.1 Problema de Pesquisa
Considerando a dificuldade de “comunicação” entre a Engenharia de
Software e a Estatística, ou seja, a aplicação significativa de um Processo de
Medição, de base Estatística, a Processos de Desenvolvimento de Software, tem-
se uma principal pergunta a ser respondida:
Como estabelecer uma comunicaçãoentre a Engenharia de Software
e a Estatística, facilitando a aplicação de técnicas conceituadas desta
última a Processos de Desenvolvimento de Software?
Como resposta para tal pergunta tem-se:
Traduzindo conceitos da Engenharia de Software para termos
Estatísticos, e vice e versa.
Diante da necessidade real e da dificuldade em se promover Controle
Estatístico de Processo e Melhoria de Processo, a tradução aqui proposta
concretiza-se por meio do Processo de Medição de Software proposto nesta
dissertação.
11
1.2 Objetivos
Diante de todas as considerações anteriormente expostas, tem-se como
objetivo geral desta dissertação propor um Processo de Medição de Software
que facilite o Controle Estatístico e Melhoria de Processo e, conseqüentemente,
proporcione maior qualidade ao Processo de Desenvolvimento de Software.
Para que tal objetivo seja alcançado, alguns objetivos específicos tiveram
que ser perseguidos:
Correspondência entre termos do PSM e conceitos Estatísticos;
Elaboração de um Processo Prático de Medição para Empresas de
Software.
1.3 Organização do Trabalho
Este trabalho está organizado em 6 tópicos, 5 anexos e o glossário. Neste
tópico de Introdução situa-se o contexto do trabalho e descrevem-se os
principais objetivos.
No tópico 2 é apresentada a Revisão Bibliográfica, que inclui:
Produção de Software: mostra uma visão sobre o crescimento da
Produção de Software no mundo e da importância da qualidade em seu
processo produtivo;
Processo de Software: a partir da importância da qualidade citada,
tópico apresenta o modelo CMMI como o principal modelo de qualidade
utilizado pelas empresas de software, que embasou a construção do
Processo de Medição proposto nesta dissertação;
Medição de Software: destaca a importância da medição para o alcance
da qualidade no Processo de Software e a caracterização das principais
abordagens quantitativas consideradas para o desenvolvimento do
Processo de Medição proposto, que são o modelo PSM e a Metodologia
Estatística do Seis Sigma;
12
Correspondência entre CMMI Seis Sigma: apresenta o mapeamento
entre as áreas de processo e subpráticas do CMMI para com as
atividades do Seis Sigma.
No tópico 3 a Metodologia é apresentada. A Metodologia utilizada foi
uma forma simplificada de Pesquisa-Ação, que envolve uma contemplação
teórica ocorrendo simultaneamente à resolução de um problema prático, neste
caso o Projeto Via Digital.
No tópico 4 os Resultados são discutidos, estando divididos em dois
principais sub-itens:
Resultados Metodológicos: todas as atividades necessárias para a
elaboração do processo de medição proposto nesta dissertação são
descritas neste tópico. A correspondência realizada entre o CMMI - Seis
Sigma PSM é explicada. O processo de medição propriamente dito é
exposto junto a todas as atividades por ele definidas, bem como os
artefatos ou documentos gerados por estas atividades;
Resultados de Análise de Dados: os resultados de uma aplicação piloto
do processo de medição definido por esta dissertação são explicados. O
projeto escolhido para a utilização do processo de medição foi o Via
Digital, cujos dados foram completados por simulação.
No tópico 5 são relatadas as Conclusões obtidas no trabalho e sugestões
para trabalhos futuros.
No Anexo A é apresentado o modelo de artefato para documentação
resumida das análises de variância realizadas pelo Processo de Medição de
Software. No Anexo B esboça-se um exemplo do artefato de análise resumida
para a medida esforço. No Anexo C são apresentados os dados de simulação
para a medida esforço na finalidade de utilização piloto do Processo de Medição
de Software proposto. No Anexo D são apresentados os cálculos de defeitos para
13
diferentes níveis do Seis Sigma. No Anexo E é apresentado o quadro contendo
constantes para construção de gráficos de controle.
No Glossário são definidos alguns termos importantes para o melhor
entendimento da dissertação.
14
2 REVISÃO BIBLIOGRÁFICA
Os principais conceitos teóricos necessários ao entendimento e
confecção deste trabalho são apresentados a seguir.
2.1 Produção de Software
O setor de software no mundo tem impressionado pelo seu dinamismo
recente. Ao contrário do previsto por alguns autores como Baumol et al. (1991),
os quais vislumbraram um crescimento pequeno da área em função da
complexidade inerente a softwares, esse setor tem apresentado elevado índice de
crescimento de sua produtividade, graças a dois fatores. Em primeiro lugar, a
emergência da Engenharia de Software permitiu a adoção de técnicas de
desenvolvimento de software efetivas (eficientes e eficazes), reduzindo seus
custos de produção e manutenção (Pondé, 1993). Em segundo lugar, o
surgimento de máquinas com maior capacidade de processamento e
armazenamento de informações possibilitou a substituição de mão-de-obra por
equipamento, ao mesmo tempo em que permitiu a utilização de linguagens de
mais alto nível.
No caso brasileiro, a reestruturação tem-se acelerado nos últimos anos,
principalmente com a difusão do uso de microcomputadores e de comunicação
via Internet, influenciando diretamente na economia nacional.
Ao longo das últimas décadas, os produtos de software têm sofrido um
considerável crescimento de tamanho e complexidade e, à medida que isto
ocorre, o número de problemas enfrentados durante o desenvolvimento também
aumenta. Com o intuito de obter produtos com os níveis desejáveis de qualidade,
a última década assistiu a uma mudança de enfoque com relação à garantia da
qualidade. Tem-se, então, uma nova abordagem, na qual o foco principal das
atenções está no próprio processo produtivo, visto que este tem se mostrado o
15
fator determinante para o alcance da qualidade do produto final. A partir desta
mudança de foco, intensificou-se a pesquisa sobre o processo de
desenvolvimento. Várias normas e modelos de qualidade foram descritos para
auxiliar na definição e melhoria de processos de software.
Dentre os modelos de qualidade de software mais importantes, pode-se
citar o CMMI (Capability Maturity Model Integration) que nomeia tanto um
projeto do SEI (Sofware Engineering Institute) quanto os modelos resultantes
deste projeto. O Projeto CMMI pode ser traduzido como Modelo Integrado de
Maturidade e Capacidade.
Para alcançar níveis cada vez mais altos de qualidade torna-se necessário
melhorar cada etapa do ciclo de vida do software (Oman, 1997) e, para tornar
isto possível, dados quantitativos que descrevam a realidade do processo
precisam ser obtidos e devidamente analisados. Neste contexto, medições de
software têm se mostrado o fator-chave para o aumento da qualidade dos
processos, pois são a base para a identificação de suas forças e fraquezas,
facilitando a visualização das oportunidades de melhoria.
Entretanto, o uso de medições apenas provê dados referentes às
entidades do mundo real envolvidas na execução dos projetos. Serão as ações
tomadas, a partir dos resultados obtidos que farão com que a qualidade dos
produtos e o desempenho do processo aumentem. Para que uma abordagem de
melhoria de processos baseada no uso de medições obtenha êxito, porém, a
escolha das medições, sua definição consistente, o correto levantamento dos
dados e a elaboração de um mecanismo de análise dos resultados devem ser
devidamente estudados.
2.2 Processo de Software
O crescimento da modalidade Fábrica de Software entre as empresas de
software tem aumentado a busca por processos que tragam benefícios. Apesar do
16
custo elevado para se implantar processos, os resultados apresentados por quem
implantou algum modelo ou norma de qualidade servem como incentivo para
os que ainda não tomaram esta iniciativa.
No tópico seguinte apresenta-se uma visão geral de Processos e do
Modelo CMMI.
2.2.1 Processos
As engenharias comumente descrevem processos como sendo diversas
operações pelas quais passa um produto até ele ficar pronto (Souza, 2004).
Algumas definições de processo são apresentadas a seguir:
A NBR define processo como um conjunto de atividades inter-
relacionadas, que transforma entradas em saídas (Associação Brasileira
de Normas Técnicas, ABNT, 1994);
O IEEE (Institute of Electrical and Electronic Engineers) define
Processo como uma seqüência de passos realizados para um
determinado propósito (IEEE, 1990).
Esta definição pode ser aplicada a qualquer atividade, seja ela da
manufatura ou não.
Paulk et al. (1995) define Processo de Software como um conjunto de
atividades, métodos, práticas e tecnologias que as pessoas utilizam para
desenvolver e manter software e seus produtos relacionados. A Figura 1 ilustra
esta definição.
17
FIGURA 1 Processo e seus componentes
Fonte: Paulk et al. (1995)
Ainda segundo Paulk et al. (1995), considerando que o software é
resultado do processo de desenvolvimento, espera-se que a sua qualidade seja
altamente influenciada pela qualidade do processo que o gera.
Focando-se somente no produto, deixam-se de lado assuntos
relacionados com a escalabilidade, ou seja, o aumento do tamanho
da equipe possui o risco de se perder qualidade. Além disso, não há
a preocupação de como realizar melhor as tarefas.
Focando-se no processo, prevê-se a repetição de resultados,
tendências futuras para os projetos, mantendo as características do
produto. Um processo bem controlado evita surpresas e minimiza
os riscos (Paulk et al., 1995).
18
2.2.2 Modelo CMMI
De acordo com Paulk et al. (1995) “para melhorar a capacitação da
indústria de software dos Estados Unidos, foi fundado o SEI, Software
Engineering Institute (Instituto de Engenharia de Software), junto com a
Carnegie-Mellon University. O resultado dessa iniciativa materializou-se no
desenvolvimento do CMM – modelo de melhoria de processo, baseado nos
princípios de Controle Estatístico da Qualidade, estabelecidos inicialmente por
Shewhart, desenvolvidos e demonstrados por Deming e Juran, e no conceito de
Maturidade da Gestão de Qualidade, estabelecido por Crosby sendo adaptado
para os processos de software por Humphrey e outros”.
Vários modelos foram desenvolvidos pelo SEI, para diversas atividades.
Diante da dificuldade de algumas organizações em implantar esses diversos
modelos, surge o CMMI, um modelo integrado de maturidade e capacidade. Seu
propósito principal, além, é claro, de apresentar um entendimento mais claro no
que diz respeito à interpretação do modelo, é também o de reduzir custos de
implementação de melhoria de processo.
O CMMI é uma evolução do CMM e procura estabelecer um modelo
único para o processo de melhoria corporativo, integrando diferentes modelos e
disciplinas.
Em 2006 foi publicada a versão 1.2 do CMMI denominada CMMI-DEV
Version 1.2 (CMMI for Development) (SEI, 2006).
A estrutura (framework) do CMMI é constituída pela definição de 25
áreas de processo conjunto de atividades relacionadas que, se realizadas
adequadamente, atendem um conjunto de metas consideradas importantes para
aumentar a capacidade desse processo.
O CMMI possui duas representações: "contínua" ou "por estágios". Estas
representações permitem que a organização utilize diferentes caminhos para a
melhoria, de acordo com seu interesse.
19
Representação Contínua
Possibilita a organização priorizar melhorias para atender aos objetivos
de negócio da empresa. É caracterizada por Níveis de Capacidade (Capability
Levels).
Representação por Estágios
Disponibiliza uma seqüência pré-determinada para melhoria baseada em
estágios que não deve ser desconsiderada, pois cada estágio serve de base para o
próximo. É caracterizada por Níveis de Maturidade (Maturity Levels).
Na representação por estágio (Figura 2), as 22 áreas de processo do
modelo estão agrupadas em quatro níveis de maturidade que indicam uma ordem
crescente de melhoria:
Nível 1 – Inicial (nível mais baixo): processos imprevisíveis, pouco
controlados e reativos;
Nível 2 Gerenciado: processos são caracterizados por Projeto e as
ações são freqüentemente reativas;
Nível 3 Definido: processos são caracterizados para a Organização e
são proativos;
Nível 4 Gerenciado Quantitativamente: processos são medidos e
controlados. Processos previsíveis devido à eliminação de causas
especiais de variação no processo, mediante rigoroso controle
estatístico;
Nível 5 Otimização: foco contínuo na Melhoria de Processos.
Melhoria possível pela eliminação de causas comuns de variação nos
processos estáveis, previsíveis, baseada nos feedbacks quantitativos dos
processos e produtos.
20
FIGURA 2 CMMI – Representação por Estágio
Na representação contínua, as mesmas 22 áreas de processo estão
distribuídas em quatro grupos: gestão de processos, gestão de projetos,
engenharia e suporte (Figura 3).
Fonte: Clênio Salviano, CenPRA, Campinas, 2005
21
FIGURA 3 CMMI Categorias de Processo no CMMI: Representação
Contínua
Fonte: Oliveira (2006)
De acordo com Oliveira (2006) “as atividades correspondentes a cada
área de processo podem ter suas capacidades de execução classificadas em um
dos seis níveis de capacidade de processo, os quais (como na representação por
estágio) indicam uma ordem crescente de melhoria” (p. 24):
Nível 0 Incompleto; satisfaz apenas alguns objetivos específicos da
área de processo;
Nível 1 Executado; que satisfaz todos os objetivos específicos da área
de processo;
Nível 2 – Gerenciado (processo planejado);
Nível 3 – Definido (processo padronizado);
Nível 4 – Gerenciado Quantitativamente (processo previsível);
Nível 5 – Otimizando (processo em melhoria contínua).
Os veis 2 a 5 de capacidade da área de processo são similares aos
níveis 2 a 5 de maturidade da organização da representação por estágio, com a
22
ressalva de que, nesta última, cada nível diz respeito a um conjunto de áreas de
processo pré-definidos (e não a uma área de processo em particular).
2.2.2.1 Benefícios na Melhoria de Processos pelo Uso do CMMI
De acordo com Paulk et al. (1995) a maturidade do processo de software
da organização ajuda a predizer a capacidade de um projeto em atingir seus
objetivos. Os projetos de software em seus níveis iniciais, ou seja, antes da
melhoria, têm grandes variações na execução das metas de custo, prazo e
qualidade. Segundo Oliveira (2006) com a implantação do CMMI, são esperadas
as seguintes melhorias ilustradas na Figura 4:
Previsibilidade: a 1ª melhoria esperada quando a organização amadurece
é na previsibilidade a diferença entre os resultados estimados e os
resultados observados diminui (não-tendenciosidade). Um exemplo seria
um prazo real de desenvolvimento de software, mais próximo do prazo
estimado;
Controle: a melhoria é no controle a variabilidade dos resultados
observados ao redor dos resultados estimados diminui (variância
mínima). Por exemplo: datas de entrega de projetos similares variam
pouco;
Efetividade: a melhoria, na efetividade, indica que os resultados
estimados, como um todo, melhoram; custo e tempo de
desenvolvimento diminuem e a produtividade e qualidade aumentam,
por causa da redução do retrabalho na correção de erros (p. 25).
23
FIGURA 4 CMMI e a Melhoria de Previsibilidade, Controle e Efetividade
Fonte: Oliveira (2006) adaptado de Paulk et al. (1995)
Podem-se identificar duas principais melhorias, bem como o
conseqüente resultado da aplicação destas na implantação do CMMI em
processos de desenvolvimento de software de uma organização. Veja Tabela 1.
TABELA 1 Melhorias do CMMI e seus resultados
Melhoria Resultados
Na estimação de prazos Planos mais realistas, permitindo planejamentos
de prazos maiores
Na predição dos resultados Saídas dos projetos tornam-se mais previsíveis
Fonte: Adaptado de Oliveira (2006)
24
A Figura 5 é uma reorganização da Figura 4.
FIGURA 5 Capacidade de Processo por Nível de Maturidade
Fonte: Oliveira (2006) adaptado de Paulk et al. (1995)
De acordo com Oliveira (2006) pode-se observar uma correspondência
entre conceitos comumente utilizados no CMMI e suas traduções estatísticas.
A medição e análise assumem papel de relevância no modelo
CMMI este incorpora a medição no próprio conceito, visto que a
25
definição de maturidade implica na relação capacidade (resultados
estimados) versus desempenho (resultados observados) do
processo, ao longo dos projetos. Em função desta definição
estatística dos conceitos fundamentais do CMM, podemos traduzir
(ou corresponder) CMM e Estatística. Quatro são os conceitos
básicos utilizados pelo CMM que têm imediata correspondência
estatística: processo, maturidade, capacidade, e performance do
processo. A Tabela 2 apresenta as definições destes conceitos
sustentadas por Paulk et al. (1994), e, em seguida, a
correspondência estatística (p. 26).
TABELA 2 Tradução CMMI – Estatística
Definição Significado no CMMI Tradução Estatística
Processo Seqüência de etapas
desenvolvida para realizar um
dado propósito
Um dado conjunto de variáveis
que caracterizam a vida útil de
um software
Maturidade Extensão na qual um processo
específico é explicitamente
definido, gerenciado, medido,
controlado, e o quanto ele é
efetivo
Distribuição de probabilidades
conjunta de um conjunto de
variáveis que caracterizam o
processo
Capacidade Resultados esperados que podem
ser obtidos como conseqüência
da realização do processo de
software
O valor médio da distribuição de
probabilidade
Performance Os resultados que, de fato, foram
alcançados pelo processo
Valores realizados das variáveis
que caracterizam tal processo,
para um dado projeto
Fonte: Adaptado de Oliveira (2006) apud Paulk et al. (1994)
De acordo com as definições observadas no quadro anterior, é possível
chegar à conclusão mostrada no Tabela 3:
26
TABELA 3 Definições de Performance e Capacidade
Definição Foco
Performance Resultados alcançados
Capacidade Resultados esperados
Fonte: Adaptado de Oliveira (2006) apud Paulk et al. (1994)
Na Figura 6, os conceitos mostrados pela Tabela 2 são esboçados de
forma gráfica, visando facilitar sua compreensão. Nesta figura, as variáveis
medidas estão sendo analisadas de uma a uma. Estas sempre serão avaliações de
resultados (prazo, custo, característica de qualidade etc), que são registrados no
eixo das ordenadas. Uma sucessão de projetos semelhantes está representada no
eixo das abscissas.
Oliveira (2006) expõe algumas conclusões obtidas a partir da
consideração das definições anteriormente mencionadas, bem como suas
traduções estatísticas.
Distribuição de probabilidades esperada para cada variável, num
dado projeto, é a maturidade daquele processo para aquela
variável. Seus valores esperados (intervalos estatísticos de
estimação, predição, tolerância, por exemplo) representam a
capacidade do processo para aquela variável.
Quanto mais maduro um processo, menos variável em torno do
valor médio é a capacidade daquele processo, isto é, mais a
performance acontecerá perto do valor médio predito.
Estatisticamente, maturidade então tem ligação com o desvio-
padrão da variável medida, e performance tem ligação com a
média. Maturidade está relacionada ao inverso do desvio-padrão, e
capacidade está diretamente relacionada com a média.
27
Quanto mais capaz o processo, mais o intervalo de valores
esperados é melhor (menor prazo, menor custo, maior qualidade,
menor número de erros) (p. 29).
Considerando a correspondência realizada entre CMMI e conceitos
estatísticos, pode-se chegar a duas principais conclusões:
Primeiramente deve-se trabalhar na estabilização do processo. Ou seja,
em seu controle estatístico. Por meio dessa estabilização descobre-se em
que grau ou nível de maturidade o processo se encontra. Dessa maneira,
foca-se primeiro em conhecer a maturidade do processo, considerando
sua estabilização. Nesta dissertação, considerando o processo de
medição proposto, a estabilização é atingida por meio de gráficos de
controle;
Posteriormente, os esforços são concentrados em aumentar essa
maturidade (diminuindo a variabilidade). Aumentar a maturidade neste
caso depende do aumento da capacidade média do processo. Segundo o
processo de medição aqui proposto, essa melhoria pode ser conseguida
por meio de delineamentos experimentais.
A utilização de métodos estatísticos para estabilização e melhoria do
processo será melhor trabalhada no decorrer deste tópico.
Outro fator importante a ser observado é a origem conceitual do CMM,
a qual é embasada fortemente em conceitos estatísticos o que justifica a posterior
correspondência entre CMMI Seis Sigma PSM, desenvolvida no tópico de
resultados.
28
FIGURA 6 Capacidade, maturidade, e performance de um processo, sob o
ponto-de-vista estatístico
Fonte: Oliveira (2006)
A próxima seção refere-se a uma área de processo abordada no modelo
CMMI, que está diretamente ligada ao pensamento estatístico exposto
anteriormente – Medição e Análise.
2.2.2.2 Medição e Análise no CMMI
No nível 2 de maturidade da Representação por Estágio do CMMI foi
adicionada a Área de Medição e Análise. Isso reforça a real necessidade da
mensuração em um processo de desenvolvimento de software, bem como a
importância deste assunto. A diferença entre a consideração do SW-CMM e do
CMMI em seus modelos para esta área pode ser observada na Tabela 4, a seguir:
29
TABELA 4 Inclusão da Área de Medição e Análise no Nível 2 do CMMI
(Representação por Estágio)
Fonte: Oliveira (2006)
Na Representação Contínua, a Área de Medição e Análise está situada
dentro do Grupo de Suporte, como pode ser visto na Tabela 5.
30
TABELA 5 Área de Medição e Análise – Grupo de Suporte do CMMI
(Representação Contínua)
A área de processo de Medição e Análise limita-se a garantir que os
projetos de software sejam controlados e acompanhados em relação aos
compromissos assumidos. No nível 4 de maturidade, as atividades de
31
mensuração passam a ser utilizadas no sentido de garantir o controle estatístico
do processo. Considerando ainda a mensuração no nível 5, esta fornece base
para implantação de melhoria contínua em processos (Oliveira, 2006).
Diante de todas essas considerações do modelo do CMMI com relação à
necessidade de atividades ligadas à mensuração, bem como o sistema de
medição necessário para implantação do CMMI em uma organização que busca
altos níveis de maturidade, esta dissertação apresenta um processo de medição
de software baseado em PSM conjugado com Seis Sigma – assuntos estes
tratados em seções posteriores.
A área de Medição e Análise possui as duas seguintes Metas Específicas,
ilustradas na Tabela 6, a seguir:
TABELA 6 Metas Específicas da Área de Medição e Análise do CMMI
32
De acordo com Oliveira (2006), e considerando o contexto dessa
dissertação, temos que a área de Medição e Análise se relaciona diretamente
com as seguintes Áreas de Processo do CMMI:
Planejamento de Projeto (nível 2 de maturidade), para fornecer
informações sobre as estimativas dos atributos de projetos e outras
necessidades de informação para planejamento;
Monitoração e Controle de Projeto (nível 2 de maturidade), para atender
às necessidades de informação do monitoramento da performance do
projeto;
Definição do Processo Organizacional (nível 3 de maturidade), para o
estabelecimento do repositório de medições da organização;
Gerência Quantitativa do Projeto (nível 4 de maturidade), para apoiar o
entendimento da variação e o uso apropriado das técnicas de análise
estatística.
Na área de Medição e Análise do CMMI, a Subprática 4, “Selecionar
métodos e ferramentas apropriados para análise de dados”, da Prática
“Especificar os procedimentos de análise”, recomenda o uso de métodos
estatísticos para se entender a variabilidade dos dados, em que técnicas
adequadas de análise descritiva e critérios convenientes de amostragem devem
ser escolhidos. E a Subprática 6, “Especificar critérios para avaliar a utilidade
dos resultados da análise” e da condução das atividades de medição e análise,
lembra que providências devem ser tomadas para se evitar o viés na amostragem
dos dados e garantir que as pressuposições estatísticas sejam satisfeitas para a
correta aplicação de metodologias estocásticas. Ambas Subpráticas estão
destacadas na Tabela 7, a seguir:
33
TABELA 7 Subpráticas da Área de Medição e Análise do CMMI, que
Recomendam o Uso de Metodologia Estatística
Fonte: Oliveira (2006)
De acordo com Oliveira (2006)
As metodologias Estatísticas como controle estatístico de processo
e delineamentos experimentais desde que utilizadas de modo
apropriado, atendem a estas Subpráticas. Além de contribuir -
direta ou indiretamente para o estabelecimento das demais
Metas, Práticas e Subpráticas, tanto Genéricas quanto Específicas,
da área em questão, como, por exemplo, para a Prática Analisar os
Dados Medidos, que faz parte da Meta Específica Fornecer os
resultados das medições. Utilizando a Estatística, compreende-se
mais profundamente o processo, pois é a Estatística que permitirá
fazer tanto a medição quanto a análise (p. 37).
2.2.3 Considerações Finais sobre o Tópico
Baseado nas características do CMMI apresentadas neste tópico optou-
se pela utilização do modelo CMMI-DEV como base para a criação do processo
34
de medição proposto. Outro fator que influenciou a escolha foi o
reconhecimento que o CMMI possui internacionalmente.
A representação escolhida foi a estagiada, por descrever a seqüência de
execução das áreas de processo, agrupando-as em níveis. Alcançando cada nível
garante-se uma base adequada de melhorias para o próximo nível. Dessa forma,
considerando a representação estagiada, encontrou-se maior facilidade na
exposição da correspondência realizada entre as atividades do processo de
medição propostas e as atividades especificadas na metodologia Estatística do
Seis Sigma.
Os níveis 4 e 5 do CMMI somente podem ser alcançados pelas empresas
de software por meio de um processo de medição adequado, que considere
fatores de controle estatístico do processo produtivo no nível 4, e de melhoria de
processo por meio de delineamentos experimentais no vel 5. Isto será melhor
explicado mais adiante no tópico intitulado Resultados, item Resultados
Metodológicos.
2.3 Medição de Software
Processos de Medição se tornaram uma parte tão importante quanto
necessária nas Organizações que desenvolvem software (Mcgarry et al., 2002),
pois para competir em um ambiente caracterizado por rápidas e constantes
mudanças é fundamental trabalhar de maneira produtiva, eficiente e com alto
nível de qualidade. Por estes motivos, os dias de tomadas de decisão baseadas
apenas “em palpites” terminaram, e é neste contexto que a medição se insere: a
partir da existência de dados e análises históricas sobre a Organização, é
possível melhorar em muito o processo de tomada de decisão (Holmes, 2002).
A maioria dos profissionais da área de desenvolvimento de software
compreende a necessidade de realizar medições, mas, infelizmente, a
implementação de um processo que venha a se tornar repetível e integrado aos
35
ciclos-de-vida de desenvolvimento e manutenção de software de uma forma
geral ainda é um grande problema. As principais razões para o fracasso de
programas de medidas não são problemas técnicos, e sim organizacionais
(Rubin, 1992), tais como: o-alinhamento aos objetivos de negócio, resistência
cultural, motivação errônea e falta de liderança. De acordo com Holmes (2002),
estes problemas podem ser resolvidos abordando-se a definição e
implementação de um processo de medição por meio do uso de uma
metodologia organizada de planejamento, que busca envolver todos os
profissionais da área de software, cada um no momento adequado.
Um programa de medidas de sucesso é mais que simplesmente uma
coletânea de dados. Os benefícios e valores agregados obtidos por meio da
medição dizem respeito às decisões e ações tomadas a partir da análise dos
dados obtidos, e não da coleção de dados em si (Zubrow, 1998). Portanto, a
melhor abordagem para definição e implementação de um processo de medição
é a que define, antes de tudo, o que a Organização deseja ou precisa saber, e
somente então escolhe as medidas apropriadas. Uma vez que as medidas estejam
definidas, o passo seguinte é encontrar uma coleção de dados específica que
possa apoiar a obtenção destas medidas. Especificamente, um processo deste
tipo envolve os seguintes passos: (i) definir os objetivos e iniciativas; (ii) definir
as medidas que apoiarão estes objetivos e iniciativas; (iii) definir os dados que
serão necessários para produzir estas medidas; (iv) definir como analisar e
comunicar os resultados das medidas e (v) implementar o processo (Goethert &
Fischer, 2003).
Um processo de medição de software direcionado aos objetivos produz
medidas que provêm informações para importantes questões de negócio
previamente identificadas. Uma vez que as medidas podem ser rastreadas de
volta aos objetivos da Organização, as atividades de coleta de dados não são
executadas apenas pelo ato de coletar medidas, e sim com o propósito de que os
36
dados coletados sejam analisados de forma a manter o foco nestes objetivos
(Goethert & Hayes, 2001; Goethert & Fischer, 2003).
Assim como qualquer outra disciplina de engenharia, o desenvolvimento
de software requer um mecanismo de medição para obter as informações sobre a
execução do processo, necessárias para o seu correto entendimento e avaliação
(Basili, 1994). Medir é o processo por meio do qual números ou símbolos são
atribuídos a características das entidades do mundo real, de forma a tornar
possível caracterizar cada entidade por intermédio de regras claramente
definidas (Fenton & Pfleeger, 1997).
O uso de medições ajuda a entender e a interagir com o mundo para,
então, poder melhorá-lo. Muitas medições são propostas e aplicadas em casos
práticos, a fim de alcançar os seguintes objetivos: i) melhorar o entendimento
sobre o processo, produto, recursos e ambiente de desenvolvimento e, assim,
estabelecer bases para comparação entre medições; ii) avaliar o andamento do
projeto comparando com dados planejados; iii) fazer previsões sobre o futuro
andamento do projeto baseado em comportamentos passados; iv) promover
melhorias identificando falhas, ineficiências e outras oportunidades para
melhorar a qualidade do produto e o desempenho do processo (Park et al., 1996).
Porém, ao contrário do que possa parecer, definir, coletar e analisar um
conjunto de medições não é uma tarefa trivial. Na realidade, esta é uma tarefa
trabalhosa, que demanda grande conhecimento para evitar que o seu uso não
aumente ainda mais os problemas enfrentados durante o desenvolvimento. De
acordo com Park et al. (1996), este problema ocorre devido ao grande número de
atributos que podem ser medidos durante um projeto. Uma escolha incorreta das
medições pode levar, além do próprio aumento desnecessário de esforço, a uma
visão distorcida do processo, o que dificulta a sua análise e, muitas vezes,
termina por orientar decisões equivocadas.
37
Experiências com medições orientadas a objetivos mostraram a
importância da definição prévia de metas para facilitar a escolha de medições e a
correta interpretação dos resultados.
Neste contexto se destaca o modelo de medição de software PSM e a
abordagem Seis Sigma, que se baseiam na convicção de que, para uma
organização medir de forma eficiente, é necessário, primeiro, especificar
objetivos a serem alcançados, relacionar estes objetivos com dados reais obtidos
por meio de medições e, finalmente, prover um processo de medição para a
interpretação destes dados de acordo com os objetivos propostos. Dessa forma, a
definição de medições deve ser baseada nos objetivos definidos para o processo
de avaliação. Estes objetivos, por sua vez, devem estar diretamente relacionados
às metas organizacionais que levaram à implantação do programa de melhoria,
pois este é um fator de grande influência para a obtenção do apoio da alta
gerência.
De acordo com Fenton & Neil (2000), todas estas dificuldades fizeram
com que a maioria das propostas de implantação de medições para avaliação e
melhoria de processos não tenham tido muito sucesso até os dias de hoje. Poucos
foram os casos nos quais o seu uso não foi considerado ineficiente ou, até
mesmo, desaconselhável. Eles defendem a idéia de que a razão para esta falta de
sucesso pode ser atribuída ao fato de que as atividades de medição não tiveram
como objetivo o principal requisito, que é prover as informações necessárias
para apoiar as decisões gerenciais durante o ciclo de vida do software. Além
disso, também argumentam que as metodologias tradicionais geralmente são
orientadas por modelos de regressão para estimativa de custo e de defeitos, o que
provê pouca informação de caráter decisório para os gerentes. Na opinião de
ambos, o futuro das medições de software está no uso de medições relativamente
simples, combinando diferentes aspectos do desenvolvimento de forma a
permitir vários tipos de estimativas e avaliações.
38
Assim, torna-se necessário analisar os fatores-chave esquecidos pelas
abordagens tradicionais como, por exemplo, a relação de causa e efeito e a
combinação de evidências.
São apresentadas a seguir algumas explicações sobre o projeto PSM e a
metodologia Estatística do Seis Sigma. Dois pontos fundamentais para o
entendimento dessa dissertação.
2.3.1 PSM
Neste tópico apresenta-se o modelo PSM (Practical Software
Measurement) e suas características, bem como a Ferramenta PSM Insight,
explicando suas principais funcionalidades.
2.3.1.1 O Modelo PSM
O PSM é um modelo para a estruturação da atividade de mensuração em
um projeto de software. De um ponto de vista prático, o PSM procura resolver
dois problemas, conforme pode ser observado na Tabela 8:
TABELA 8 Problemas e Propostas de Soluções
Problemas Propostas de Soluções
Como especificar formalmente as
medidas a serem utilizadas?
Modelo de Informação: se concentra
na seleção das medidas utilizadas
Como conduzir o processo de
medição?
Modelo de Processo: trata-se de um
guia para a implementação do PSM
Fonte: adaptado de Aguiar (2006)
Modelo de Informação
O Modelo de Informação do PSM é uma estrutura para a definição das
medidas a serem utilizadas em um projeto. Por meio desse modelo são definidos
os seguintes conceitos:
39
Atributo: propriedade relevante do ponto de vista das necessidades de
informação;
Método: operação que mapeia o atributo para uma escala;
Medida Básica: valor resultante da aplicação do Método a um Atributo;
Função: algoritmo combinando duas ou mais Medidas Básicas;
Medida Derivada: valor resultante da aplicação de uma Função;
Modelo: algoritmo combinando medidas e critérios de decisão;
Indicador: estimativa ou avaliação que provê uma base para a tomada de
decisão.
Na finalidade de prover um melhor entendimento, apresenta-se a seguir
um exemplo simples, obtido de Aguiar (2006), cujo objetivo é obter estimativas
de produtividade no desenvolvimento de software. Para tal, uma possível
aplicação do Modelo de Informação seria:
Para cada projeto da unidade organizacional, obter:
Atributos: horas trabalhadas no projeto (a partir dos timesheets),
funcionalidade oferecida pelo projeto (a partir das especificações);
Métodos: contar horas (obtendo o esforço do projeto), contar pontos de
função (obtendo o tamanho funcional do projeto);
Medidas Básicas: esforço do projeto em horas, tamanho do projeto em
pontos de função;
Função: dividir tamanho do projeto pelo esforço (obtendo Pontos de
Função/Hora).
A partir dos resultados obtidos para os projetos, obter:
Indicador: média e intervalo de confiança a 2 desvios-padrão para a
produtividade.
40
Modelo de processo
Por intermédio desse modelo percebe-se um direcionamento para a
execução de atividades de medição de um projeto de software, conforme
observado na Figura 7. As idéias principais de cada uma das atividades desse
processo estão sucintamente mencionadas nesta seção. Para um entendimento
mais profundo destas atividades, bem como um maior detalhamento, deve-se
consultar Aguiar (2006).
FIGURA 7 Modelo de Processo do PSM
Fonte: Aguiar (2006)
O Processo Central de Mensuração do PSM envolve os seguintes
subprocessos:
Subprocesso: Planejar Mensuração Este subprocesso é composto de 3
atividades:
41
Atividade - Identificar e Priorizar Necessidades de Informação: na identificação
das necessidades de informação do projeto são considerados os seus objetivos,
itens críticos, ambiente de execução, ações de melhoria planejadas, mudanças
propostas e novas necessidades de informação, assim como informações
provenientes da atividade de gerenciamento de risco. O PSM fornece uma
classificação para as necessidades de informação de um projeto, que pode
estimular o processo de identificação. Segundo essa classificação, as
necessidades de informação de um projeto de software costumam ser alocados
às seguintes Categorias de Informação, conforme observado no Tabela 9:
TABELA 9 Classificação das necessidades de informação
Considerando essas categorias, medidas apropriadas são mais facilmente
selecionadas, atribuindo-se cada necessidade de informação do projeto a uma
dessas categorias. O PSM inclui tabelas de correspondência entre as Categorias
de Informação, Atributos, Estruturas e Medidas Candidatas. Resumidamente
pode-se concluir que o PSM possui varias sugestões de medidas. Todavia, a
seleção destas deve-se levar em consideração as necessidades específicas, de
específicos projetos. Antes de selecionar os problemas a serem atacados pelo
processo de medição, deve-se considerar a probabilidade de influência que estes
têm na organização, bem como a proporção do beneficio que a eliminação destes
trará para a organização. A partir da seleção destes problemas, deve-se
concentrar em suas medidas de impacto.
Categorias de Informação
Prazo e Progresso
Recursos e Custo
Tamanho e Estabilidade do Produto
Qualidade do Produto
Performance do Processo
Eficácia da Tecnologia
Satisfação do Usuário
42
Atividade - Selecionar e Especificar Medidas: nesta atividade são selecionadas
as medidas sicas, medidas derivadas e indicadores que virão a ser utilizados
no atendimento às necessidades de informação anteriormente estabelecidas.
Atividade - Integrar Mensuração aos Processos do Projeto: nas atividades
anteriores, a preocupação foi descobrir o que o gerente do projeto precisará
saber. Nesta atividade, passaremos a examinar como os dados serão coletados e
analisados, a fim de satisfazer as necessidades de informação do projeto. Serão
especificadas em quais fases do processo de desenvolvimento de software serão
coletados os dados.
Subprocesso: Executar Mensuração - este subprocesso também compreende 3
atividades:
Atividade - Coletar e Processar Dados: esta atividade envolve a coleta de dados
a partir das fontes especificadas no Plano de Mensuração, a respectiva
preparação para a análise e o armazenamento dos dados em local acessível.
Atividade -Analisar Dados: esta atividade envolve a transformação das medidas
básicas em indicadores e a utilização dos indicadores e critérios em decisões de
planejamento e/ou ações corretivas. Devem ser aplicados os procedimentos de
análise previstos no Plano de Mensuração, podendo ser utilizadas técnicas
alternativas quando necessário.
Atividade - Produzir Recomendações: nesta atividade é efetuada uma avaliação
global do projeto, incluindo projeções de performance futura. o também
identificados problemas específicos, riscos e falta de informações, devendo ser
43
descritos os obstáculos (potenciais ou existentes) ao sucesso do projeto. Devem
ser produzidas recomendações sugerindo ações alternativas, incluindo as
vantagens e desvantagens de cada caminho apontado.
Os Processos Não-Centrais do PSM, igualmente importantes, são
descritos a seguir, acompanhados das respectivas atividades:
Processo: Avaliar Mensuração
Atividade -Avaliar Medidas: os critérios para avaliar as medidas selecionadas
para o projeto são: utilização dos produtos da medição; confiança nos resultados;
adequação aos objetivos do projeto; entendimento dos resultados; acurácia
(medida especificada versus real); e confiabilidade (resultados consistentes em
várias repetições das medições). Esta fase avalia se as medidas selecionadas,
bem como os dados referentes a estas medidas obtiveram entendimento nos
resultados.
Atividade - Avaliar o Processo de Mensuração: esta avaliação deve ser realizada
sob o ponto de vista de performance (entradas, saídas e efeitos), conformidade
(processo especificado versus executado) e maturidade (comparação com um
processo semelhante de outra organização).
Atividade - Atualizar a Base de Experiência: devem ser armazenados, em um
repositório, as lições aprendidas, avaliações, sucessos e fracassos, artefatos e
toda a documentação produzida pelo processo de mensuração.
44
Atividade - Identificar e Implementar Melhorias: esta atividade objetiva a
identificação de alternativas para a melhoria do processo vigente e sua aplicação
nos próximos projetos.
Processo: Estabelecer e Sustentar Comprometimento
Este processo inclui atividades comuns a qualquer projeto, tais como:
Obter Comprometimento Organizacional, Definir Responsabilidades, Prover
Recursos e Rever o Progresso do Programa de Mensuração.
O PSM inclui, ainda, um produto de software específico, que pode ser
obtido gratuitamente no website do PSM Support Center, em www.psmsc.com
(PSM, 2005). Trata-se do PSM Insight, uma ferramenta simples que apóia a
implantação do PSM em uma organização. Esta ferramenta será abordada com
mais detalhes na seção seguinte.
2.3.1.2 A Ferramenta PSM Insight
As definições a seguir foram obtidas no manual de utilização do
software PSM Insight (Insight, 2005). As informações presentes nesta seção
foram trabalhadas por meio de telas de ajuda da ferramenta, manual de
utilização, bem como em considerações provenientes da utilização intensiva do
software. Um filtro de relevância, considerando o contexto dessa dissertação, foi
aplicado a tais informações, com a finalidade de facilitar a compreensão de sua
real aplicabilidade em meio à medição de um projeto de software.
PSM Insight
O PSM Insight é uma ferramenta baseada na idéia de um software que
automatize o processo prático de medição de software e sistemas (PSM). O
software é altamente gráfico, e inclui muitas telas de ajudas na finalidade de
45
ajudar na organização do projeto e na definição de medidas e indicadores. PSM
Insight inclui três módulos principais:
Organização;
Entrada de Dados;
Análise.
A ferramenta é de uso amigável, fornecendo muitos exemplos-padrão.
Entretanto, a PSM Insight é também muito flexível, possibilitando análises
customizadas para necessidades específicas de projetos. Ela permite a
automatização do processo de medição dos sistemas (PSM). Esta ferramenta
possui foco em organização de dados, entrada de dados e funções de análise para
ajudar na interpretação dos dados coletados.
Alguns dos principais benefícios fornecidos pela ferramenta são:
Customizável às necessidades específicas dos projetos;
Baseada em modelos comumente utilizados, considerando as melhores
práticas para desenvolvimento de software;
Organizador de dados facilitando tomada de decisões;
Identificador de problemas em potencial e das soluções para eles;
Auxiliador na identificação do custo e cronograma das atividades.
2.3.1.3 Considerações Finais sobre a Seção
O modelo PSM, bem como a ferramenta PSM Insight, ressaltam a
importância da medição para o alcance da qualidade em um processo de
desenvolvimento de software e despertam as fábricas de software para esta
realidade. Todavia, para que seja realizado um controle de processo eficaz e
identificadas propostas para a sua melhoria, exigi-se uma estrutura de medição
melhor definida, que considere aspectos estatísticos em sua construção.
Considerando esta realidade, é possível fazer uma analogia do PSM com
um ótimo “etiquetador de dados”, que provê detalhes sobre a origem dos dados
46
(no caso da Figura 8 o dado é 3,17), mas, no entanto, pouco informa sobre o seu
significado, conforme mostra a Figura 8:
FIGURA 8 Dificuldade de interpretação
Dessa forma, dentre um dos aspectos considerados nesta dissertação,
tem-se a correspondência dos conceitos dos termos utilizados no PSM para
termos estatísticos. Na finalidade de fazer com que, desde o início da elaboração
de um projeto, sejam consideradas algumas preocupações estatísticas, para que a
análise dos dados, no futuro, possa fornecer informações valiosas a respeito das
verdadeiras características do processo de desenvolvimento de software
utilizado.
Esta correspondência será melhor detalhada no tópico de número 4,
sobre Resultados e Discussão, na seção sobre Resultados Metodológicos
Correspondência CMMI – Seis Sigma – PSM.
2.3.2 Seis Sigma
Nesta seção serão discutidas algumas características da metodologia
Estatística do Seis Sigma. Primeiramente, explicando em mais detalhes os
conceitos Estatísticos relacionados ao Seis Sigma e, posteriormente, o modelo
DMAIC, que é apresentado por meio de um exemplo no contexto
computacional.
47
Nas demais seções são introduzidos conceitos estatísticos utilizados no
Seis Sigma: Gráficos de Controle e Delineamentos Experimentais.
2.3.2.1 Conceito
As empresas estão constantemente em alerta para ganhar
competitividade, utilizando ferramentas já consagradas como armas para vencer
a concorrência. Apesar do enfoque em formas inovadoras de criar produtos e
prestar serviços, uma constante permanece: as empresas que oferecem produtos
e serviços de melhor qualidade sempre vencem a concorrência. O método Seis
Sigma de melhoria é uma abordagem testada e aprovada em várias partes do
mundo, e que tem sido eficaz em ajudar empresas a dominarem a concorrência
(Eckes, 2003).
A crescente popularidade do programa Seis Sigma deve-se aos casos de
aplicações bem sucedidas em grandes corporações, como a Motorola e General
Electric. Tais aplicações transformaram o Seis Sigma em uma das poucas
iniciativas de orientação técnica a gerar interesse significativo na comunidade
financeira, na mídia e na liderança das grandes corporações (Hoerl, 2001).
Parte da popularidade do programa é devido ao seu foco na redução de
custos e na melhoria da lucratividade. Essa melhoria é obtida por meio do
rastreamento e eliminação das causas raízes dos defeitos, assim como da
melhoria da eficiência em todas as operações, a partir do chão de fábrica até os
níveis gerenciais (Bisgaard & Freiesleben, 2001, apud Usevicius, 2004).
No Brasil, empresas como Brahma, Belgo-Mineira, Kodak, Motorola,
Ambev, Gerdau, Cimentos Votorantim e Multibrás estão colhendo resultados
concretos da aplicação do Seis Sigma. As ferramentas do Seis Sigma já são
conhecidas. A maneira pela qual o implementadas é onde está a novidade e a
razão fundamental de seu sucesso.
48
Snee (2000), citou ainda que os projetos Seis Sigma podem apresentar
resultados da ordem de U$ 175.000 dólares por projeto Seis Sigma. Diversos
outros autores, tais como, Breyfogle III et al. (2001), Eckes (2001), Harry &
Schroeder (2000), Pande et al. (2001), também têm relatado que as empresas que
estão aplicando a metodologia Seis Sigma estão obtendo ganhos de qualidade e
financeiros expressivos. O entendimento do Seis Sigma pode ser facilitado se
observadas as comparações entre alguns padrões, como apresentado na Figura 9,
Figura 10 e Figura 11, todas extraídas de Werkema (2004).
FIGURA 9 Exemplo de comparação entre níveis do Seis Sigma
Fonte: Werkema (2004)
49
FIGURA 10 Exemplo de performance do Seis Sigma
Fonte: Werkema (2004)
FIGURA 11 Tradução do Nível de qualidade para Linguagem Financeira
Fonte: Werkema (2004)
O Seis Sigma é um sistema que liga idéias, tendências e ferramentas, o
qual o foco no cliente torna-se a prioridade principal. As melhorias Seis Sigma
50
são definidas pelo seu impacto sobre a satisfação e valores dos clientes. Existem
muitas decisões de negócios que se baseiam em opiniões e suposições. A
disciplina Seis Sigma começa esclarecendo que medição é a chave para avaliar o
desempenho dos negócios; depois, aplicam-se análises em dados de modo a se
construir um entendimento das variáveis-chave e a otimizar resultados.
Os conceitos fundamentais do Seis Sigma consideram o fato de que a
variação dos produtos e processos deve ser conhecida por ser um fator que afeta
tempos de fabricação, custos de produto e processo, qualidade do produto e,
finalmente, a satisfação do cliente. A etapa crucial do Seis Sigma consiste na
definição e medição da variação dos processos com o objetivo de descobrir suas
causas, desenvolvendo meios operacionais eficientes para controlar e reduzir
esta variação (Sanders & Hild, 2001, apud Usevicius, 2004). A metodologia
engloba ferramentas e práticas que substituem hábitos reativos por um estilo de
gerenciamento dinâmico, receptivo e pro ativo. Ser pro ativo significa agir antes
dos eventos.
O termo Seis Sigma possui diversos significados. Em termos gerais, é
muito mais uma estratégia de negócios do que apenas algo associado aos
conceitos de qualidade. Para as empresas pioneiras, Seis Sigma é parte da
estratégia corporativa dos negócios. E então, o que é Seis Sigma? Segue abaixo
um resumo do significado do Seis Sigma:
Os conceitos de Seis Sigma consideram o fato de que a variação dos
produtos e processos deve ser conhecida por ser um fator que afeta
tempo de fabricação, custos de produtos e processo, qualidade do
produto e, finalmente, a satisfação do cliente. A etapa crucial do Seis
Sigma consiste na definição e medição da variação dos processos com o
objetivo de descobrir suas causas, desenvolvendo meios operacionais
eficientes para controlar e reduzir esta variação. Segundo Eckes (2003),
em um nível mais técnico, o conceito baseia-se na teoria da variação,
51
aonde as coisas que podem ser medidas com precisão são passíveis de
variação. Partindo deste princípio, qualquer coisa que possa ser medida
em escala contínua, por exemplo, largura, altura, peso, segue a curva em
forma de sino, chamada de Curva Gaussiana, ou mais conhecida como
Curva Normal. Como métrica, Seis Sigma (σ) é utilizado para medir o
desempenho e a variabilidade dos processos. Os estatísticos utilizam a
letra grega Sigma (σ) para expressar o desvio padrão relativo a uma
população. Quanto maior o valor de Sigma, melhor é o desempenho do
processo. Utilizar Sigma nesse contexto facilita a comparação da
qualidade de diferentes produtos, serviços e processos. A
competitividade da maioria das empresas está situada entre três a quatro
Sigma. Existem muitas empresas que funcionam nessa faixa. Sigma se
torna exponencial quando traduzida em defeitos por milhão de
oportunidades (PPM). Um desempenho perto de um Sigma (σ) mostra
que o processo produz mais defeitos do que bons resultados. Seis sigma
significa, na realidade, um desempenho que se situa (em termos da
qualidade) muito perto da perfeição. Sigma se traduz normalmente em
índices de capabilidade (
p
C
e
pk
C
). Sigma também pode ser utilizado
para calcular o custo da má qualidade.
Seis Sigma é também uma metodologia para atingir a quase perfeição no
desempenho dos processos. Associa um rigoroso enfoque estatístico a
um arsenal de ferramentas, que são utilizadas com o objetivo de
caracterizar as fontes de variabilidade e para demonstrar como esse
conhecimento dado pode ser utilizado para controlar e aperfeiçoar os
resultados dos processos. Seis Sigma é visto mais como uma filosofia de
gestão. Explicam a relação existente entre o número de efeitos, o custo
do desperdício operacional e o grau de satisfação do cliente com os
produtos e serviços da empresa.
52
Características do Seis Sigma
A análise quantitativa e o pensamento estatístico são conceitos-chave no
Seis Sigma. O Seis Sigma é um gerenciamento baseado em dados. O
pensamento estatístico consiste na capacidade da organização em utilizar os
conceitos e ferramentas para melhorar seus processos. Os principais conceitos
do pensamento estatístico incluem a melhoria geral do sistema subordinando a
otimização das partes, visão de processo, uso de dados para a tomada de
decisões e entendimento do conceito de variação para tomada de decisões (Britz
et al., 2000, apud Reis, 2003). Pode-se dizer que a metodologia Seis Sigma está
dividida em 80% estatístico e 20% gestão estratégica, sendo esta última é
fundamental para o seu sucesso, pois se deve ter uma forte liderança que faça
com que toda a organização perceba a importância e do método e todos se
mostrem comprometidos.
A ênfase nos benefícios econômicos é um diferencial do Seis Sigma em
relação aos demais programas da qualidade. É desejável que a validação seja
realizada pela área financeira. O escopo deve seguir as expectativas da duração
do projeto, onde o escopo corresponde à abrangência ou tamanho do projeto.
O Seis Sigma necessita de pessoal especializado para a sua aplicação.
Esse pessoal especializado é tipicamente denominado de especialista Master
(Master Black Belt), especialista em Seis Sigma (Black Belt), membros das
Equipes Multifuncionais (Green Belt) e os demais Membros (Yellow ou White
Belts). Os termos são uma analogia aos especialistas em artes marciais, que
possuem uma série de habilidades.
Habilitação para envolver-se com o Seis Sigma
Segundo Werkema (2004), para que o Seis Sigam tenha sucesso, é
necessário treinar pessoas que tenham perfis apropriados, os quais estes se
53
transformarão em patrocinadores do programa ou em especialistas no método e
nas ferramentas Seis Sigma. Estes são apresentados a seguir:
Sponsor do Seis Sigma: é responsável por promover e definir as
diretrizes para a implementação do Seis Sigma, ou seja, o “número um”
da empresa;
Sponsor Facilitador: é um dos diretores, ele tem a responsabilidade de
assessorar o Sponsor do Seis Sigma na implementação do programa;
Champions: tem o papel de apoiar os projetos e remover possíveis
barreiras para o seu desenvolvimento, são diretores ou gerentes;
Master Black Belts: assessoram os Champions e atuam como mentores
dos Black Belts;
Black Belts: lideram equipes na condução de projetos. Têm o papel de
incentivar, entusiasmar e devem possuir habilidade de relacionamentos
comunicação, motivar para alcançar resultados e efetuar mudanças.
Devem ter um perfil para trabalhar em equipe, ter capacidade de
concentração, raciocínio analítico e quantitativo e ainda ter elevado
conhecimento técnico da sua área de atuação;
Green Belts: participam das equipes lideradas pelos Black Belts. Têm o
perfil similar ao dos Black Belts, mas com menor ênfase nos aspectos
comportamentais;
White Belts: dão suporte aos Black Belts e Green Belts na
implementação dos projetos, eles são profissionais de nível operacional
da empresa.
Na Tabela 10 é apresentada a comparação de alguns dos papéis citados
acima por Werkema (2004). Esta comparação é baseada em Harry & Schroeder
(2000).
54
TABELA 10 Comparação entre os perfis de alguns patrocinadores do Seis
Sigma
Champion Master Black Belt Black belt Green Belt
Qualificações
Executivos
seniores e
gerentes, tais
como, um
diretor ou
gerente de
fabricação ou
marketing.
Familiaridad
e com
ferramentas
estatísticas
básicas e
avançadas.
Recomendável
formação técnica.
Um Master Black
Belt poderia ser,
por exemplo, um
gerente ou eng.
chefe.
Domínio de
ferramentas
estatísticas básicas
e avançadas.
Recomendável
formação ou
orientação
técnica. Um
Black Belt
poderia ser um
eng. ou
profissional
com 5 ou mais
anos de
experiência.
Domínio das
ferramentas
estatísticas
básicas.
Base e suporte
técnico. Sua
posição atual
é associada
com o
problema que
está sendo
resolvido.
Familiaridade
com as
ferramentas
estáticas
básicas.
Treinamento
Três a cinco
dias de
treinamento
específico.
Em torno de 200
horas de
treinamento e
desenvolvimento
de projetos.
Em torno de
160 horas de
treinamento e
desenvolviment
o de projetos.
Em torno de
80 horas de
treinamento e
desenvolvime
nto de
projetos.
Numero de
Pessoas
Treinadas
Um
Champion
por unidade
de negócio
Um Master Black
Belt para cada 20-
30 Black Belts
Um Black Belt
para cada 50-
100 pessoas
Um Green
Belt para cada
10-20 pessoas
Fonte: Harry & Schroeder (2000).
Significados estatísticos do Seis Sigma
A letra grega sigma minúscula (σ), correspondente à letra s latina; é a
sigla estatística para o desvio padrão, que é uma medida estatística que
quantifica a variabilidade existente em uma variável do processo.
Seja X uma variável aleatória. Então:
σ =
[ ]
( )
;²][][
2
XEXEXVar =
onde,
[
]
(
)
xXPxXE
x
nn
==
, X é discreta, e
55
( )
dxxf
n
x
n
XE
=
, se X é contínua.
Obs.: Os valores de n mais importantes são 1 e 2, pois, para n = 1 temos
[
]
XE e
para n = 2 temos ²][XE .
Se σ for grande, então há muita variação no processo, se for pequeno
pouca variação, logo apresentando mais uniformidade. Conseqüentemente,
quanto menor for essa variação melhor será o processo. Mas, apenas observando
esse valor de σ não se pode afirmar o quanto esse processo esvariando, em
outras palavras, se a magnitude de variação é aceitável ou inaceitável. Então,
para facilitar a interpretação, esse valor σ é comparado com alguma referência.
A comparação do sigma com os limites de especificação do processo em questão
origina a Escala Sigma. Esta é utilizada para medir o nível de qualidade
associado a um processo, aonde o Seis Sigma é o valor de excelência, com
99,9999998% de resultados perfeitos, isto é, dois defeitos por bilhão de
resultados gerados pelo processo (Werkema, 2004). Abaixo, na Figura 12, está a
relação em partes por milhão (ppm) das escalas três - sigma e seis - sigma.
FIGURA 12 Relação das Escalas 3σ e 6 σ
Fonte: Werkema (2004)
56
A próxima figura (Figura 13) apresenta a porcentagem de defeitos em
cada nível σ.
FIGURA 13 Relação das porcentagens de acertos para cada nível Sigma
O valor de Seis Sigma de 0,002 ppm é de uma distribuição estatística
normal e assume que cada execução do processo produtivo produzirá uma exata
distribuição normal de partes centradas com consideração aos limites de
especificação. Na realidade, entretanto, os deslocamentos do processo sempre
resultam de variações na própria execução do processo. De acordo com Harry
(1989), o deslocamento máximo do processo, como indicado em pesquisa, é o
sigma 1,5, conforme mostra a Figura 14. Considerando este deslocamento do
sigma-1,5 no processo de produção, tem-se o valor de 3,4 ppm. Tal
deslocamento é ilustrado nas Figuras 15, 16 e 17. Dados limites fixos de
especificação, a distribuição do processo de produção pode deslocar-se à
57
esquerda ou à direita. Quando o deslocamento é o sigma-1,5, a área fora do
limite da especificação em uma extremidade é 3,4 ppm, e na outra é quase zero.
A definição do Seis Sigma, que considera o deslocamento do sigma-1,5
proposto e usado pela Motorola, transformou-se no padrão da indústria nos
termos da qualidade nivelada do Seis Sigma (versus o da distribuição normal
centrada Seis Sigma de 0,002 ppm). Além disso, quando a distribuição da
produção desloca o sigma-1,5 os pontos da interseção da curva normal e os
limites da especificação se transformam em 4,5-Sigma em uma extremidade, e
7,5-Sigma na outra (Harry, 1989). Então, considerando esta proposta em que a
área fora do 7,5 Sigma é zero, se pode dizer que o Seis Sigma da Motorola é
igual ao 4,5-Sigma de uma distribuição normal centrada.
FIGURA 14 Deslocamento da Média do Valor nominal em 1,5σ
Fonte: Harry (1989)
58
Cada Escala Sigma representa uma área debaixo da curva da distribuição
normal, sendo capaz de obter as áreas associadas a cada intervalo como uma
proporção da área total sob a curva.
Logo, para se calcular as quantidades de partes por milhão relacionadas
à Escala Sigma, tem-se que considerar os dois casos:
Observação: nos cálculos abaixo a letra Z representa a distribuição
normal padronizada, ou seja, um caso particular da distribuição normal, de
média 0 (zero) e desvio padrão igual a 1 (um).
Se X N(µ ,σ
2
), então a variável aleatória definida por
Z =
X
µ
σ
terá uma distribuição N(0,1). Esta transformação é ilustrada pela Figura
15.
µ
µ+σ µ+3σ
µ+2σ
µ-σ
µ-2σ
µ-3σ
X
X - µ
σ
0
1
2 3-1-2-3
Z
FIGURA 15 Transformação de uma N(µ ,σ
2
) para uma N(0,1)
59
A área à esquerda de um valor especificado da N(0,1) encontra-se
tabelada. Utilizando-se a transformação acima, podemos obter as probabilidades
para qualquer N(µ ,σ
2
).
A média está centrada em um valor nominal:
Para escala 6σ temos que:
(
)
6
6
6
=
=
σ
µ
σ
µ
σµ
Z e
(
)
6
6
6
+=
+
=
+
σ
µ
σ
µ
σµ
Z
Agora a probabilidade de cair fora dos limites seis sigma é:
P (fora dos limites 6σ) = P (Z < -6) + P (Z > 6) = 2 * 0,0000000010 =
0,0000000020;
Então, em um milhão de unidades produzidas 0,0000002% estará fora
dos limites 6σ. Logo, em partes por milhão, tem-se 0,002 ppm.
A Figura 16, a seguir, exemplifica melhor este cálculo:
FIGURA 16 Cálculo de defeitos para Seis Sigma Centrado
60
A média está deslocada em 1,5 σ do valor nominal para Direita:
Também para escala 6σ temos que:
(
)
5,7
5,7
5,7
=
=
σ
µ
σ
µ
σµ
Z e
(
)
5,4
5,4
5,4
+=
+
=
+
σ
µ
σ
µ
σµ
Z
As probabilidades de cair fora são:
P(Fora dos limites 6σ) = P(Z < - 7,5) + P(Z > 4,5) = 0 + 0,0000033977 =
0,0000033977
Logo, em ppm temos que a quantidade de unidades produzidas fora da
especificação é de ppm 3,4 ppm, como representado pela Figura 17 a seguir:
FIGURA 17 Cálculo de defeitos para Seis Sigma Deslocado para Direita
A média está deslocada em 1,5 σ do valor nominal para Esquerda:
Também para escala 6σ temos que:
(
)
5,4
5,4
5,4
=
=
σ
µ
σ
µ
σµ
Z e
(
)
5,7
5,7
5,7
+=
+
=
+
σ
µ
σ
µ
σµ
Z
As probabilidades de cair fora são:
P(Fora dos limites 6σ) = P(Z < - 4,5) + P(Z > 7,5) = 0,0000033977 + 0
aa = 0,0000033977
61
Logo, em ppm temos que a quantidade de unidades produzidas fora da
especificação é de 3,4 ppm, como mostrado na Figura 18:
FIGURA 18 Cálculo de defeitos para Seis Sigma Deslocado para Esquerda
A partir daí pode-se construir uma tabela de referência para se comparar
as Escalas Sigma, conforme apresentada na Tabela 11.
TABELA 11 Quantidades de defeitos em
ppm
para diferentes Escalas Sigma
com média centrada e deslocada em
1.5
σ
Sem desvio
Com desvio
Sem desvio
Com desvio
±1σ
68,27
30,23
317300
697700
±2σ
95,45
69,13
45500
308700
±3σ
99,73
93,32
2700
66810
±4σ
99,9937
99,379
63
6210
±5σ
99,999943
99,9767
0,57
233
±6σ
99,9999998
99,99966
0,002
3,4
Porcentagem dentro das Especificação
Limites de Especificação
ppm de Defeitos
Os cálculos para estes desvios podem ser observados com detalhes no
anexo D.
62
A seguir, serão explicados, nas duas próximas seções deste tópico,
alguns conceitos sobre o CEP Controle Estatístico de Processo (gráficos de
controle) e sobre delineamentos experimentais, uma vez que estes são duas das
principais ferramentas estatísticas utilizadas dentro da abordagem do Seis
Sigma.
Na próxima seção, sobre o Modelo DMAIC, serão abordadas as
principais atividades de cada fase deste modelo, bem como um exemplo de sua
utilização dentro da realidade de um ambiente de desenvolvimento de software.
2.3.2.2 O Modelo DMAIC
Este método é o coração do Seis Sigma, no qual necessidade de se
construir equipes formadas pelos patrocinadores, mencionados anteriormente,
que irão executar os projetos com base neste método. Ele é constituído de cinco
etapas, são elas:
1. D - Definir;
2. M - Medir;
3. A - Analisar;
4. I - Melhorar, em inglês improve;
5. C - Controlar.
Dentro destas etapas encontram-se as ferramentas do controle estatístico
de processo (CEP) e outras ferramentas estatísticas. A seguir, tem-se a Figura 19
relacionando as fases do DMAIC com algumas das ferramentas estatísticas:
63
FIGURA 19 Mapeamento entre Ferramentas estatísticas X Fases do DMAIC
Para mais detalhes sobre as fases do modelo DMAIC, deve-se consultar
Werkema (2004). A seguir é apresentado um exemplo da utilização do DMAIC
dentro do contexto de desenvolvimento de software.
Um Exemplo da Utilização do DMAIC
Para entender melhor a utilização do modelo DMAIC dentro do contexto
de desenvolvimento de software, esta seção apresenta um exemplo que segue
algumas atividades importantes, a serem consideradas dentro de cada uma das
fases do DMAIC.
Em um primeiro momento, os principais problemas dentro do contexto
produtivo da empresa devem ser identificados. Porém, não do ponto de vista de
seus trabalhadores, mas do ponto de vista dos clientes, pois nesse momento, a
opinião que vale é a destes últimos.
A identificação desses problemas pode se dar de várias formas, por
exemplo, por meio de questionários elaborados para que os clientes expressem
suas opiniões com relação ao serviço prestado ou o produto oferecido. A Figura
20, a seguir, representa esta necessidade de comunicação entre a empresa e o
cliente.
64
FIGURA 20 Exemplo de Utilização do DMAIC: Identificação dos Problemas
Após a identificação dos problemas junto aos clientes interessados, o
próximo passo é definir quais os problemas devem ser tratados primeiro, ou seja,
quais são os problemas prioritários. De acordo com a metodologia do Seis
Sigma, deve-se escolher o problema que está prejudicando mais, causando mais
prejuízos para a empresa, tornando os clientes insatisfeitos, aquele que lhe trará
mais benefícios se for resolvido.
Para isto, dentre as várias ferramentas estatísticas que podem ser
utilizadas, pode-se usar o gráfico de pareto, no qual é expresso, em termos de
porcentagem, o peso que cada problema tem dentro da empresa, influenciando
na insatisfação dos clientes. A Figura 20 expressa uma situação em que os
problemas foram identificados, e, utilizando o gráfico de pareto, priorizados.
65
FIGURA 21 Exemplo de Utilização do DMAIC: Definir
Uma vez sendo priorizados, os problemas passam a ser tratados. A
próxima fase é a fase de medição, na qual as variáveis relacionadas aos
problemas são identificadas. Neste exemplo o problema a ser atacado
inicialmente é o “Prazo”, pois é o que mais influencia na insatisfação dos
clientes.
Como se trata de um exemplo da utilização do DMAIC voltado para um
contexto de desenvolvimento de software seguindo o processo de medição
proposto nesta dissertação, temos que os dados coletados com relação às
variáveis identificadas serão armazenados na ferramenta PSM Insight, como
explicada anteriormente.
Neste caso, as variáveis relacionadas ao problema ‘Prazo’, identificadas
como importantes para serem medidas foram: Tempo das Atividades,
Experiência da Equipe e Linguagem de Programação. A Figura 22 apresenta
graficamente a sua identificação.
66
FIGURA 22 Exemplo de Utilização do DMAIC: Medir
Após a coleta dos dados referentes às variáveis identificadas, estes
passam a ser analisados. Esta análise se por meio de um controle estatístico
de processo CEP, na qual gráficos de controle são gerados e brainstorming
realizados. A partir de gráficos de controle para cada uma das variáveis é
possível identificar causas especiais que influenciam no processo.
Neste exemplo, a sexta observação expressa no gráfico de controle,
mostrado na Figura 23, expressa a identificação de uma causa especial.
Após a identificação de causas especiais, podem ser realizadas reuniões
de brainstorming com os envolvidos neste processo produtivo, com a finalidade
de se discutir sobre as possíveis causas para as observações fora dos limites
estabelecidos. Neste exemplo isto é representado pela sexta observação da
variável ‘Tempo das Atividades’.
67
FIGURA 23 Exemplo de Utilização do DMAIC: Analisar
A partir do momento em que as observações fora dos limites, superior
ou inferior, estabelecidos são encontradas, discutidas e identificadas suas causas,
o processo passa a se tornar estável, ou seja, com influência de apenas causas
aleatórias. Neste momento, as melhorias podem ser propostas, visando diminuir
a variabilidade do processo.
Essas melhorias se dão principalmente por meio de delineamentos
experimentais. Alguns experimentos são montados considerando as variáveis
importantes relacionadas ao problema em questão, bem como os fatores que
nelas influenciam.
A partir destes delineamentos experimentais, normalmente em fatoriais
– aonde todos os fatores cruzam (são combinados) com todos, e da identificação
de significatividade de influência dos fatores para com estas variáveis, algumas
propostas de melhoria ao processo são levantadas, e ele passa, então, por
algumas alterações.
Resumindo a idéia desta fase com o exemplo, tem-se: para o problema
‘Prazo’, considerando a variável ‘Tempo das Atividades’ e o fator de influência
68
na mesma Linguagem de Programação, montou-se um Delineamento
Experimental (DOE). Como resultado deste experimento, foi identificado um
tempo gasto acima do normal, e de significante diferença estatística, para
atividades realizadas na linguagem de programação Java, em comparação com
outras linguagens de programação.
Com base nestas informações, a proposta de melhoria identificada neste
caso foi um treinamento voltado à linguagem de programação Java, a fim de
diminuir esta variabilidade entre o “Tempo das Atividades”. A Figura 24 abaixo
exemplifica o que foi discutido nesta fase.
FIGURA 24 Exemplo de Utilização do DMAIC: Melhorar
Por último, mas não menos importante, tem-se a fase de Controle, pois
uma vez que o processo com relação a um problema - e mais especificamente a
uma determinada variável vinculada a este problema - foi estabilizado, deve-se
cuidar para que ele mantenha-se controlado, com observações dentro dos limites
de controle estabelecidos no gráfico de controle, assim como mostra a Figura 25.
69
FIGURA 25 Exemplo de Utilização do DMAIC: Controlar
Com este exemplo, tentou-se esclarecer um pouco como se a
utilização do DMAIC, a ser utilizado no Processo de Medição proposto nesta
dissertação, que será mais detalhado no item 4.1.3 Processo de Medição de
Software.
Todas as fases explicadas nesta seção, bem como as atividades aqui
detalhadas, devem ser consideradas e realizadas pela empresa para todos os
problemas identificados como importantes, assim como para suas respectivas
variáveis influenciadoras.
2.3.2.3 Considerações Finais sobre a Seção
Para que uma empresa desenvolvedora de software atinja o nível 4 e 5
do CMMI, esta deve realizar, respectivamente, gerência quantitativa e melhoria
contínua do processo. Neste contexto, considerando a importância da
metodologia Estatística do Seis Sigma no mundo e sua aplicabilidade dentro do
processo produtivo das empresas, escolheu-se esta metodologia para dar base ao
Processo de Medição de Software proposto nesta dissertação.
70
2.3.3 Controle Estatístico de Processo
Deming (1990) afirma que, para finalidades analíticas (tais como para
melhoria de um processo da organização), as análises estatísticas não têm
qualquer valor prático para se fazer a melhoria de um processo, a não ser que os
dados sejam produzidos por um sistema (um processo) que esteja em um estado
de controle estatístico. O primeiro passo no exame de dados estatísticos é,
portanto, segundo Deming, questionar o estado de controle estatístico que
produziu esses dados. Tais conceitos são também aplicáveis à melhoria de
processos de software, segundo reconhece Humphrey (1988), sendo que a
maneira mais fácil de examinar os dados é colocá-los numa carta de controle, na
ordem em que são produzidos, para se averiguar qual proveito pode ser tirado da
distribuição dos dados ao longo da carta.
2.3.3.1 A carta de controle
A carta (ou gráfico) de controle de processo, também conhecida como
carta de controle de Shewhart, é uma técnica usada para medição e análise do
comportamento de um processo. No âmbito da engenharia de software, ela pode
ser utilizada para medir e analisar o desempenho das atividades que produzem o
produto de software (Florac & Carleton, 1999), sendo essencial para o
gerenciamento quantitativo, predição, controle e melhoria dessas atividades com
vistas a alcançar, de forma mais efetiva, as metas de negócio da organização.
A carta de controle de processo é um gráfico que consiste numa linha
central (LC), um limite inferior de controle (LIC) e um limite superior de
controle (LSC), e valores do parâmetro de interesse (uma característica do
processo), grafados seqüencialmente ao longo do tempo, que representam o
estado atual de um processo.
A linha central representa um valor central ou médio das medidas da
característica do processo. Os limites de controle que são estimativas dos
71
limites do processo, baseadas nas medições do parâmetro em consideração -
indicam fronteiras para separar e identificar pontos excepcionais; estes limites de
controle se encontram à distância de 3-sigma (ou 3σ) da linha central (sigma, σ,
é o desvio padrão). Se todos os valores do parâmetro em exame estão dentro dos
limites de controle, sem qualquer padrão anormal, o processo apresenta somente
causas comuns de variação e é dito estar sob estado controlado estatisticamente,
sendo considerado um processo estável; caso contrário, o processo apresenta
também causas especiais de variação, e é dito estar fora de controle estatístico,
sendo considerado um processo instável, caso em que a análise de causas deve
ser feita e ações corretivas tomadas para se alcançar a estabilidade do processo.
A Figura 26 ilustra dois exemplos de cartas de controle.
`
FIGURA 26 Exemplos de cartas de controle
Fonte: Oliveira (2006)
72
A teoria estatística, que é a base teórica utilizada por Shewhart para o
cálculo dos limites de controle, baseia-se na idéia de que, sendo o processo
estável, então uma estatística qualquer calculada com base nos dados fornecidos
pelas amostras tem uma probabilidade próxima de um (de 100%) de estar no
intervalo de mais ou menos três desvios padrões, de maneira que, quando um
valor observado cai fora desse intervalo, assume-se não que um evento raro
ocorreu, mas sim que não estamos mais lidando com o mesmo processo (isto é, o
processo sofreu alteração), indicando que a hipótese de estabilidade do processo
não é válida, denunciando a presença de uma causa especial de variação
(Rotondaro, 2002).
3.3.3.2 Causas Comuns e Causas Especiais de Variação
A causa comum de variação é uma fonte de variação aleatória inerente
ao processo, que afeta todos os valores individuais de uma determinada
característica deste, sob medição. É também denominada causa aleatória de
variação. Este tipo de variação está diretamente relacionado ao erro aleatório da
medição, sendo resultante de diversas origens, que compõem um sistema
constante de causas aleatórias, sem que nenhuma tenha predominância sobre a
outra; por exemplo, medições precisas de uma observação, feitas por diferentes
indivíduos – que dizem respeito à reprodutividade do processo de medição - não
são exatamente iguais. Outro exemplo é a variabilidade nas medidas obtidas com
um instrumento de medição, quando este é usado várias vezes por um avaliador,
medindo uma mesma característica numa observação (repetitividade de um
processo de medição). Enquanto os valores individuais diferem entre si, quando
estes são agrupados, formam uma distribuição de probabilidade - que pode ser
caracterizada pela localização (centro da distribuição), dispersão (variabilidade
dos valores individuais) e forma (perfil da distribuição) fato que é levado em
consideração para a escolha do tipo de carta de controle mais adequado para a
73
análise dos dados. A variação, devido a causas comuns, só pode ser reduzida
pela mudança do próprio processo, reprojetando-o. A redução deste tipo de
variação - que é o alvo da melhoria contínua de processos - é almejada porque,
uma vez conseguida, resulta num processo com maior produtividade (Deming,
1990) e, portanto, mais efetivo, conforme mostrado no Quadro 9.
A causa especial de variação é um fator identificável oriundo de eventos
passageiros, que gera variações não aleatórias (padrões anormais dos dados) e
que afetam o processo de maneira imprevisível, de maneira que nenhuma
distribuição de probabilidade pode ser obtida. É também denominada causa
identificável de variação. Este tipo de variação está relacionado com o erro
sistemático da medição e com fatores anormais discerníveis que ocorrem
perturbando (isto é, alterando) o processo. Exemplos de causas especiais são:
mudanças de características de materiais e ferramentas usadas no processo, erros
operacionais, entre outros. A remoção completa de causas especiais de variação
deve ser feita para que se tenha um processo estável, condição essencial para a
implementação de melhoria neste processo, conforme mostrado na Tabela 12.
TABELA 12 Importância das Causas de Variação no Processo
Causa de Variação Importância no Processo
Identificável Sua remoção torna o processo estável
Aleatória Sua redução permite a melhoria de um processo
estável
Fonte: Oliveira (2006)
Importância da Estabilidade do Processo
O processo estável - aquele em que somente causas aleatórias de
variação estão presentes - é importante porque, entre outras coisas:
74
As distribuições de probabilidade dos dados de desempenho do processo
são consistentes no decorrer do tempo - o processo possui uma
identidade. Comparando as Figuras 27 e 28 pode-se perceber uma
diferença entre as distribuições de probabilidade;
A Capacidade do Processo, a qual descreve o seu desempenho (o que ele
pode alcançar) em termos de resultados estimados, se torna previsível
(resultados inesperados são extremamente raros);
Os custos envolvidos são previsíveis;
Sob tal sistema constante de causas aleatórias, a produtividade está no
máximo (e os custos, no mínimo), de maneira que melhoria somente é
possível pela mudança do próprio processo;
Tem-se um Processo Repetível, cujos dados podem ser usados como
baseline (banco de dados históricos) para melhoria de processo.
FIGURA 27 Processo Instável (ou Descontrolado Estatisticamente)
Fonte: Oliveira (2006)
75
FIGURA 28 Processo Estável (sob Controle Estatístico)
Fonte: Oliveira (2006)
A estabilidade de processo se mantém até que um evento ocorra, tal que
haja mudança no processo ou em suas entradas; tal mudança é desejável somente
se for resultante de melhoria (Florac & Carleton, 1999). Assim sendo, fatores
que têm influência no processo devem ser constantemente monitorados, a fim de
se sustentar a estabilidade e evitar o advento das forças de entropia tendência
que os processos possuem de se deteriorar, indo de um estado controlado a um
estado caótico, se forem deixados sozinhos, órfãos de gestão e
acompanhamento.
2.3.3.3 A capacidade do processo
Num processo estável, os limites de controle descrevem o que o
processo é “capaz” de fazer, em termos de resultados observados no próprio
processo funcionando (isto é, a realidade do processo, aquilo que ele realmente é
capaz de fazer). Esta afirmação de capacidade de processo é oriunda da teoria
76
original do CEP, e não deve ser confundida com a definição de capacidade
própria da área de software. A seguir tem-se uma correspondência entre estes
dois conceitos que utilizam a mesma palavra “capacidade” para defini-los.
Capacidade do ponto de vista da teoria original do CEP
A capacidade do processo (Tabela 13) é definida a partir de uma
comparação dos limites de especificação (ou de engenharia), que expressam as
especificações esperadas para aquele processo. Essas especificações que o
processo pode alcançar ou não, com a realidade do processo, são expressas pela
média e variabilidade. o limite superior de especificação (LSE), o inferior
(LIE) e o limite central (LCE).
TABELA 13 Limites Naturais do Processo versus Capacidade do Processo
Numa carta de controle de valores individuais:
LIMITES NATURAIS DO PROCESSO => CAPACIDADE DO PROCESSO
(Variação aleatória do Processo) (Resultados Esperados)
Fonte: Oliveira (2006)
A fim de verificar se a capacidade do processo atende às especificações
do cliente podem-se usar duas alternativas:
1ª) Representações gráficas nas cartas de controle e histogramas, os
limites naturais do processo são comparados com os limites de especificação;
2ª) Índices específicos para esse fim, denominados de Cp e Cpk. O
índice de capacidade de processo Cp é definido como a razão entre a tolerância
da especificação - diferença entre os limites superior (LSE) e inferior de
especificação (LIE) - e a dispersão total do processo, representada por amplitude
(R) ou desvio padrão (σ, substituído pela suas estimativas amostrais s e R). Isto é
ilustrado na Tabela 14, a seguir. Quanto maior o valor de Cp, maior a
77
capacidade do processo, sendo que um valor de Cp > 1 indica que o processo é
capaz de atender às especificações do cliente. As fórmulas dadas a seguir
baseiam-se em Oliveira (2006).
TABELA 14 Fórmula: Índice de Capacidade de Processo Cp
Nota: Os termos d2 e c4 são fatores estatísticos para correção de viés. (Anexo E)
A definição do índice Cp pressupõe que o processo está centrado no
valor nominal da especificação; se este não é o caso, a capacidade real do
processo é menor do que a indicada por Cp. Em tal situação, convém a utilização
do índice Cpk considerado um ajuste de Cp para o efeito de distribuição não
centrada. O índice Cpk avalia a distância do valor central do processo aos limites
da especificação, tomando aquela que é menor e, portanto, mais sujeita a
propiciar resultados fora de especificação. O cálculo do índice Cpk é mostrado
na Tabela 15, a seguir:
TABELA 15 Fórmula: Índice de Capacidade do Processo Cpk
78
Capacidade do Ponto de Vista do CMMI
Neste caso, capacidade de processo seria um intervalo estatístico de
previsão, que permite posicionar o cliente, ou o próprio gerente de projeto,
quanto aos resultados possíveis que ele pode esperar para aquele processo. Estes
intervalos seriam calculados, qualquer que sejam eles, fazendo-se uso da média
e do desvio padrão dos dados. Ainda mais, após seu cálculo, inevitavelmente, o
cliente, ou o gerente de projeto, compararão tais intervalos com suas
expectativas (suas “especificações”).
Logo, a capacidade de processo de software fará um trabalho semelhante
à capacidade de processo de CEP, permitindo-nos, então, dizer que, apesar de
serem conceitos diferentes, são afins. Não haverá nenhum risco na igualdade dos
nomes, se o usuário deles estiver esclarecido de seus significados e utilidades,
podendo mesmo se beneficiar do uso conjunto das duas “capacidades”.
2.3.4 Delineamentos Experimentais
A Estatística Experimental trata dos métodos apropriados para o
planejamento e para a análise dos experimentos.
A maior ênfase deve ser dada ao planejamento e às interpretações dos
resultados obtidos nas análises.
Segundo Stell e Torrie (1980), a análise de variância, introduzida por
Ronal A. Fisher está essencialmente voltada a um processo de estudo de soma de
quadrados e dos componentes associados a conhecidas fontes de variação,
podendo ser usada em todos os campos de pesquisa onde os dados são
mensurados quantitativamente.
Atualmente, como se observa, uma grande disponibilidade de
ferramentas computacionais voltadas para a análise de dados, bastando poucas
informações sobre o funcionamento do software para que o pesquisador execute
qualquer tipo de cálculo estatístico.
79
Este tópico inclui exemplos de delineamentos experimentais aplicados a
um contexto de desenvolvimento de software, visando facilitar o entendimento
sobre análises experimentais por parte dos mais familiarizados com processos de
software.
2.3.4.1 Conceitos Fundamentais
O estudo científico de um fenômeno consiste essencialmente na
observação de fatos e no estudo de teorias relacionadas a ele. Por meio da
formulação de hipóteses sobre ele e da verificação da veracidade destas
hipóteses, diretamente ou analisando suas conseqüências, obtém-se o
conhecimento científico. A Figura 29 resume o método científico.
FIGURA 29 O Método Científico
Fonte: Lima & Abreu (2001)
Para que as conclusões realizadas sejam confiáveis, é necessário que as
experiências sejam planejadas e conduzidas sob condições previamente
estabelecidas e as observações analisadas utilizando determinados critérios. A
80
seguir, serão conceituados os principais termos que são freqüentemente
empregados no planejamento e na análise de experimentos.
Experimento: é o processo que permite a coleta de observações sob
condições previamente determinadas.
Dados Experimentais: são as observações obtidas dos experimentos. Os
dados experimentais refletem a influência de diferentes variáveis, além do fator
em estudo. Estas variáveis são influenciadas pelo ambiente experimental e
podem ser controláveis ou não.
Fator: é a variável cujo efeito se deseja conhecer e avaliar no
experimento. Por exemplo, em um experimento em software, onde o objetivo é
avaliar o Esforço demandado para sua construção, o fator a ser estudado poderia
ser a “organização responsável pelo desenvolvimento”. Em outro ensaio, para
avaliar o tamanho do software, os fatores em estudo poderiam ser “linguagem de
programação” e “tipo de componente de software”.
Resposta ou Variável Resposta: é a variável a ser medida ou avaliada
no experimento, gerando os dados, isto é, os efeitos. No estudo do Esforço,
poderia ser medida a quantidade de horas para cada atividade executadas por
diferentes organizações responsáveis. Em um mesmo experimento pode-se ter,
simultaneamente, mais de uma variável resposta, como, por exemplo, no ensaio
sobre o Tamanho do Software: número de linhas de código, número de linhas de
código modificadas, etc.
Variáveis de Ambiente: é cada uma das condições em que será
realizado o experimento. No exemplo do Esforço poderiam ser citadas: as
diferenças de personalidade dos desenvolvedores de cada organização, os
diferentes computadores nos quais serão realizadas as atividades, as diferenças
entre os aparelhos de medição utilizados para contar o tempo de cada atividade
entre muitas outras. No exemplo do Tamanho do Software: a diferença de estilo
de programação de cada desenvolvedor, os técnicos que irão fazer a contagem
81
das linhas de código etc. Uma variável de ambiente não é um fator de estudo,
isto é, um experimento não é realizado para conhecer seus efeitos.
Algumas das variáveis de ambiente podem ser controladas pelo
experimentador, mas muitas não são controláveis e podem afetar os dados a
ponto de mascarar os efeitos dos fatores em estudo. A Figura 30 apresenta o
modelo para um experimento:
FIGURA 30 As variáveis em um experimento
Fonte: Lima & Abreu (2001)
Tratamento: o termo tratamento é utilizado para caracterizar os valores
(tipos ou níveis) que um fator pode assumir em um determinado experimento.
Como exemplo, em um ensaio, onde se procura estudar o efeito de um
catalisador em uma reação química, o fator é “Catalisador” e os tratamentos
podem ser:
Tratamento 1 – Ausência de Catalisador
Tratamento 2 – Presença de Catalisador
82
2.3.4.2 Estudo da Variabilidade dos Dados
Pode-se considerar que, de uma maneira simplista, o objetivo em um
experimento é saber se os tratamentos m médias iguais. Os tratamentos são
amostras e se estas amostras foram retiradas de uma mesma população, suas
médias serão estimativas de um mesmo parâmetro: a média populacional. Neste
caso, as médias dos tratamentos não deveriam diferir entre si. Se as médias são
diferentes entre si, então as amostras (tratamentos) não pertencem a uma mesma
população e a conclusão é que realmente os tratamentos têm efeitos diferentes
(por exemplo, uma variedade é mais produtiva que a outra).
Como existem outras fontes de variação afetando os resultados de um
experimento, além do efeito dos tratamentos, não é possível tomar uma decisão
com base apenas nas médias dos tratamentos.
Variabilidade
Todo conjunto de dados numéricos possui uma variabilidade entre seus
componentes. Por exemplo, seja o conjunto seguinte cujos valores representam
tempo em horas:
W = {2,0; 2,2; 2,3; 2,5; 3,0; 3,2; 2,8; 2,9; 2,4; 2,7}
Por meio de um cálculo simples pode-se ter uma idéia da variabilidade
deste conjunto: determina-se a soma dos quadrados dos desvios de cada dado em
relação à média do conjunto. A média deste conjunto é 2,6 Horas e a soma de
quadrados dos desvios:
SQD = (2,0 – 2,6)² + (2,2 – 2,6)² + ... + (2,7 – 2,6)² = 1,32 Horas²
Seja o conjunto W, agora dividido em dois outros, W
1
e W
2
, da seguinte
forma:
W
1
= {2,0; 2,2; 2,3; 2,5; 3,0} Média = 2,4 Horas
W
2
= {3,2; 2,8; 2,9; 2,4; 2,7} Média = 2,8 Horas
83
Pode-se calcular a variabilidade em cada um destes conjuntos por:
SQD em W
1
= (2,0 – 2,4)² + (2,2 – 2,4)² + ... + (3,0 – 2,4)² = 0,58 Hora
SQD em W
2
= (3,2 – 2,8)² + (2,8 – 2,8)² + ... + (2,7 – 2,8)² = 0,34 Hora
Algumas indagações simples podem ser feitas:
- Mas, o que significam estas médias de variabilidade?
- Porque os números do conjunto W
1
são mais variáveis do que aqueles
do conjunto W
2
?
- Porque a soma das SQD em W
1
e em W
2
não é igual a SQD do
conjunto todo?
Para responder estas perguntas é necessário conhecer a origem destes
números.
Causas de Variabilidade
Considere que o conjunto W representa o tempo, em Horas, de uma
atividade realizada em um processo de desenvolvimento de software:
Neste caso, é razoável supor que a variabilidade observada no conjunto
de dados W seja devida a:
Variabilidade na complexidade das atividades;
Variações na condução do experimento (variação quanto aos
desenvolvedores - funcionários realizadores - de cada atividade,
na marcação do tempo das atividades e outros);
Outras causas aleatórias (perda de dados referente ao
desenvolvimento dos softwares, vírus nos computadores
utilizados para o desenvolvimento, instabilidade na saúde dos
desenvolvedores das atividades etc).
Considere agora que o subconjunto W
1
contém o tempo das atividades
do desenvolvimento de um determinado software em uma linguagem de
programação X e W
2
o tempo das atividades para o mesmo software, todavia,
84
relacionadas às atividades desenvolvidas em uma linguagem de programação Y
qualquer. Assim, mais uma fonte de variação deve ser considerada como
presente no conjunto W: as duas diferentes linguagens de programação. Estas
diferentes linguagens são os tratamentos que propositadamente foram incluídos
no experimento, pois é do interesse do pesquisador compará-los. Diz-se então
que o conjunto W representa os resultados de um experimento com dois
tratamentos e com 5 repetições para cada tratamento.
Análise da Variabilidade
O problema em questão resume-se em testar a hipótese de que os
tratamentos têm o mesmo efeito. Para os conjuntos W
1
e W
2
, as médias foram
2,4 e 2,8 Horas respectivamente. Como existem outras fontes de variabilidade
afetando estas médias, além do efeito das linguagens, não é possível basear
apenas nestes dois valores para concluir que a linguagem 2 é realmente a mais
produtiva.
A técnica estatística para resolver este problema foi introduzida por R.
A. Fisher, na década de 20, e é chamada de Análise de Variância, como
citado. O primeiro passo consiste na formalização da hipótese a ser testada. A
hipótese de que não existem diferenças entre os efeitos dos tratamentos de um
experimento pode ser formalizada do seguinte modo:
H
0
: T
1
= T
2
= ... = T
I
Onde H
0
significa “hipótese de nulidade” e Ti representa o efeito do
tratamento i. Então se H
0
for verdadeira, concluímos que não existem diferenças
entre os efeitos dos tratamentos. A hipótese alternativa é que existe pelo menos
uma diferença entre efeitos de tratamentos.
Em seguida deve ser verificado quanto da variabilidade observada entre
as médias dos tratamentos é devida exclusivamente aos efeitos dos tratamentos.
85
Os cálculos necessários para esta análise são resumidos e apresentados no
quadro da Análise de Variância.
Quadro da Análise de Variância
A variabilidade presente em um ensaio é analisada com o auxílio de um
quadro padrão denominado Quadro da Análise de Variância (Tabela 16), cujo
modelo é apresentado a seguir e no qual as colunas referem-se a:
Fontes de Variação: nesta coluna são descritas as causas de variabilidade
dos dados do experimento. O interesse do pesquisador está em conhecer o efeito
dos Tratamentos. As outras fontes de variabilidade podem ser agrupadas em uma
só designada Erro Experimental ou Resíduo (correspondente à variabilidade
existente Dentro dos Tratamentos).
Graus de Liberdade: a cada fonte de variação está associado um número
de graus de liberdade.
SQ: são as somas dos quadrados de desvios ou simplesmente SOMAS
DE QUADRADOS calculadas para cada fonte de variação.
QM: os QUADRADOS MÉDIOS são dados pelas razões entre as Somas
de Quadrados e os seus respectivos graus de liberdade.
F
c
: é o valor obtido para a estatística do teste de F.
TABELA 16 Quadro de Análise de Variância
Fontes de
Variação
GL SQ QM F
Entre
Tratamentos
GLEntre SQEntre SQEntre/
GLEntre
QMEntre/
QMDentro
Dentro de
Tratamentos
GLDentro SQDentro SQDentro/
GLDentro
Total
GLTotal SQTotal
86
Observa-se que a Variabilidade Total existente nos dados do
experimento será dividida em:
Variabilidade Dentro de Tratamentos: provocada por várias fontes de
variabilidade, exceto tratamentos; e
Variabilidade Entre Tratamentos: provocada pelos tratamentos e por
outras fontes de variabilidade.
Esta análise é usualmente designada Análise de Variância e permite
verificar quanto da variação observada entre as médias dos tratamentos é devida
exclusivamente aos efeitos dos tratamentos. A Variação Dentro de Tratamentos
é denominada Erro Experimental, pois é proveniente das diferenças entre
parcelas que receberam o mesmo tratamento. Com a estimativa do erro
experimental, a hipótese de igualdade dos efeitos dos tratamentos pode ser
testada nesta análise. Pode ser demonstrado que os Quadrados Médios de
Tratamentos e do Erro Experimental são estimativas de variâncias e o teste F de
Snedecor é apropriado para a razão de variâncias, indicando se são estimativas
do mesmo parâmetro ou não.
Procedimento Geral
Seja um experimento com I Tratamentos, cada tratamento com J
repetições. X é a variável resposta e os dados observados serão representados
por X
ij
, onde i refere-se ao tratamento e j refere-se à repetição. O número total de
parcelas é N = I x J.
Após a coleta das observações, os dados são organizados em uma tabela,
conforme a Tabela 17, a seguir:
87
TABELA 17 Quadro das Observações
Repetições
Tratamentos
1 2 ... J
Totais de Tratamentos
1 X
11
X
12
... X
1J
T
1
2 X
21
X
22
... X
2J
T
2
... ... ... ... ... ...
I X
I1
X
I2
... X
IJ
T
I
Fontes de Variação: a variação observada entre todos os dados, também
chamada de Variação Total, é dividida em Variação Entre Tratamentos
(Tratamentos) e Variação Dentro de Tratamentos (Resíduo ou ERRO
EXPERIMENTAL).
Graus de Liberdade (GL): para “Tratamentos” é a quantidade de
tratamentos menos um (I-1). Para “Total”, é o número total de observações
menos um (N-1). Para o “Erro Experimental” é a soma dos graus de liberdade
dentro de cada tratamento, que corresponde ao número de repetições dos
tratamentos menos um, para cada um deles [I*(J-I)]. O Grau de Liberdade para o
Erro Experimental também pode ser obtido pela diferença entre o GLTotal e o
GLTratamentos. Teoricamente, graus de liberdade é um conceito ligado ao
número de dados disponíveis (livres) para os cálculos estatísticos. Um exemplo
simples seria o número de graus de liberdade existente numa amostra de n dados
para o cálculo da estimativa da variância: uma vez que tenhamos o
conhecimento da média, bastam n-1 dados para calcularmos a estimativa da
variância, pois o n-ésimo dado pode ser obtido fazendo-se a diferença entre a
média vezes n e a soma dos n-1 dados. Em outras palavras, a média substitui um
dado, tornando necessários apenas n-1 dados para cálculos seguintes. Em outros
contextos o número de graus de liberdade é calculado de outro modo, mas o
88
sentido é o mesmo: é o número de dados ainda necessários para completar a
informação prestada pelos cálculos estatísticos que já foram feitos.
Soma de Quadrados (SQ): as definições das somas de quadrados são:
Soma de Quadrados Total – é a soma dos quadrados das diferenças entre
cada observação e a média geral do experimento.
SQTOTAL = ( XXi
ij
j
Desenvolvendo o 2
0
termo chega-se a:
SQTOTAL =
ij
jXi ²
N
XX
ij
ij
(
Soma de Quadrados Entre Tratamentos corresponde à soma dos
quadrados das diferenças entre as médias de cada tratamento e a média
geral lembrando que cada média de tratamento foi obtida de J repetições.
SQTRATAMENTOS =
(
)
i
i XXJ ²
A fórmula prática é:
SQTRATAMENTOS =
N
Xi
T
J
ij
j
i
i
²)(
²
1
Onde T
i
é o total de cada tratamento.
Soma de Quadrados do Erro Experimental – é o somatório das somas de
quadrados dos desvios entre as repetições de cada tratamento e sua
média, considerados todos os I tratamentos.
SQERRO =
(
)
i
iij
j
xX ².
Na prática, calcula-se: SQErro = SQTotal – SQTratamentos
Quadrados Médios (QM): cada Quadrado Médio é obtido dividindo-se a
Soma de Quadrados pelo respectivo número de Graus de Liberdade.
89
Valor de F Calculado (F
c
): corresponde à razão entre o
QMEntreTratamentos e o QMErro.
SQTotal = 2,0² + 2,2² + ... + 2,7² - 26 ²/ 10 = 1,32
SQEntreLinguagemDeProgramacao = 1/5 (12² + 14²) – 26² / 10 = 0,40
SQErro = 1,32 – 0,40 = 0,92
TABELA 18 Quadro de Análise de Variância – Exemplo
Fontes de
Variação
GL SQ QM F
Entre
Tratamentos
1 0,40 0,40 3,48
Dentro de
Tratamentos
8 0,92 0,12
Total
9 1,32
Teste de F
Hocking (1985) cita que a distribuição de probabilidades do estimador
proporciona informações para se fazer inferências sobre o parâmetro
desconhecido θ. Isso pode ser usado pelo pesquisador de duas diferentes
maneiras para interpretar seus resultados: construção de regiões ou intervalos de
confiança para funções lineares de θ ou, alternativamente, construir testes de
hipóteses a respeito de funções de θ.
De acordo com Searle (1987), uma hipótese linear geral associada ao
conjunto de parâmetros θ pode ser definida sob a forma H : B' θ = c , em que B'
é uma matriz conhecida (reflete as funções lineares de θ que se deseja testar) e c
é um vetor conhecido, geralmente nulo, que reflete a diferença presente no
contraste criado em B' .
90
Quando B' tem posto linha completo e os elementos da função
paramétrica B'θ são estimáveis, a hipótese H
0
: B' θ = c é dita hipótese testável.
Isto posto, pode-se calcular, por exemplo, uma estatística F conveniente.
Para tanto, pode-se considerar a seguinte forma quadrática (Searle,
1971)
Q = (B' θ
0
-c)' [B' (X ' X)
G
B]
-1
(B' θ
0
-c),
tal que
em que
χ
2
: distribuição de qui-quadrado não central, com r[B] graus de liberdade
e parâmetro de não centralidade
.
Sabe-se que Q e SQRes (soma de quadrados do resíduo) são
independentemente distribuídas (Iemma, 1989). Então (Searle, 1971),
em que
F(H
0
): estatística F para a hipótese H
0
;
n : número de observações;
σ
2
: estimativa da variância populacional;
F’: distribuição de F não central, com r[B] e n-r[X] graus de liberdade e
parâmetro de não centralidade
91
Assim, a estatística F para testar uma hipótese linear geral H
0
: B'θ = c, é
(Iemma, 1989):
Geralmente, principalmente em análises de variância, tem-se que c é
nulo. Então, com a hipótese na forma H
0
: B'θ = 0, a estatística F adequada para
testá-la é:
Ainda neste contexto, a esperança matemática do Quadrado dio do
Erro Experimental é σ² e para o Quadrado Médio de Tratamentos é σ² + k t
i
²,
onde k é uma constante e t
i
representa o efeito do tratamento i. Isto significa que
os Quadrados Médios são estimativas de variâncias.
Caso H
0
seja verdadeira, então o QMTratamentos e o QMErro serão
estimativas do mesmo parâmetro, , conforme mostra a Tabela 19 a seguir, e,
portanto, a razão entre eles deverá ser próxima de 1.
TABELA 19 Quadro de Análise de Variância – Estimativas de Variância
Fontes de
Variação
GL QM E(QM)
Entre
Tratamentos
I – 1 V1 σ² + (J/I-1) t
i
²,
Dentro de
Tratamentos
I (J-1) V2 σ²
Total
I*J – 1
Fonte: Stell and Torrie (1980)
92
Caso H
0
seja falsa, as reais diferenças entre os tratamentos aumentarão o
valor de SQTratamentos, mas não afetarão a SQErro. Logo, a razão entre
QMTratamentos e QMErro será maior que 1.
A distribuição de probabilidade para a razão entre duas variâncias é
conhecida como distribuição de F. A estatística F
c
= QMTratamentos / QMErro
tem distribuição de F com I-1 e I*(J-1) Graus de Liberdade.
Feitas estas considerações, o teste de F pode ser realizado. O primeiro
passo é escolher o nível de significância (α). Geralmente admite-se α = 5% ou
menor. Esta é a probabilidade do Erro Tipo I, isto é, a probabilidade de rejeitar-
se H
0
quando ela for verdadeira.
Escolhido o nível de significância, a regra de decisão para o teste de F é:
Se o valor de F
c
for maior que o valor de F tabelado, ao nível de α% de
probabilidade, rejeita-se H
0
. O teste é considerado significativo ao nível
de α% de probabilidade e admite-se que, ao nível de α% de
probabilidade, existe pelo menos uma diferença entre os efeitos dos
tratamentos;
Caso o valor de F
c
seja menor ou igual ao valor de F ao nível de α%, não
existem evidências para rejeitar-se H
0
. O teste é não-significativo ao
nível de α% e, ao nível de α% de probabilidade, não existem diferenças
entre os efeitos dos tratamentos.
93
FIGURA 31 Regra de decisão para o teste de F ao nível de α% de probabilidade
Fonte: Lima e Abreu (2004)
Para os dados da Tabela 8, segundo a regra de decisão, não existem
evidências para rejeitar H
0
. Portanto, conclui-se que não existe diferença
significativa entre os tempos médios das atividades de desenvolvimento de
software nas duas linguagens de programação. A diferença observada entre as
duas médias (2,4 para 2,8) é considerada como sendo igual a zero.
Para o conjunto W, o teste de F foi não significativo ao nível de 5% de
probabilidade. A Figura 32 apresenta o resultado do teste.
94
FIGURA 32 Teste de F ao nível de 5% de probabilidade para o conjunto W
Fonte: Lima & Abreu (2004)
Valor P (F > F
c
)
Em Estatística, e especificamente no campo dos testes de hipóteses, o
valor p, ou também p-valor, é a probabilidade de que a nossa amostra poderia ter
sido tirada de uma população igual a que está sendo testada, isto é, assumindo
que a hipótese nula seja verdadeira. Um valor de 0,05, por exemplo, indica que
existe uma probabilidade de 5% de que a amostra que estamos a testar possa ser
tirada de uma população que atende a hipótese nula considerada.
Interpretando o resultado temos:
Valor p abaixo de uma valor considerado - Um indicador de que a
hipótese nula é falsa;
Valor p maior do que este valor considerado- Não evidência
suficiente para rejeitar a hipótese nula;
Normalmente considera-se um valor p de 0,05 como o patamar para
avaliar a hipótese nula. Se o valor p for inferior a 0,05 podemos rejeitar
a hipótese nula. Em caso contrário, não temos evidência que nos permita
95
rejeitar a hipótese nula (o que não significa automaticamente que seja
verdadeira). Em situações de maior exigência é usado um valor p
inferior a 0,05.
2.4 Correspondência CMMI – Seis Sigma
A seguir apresenta-se a correspondência entre o Seis Sigma e o CMMI
para as áreas de processo (PA’s) relacionadas a medições (níveis 2 e 4 de
maturidade), visando a implementação de medições em organizações. Essa
correspondência foi estruturada relacionando práticas específicas das PA’s
citadas com correspondentes passos no Seis Sigma, podendo ser aplicada às duas
representações do CMMI – contínua e por estágio.
Correspondência
Diretamente relacionadas às medições de qualidade de software têm-se
três PA’s do CMMI: Medição e Análise, Desempenho de Processo
Organizacional e Gerência Quantitativa de Projeto. Essas PA’s apresentam
metas a serem obtidas alinhadas a práticas que devem ser executadas para
alcançar essas metas. Entretanto, o CMMI não apresenta diretrizes de como
implementá-las. o Seis Sigma apresenta um conjunto de ferramentas
(técnicas) que operacionalizam suas fases (Stamatis, 2004).
Com o objetivo de apoiar a implementação de processos organizacionais
de medição, foram relacionadas às práticas específicas das três PA’s do CMMI,
ligadas à medição, com os passos correspondentes no Seis Sigma (Donegan et
al., 2005).
A correspondência será feita por PA e explanada utilizando tabelas,
agrupando à esquerda as práticas específicas das metas de cada PA e à direita de
cada uma delas será mostrada a correspondência da fase e seus passos
96
correspondentes do Seis Sigma. Para mais detalhes sobre a correspondência
apresentada pela tabela deve-se consultar Donegan et al. (2005).
Medição e Análise
A Medição e Análise apresenta duas metas específicas:
Alinhar Atividades de Medição e Análise: planejamento dos objetivos e
das atividades de medição das necessidades de informação;
Prover Resultados das Medições: fornecimento de resultados de
medição para as necessidades de informação e os objetivos obtidos.
A Tabela 20 mostra a correspondência da PA de Medição e Análise com
o Seis Sigma.
TABELA 20 Correspondência do Seis Sigma na PA de Medição e Análise
Fonte: Donegan et al. (2005)
(-) Não há um passo no Seis Sigma que seja correspondente a esta prática.
O Seis Sigma deixa este passo subentendido em outras atividades
97
Desempenho de Processo Organizacional
A área de processo Desempenho de Processo Organizacional tem apenas
uma meta específica:
Estabelecer Baselines e Modelos de Desempenho: apresenta o objetivo
de estabelecer e manter baselines e modelos que caracterizem o
desempenho esperado de um processo, de acordo com um conjunto de
processos padrão da organização. A seguir são apresentadas suas
práticas específicas.
A Tabela 21 exibe a correspondência do Seis Sigma com a PA de
Desempenho de Processo Organizacional.
TABELA 21 Correspondência do Seis Sigma na PA de Desempenho de
Processo Organizacional
Fonte: Donegan et al. (2005)
(*) O Próprio Seis Sigma
98
Gerência Quantitativa de Projeto
A Gerência Quantitativa de Projeto é uma área de processo que apresenta
duas metas específicas:
Gerenciar Quantitativamente o Projeto: o projeto é quantitativamente
gerenciado, usando objetivos de desempenho de qualidade e processo;
Gerenciar Estatisticamente o Desempenho de Subprocesso: o
desempenho de subprocessos selecionados do processo definido do
projeto é gerenciado estatisticamente.
A Tabela 22 apresenta a correspondência da PA Gerência Quantitativa
de Projeto com o Seis Sigma.
Esta prática é responsável por estabelecer e manter os objetivos de
desempenho de qualidade e do processo. No passo ‘Estabelecer Termo de
Abertura do Projeto’ da fase de Definição do Seis Sigma, os objetivos de um
processo/projeto são determinados.
99
TABELA 22 Correspondência do Seis Sigma na PA de Gerência Quantitativa
de Projeto
Fonte: Donegan et al. (2005)
(-) Não há um passo no Seis Sigma que seja correspondente a esta prática.
O Seis Sigma deixa este passo subentendido em outras atividades
Outras PA’s do nível 5 também estão ligadas a medição, todavia, não são
abordadas neste mapeamento. O nível 5 tem como atividade principal a ser
realizada as análises experimentais visando otimização do processo. Isto será
explorado na seção 4.1.2, Correspondência CMMI – Seis Sigma - PSM.
100
3 METODOLOGIA
A metodologia utilizada foi uma forma simplificada de pesquisa-ação.
Incluindo pesquisas bibliográficas relacionadas a Processo de Software,
Processo de Medição de Software e Controle Estatístico de Processo.
Por meio dos conhecimentos adquiridos, definiu-se um Processo de
Medição de Software, aplicando-o a um projeto denominado Via Digital
detalhado no tópico 4, com a finalidade de testar sua aplicabilidade.
3.1 Pesquisa-Ação
Pesquisa-ação é um termo aplicado à pesquisa corrente com o duplo e
explícito propósito de auxiliar a reflexão, formulação ou implementação da ação
e de desenvolver, enriquecer ou testar quadros referenciais teóricos ou modelos
relevantes ao fenômeno em estudo. Caracteriza-se por uma relação ativa e
explícita entre os pesquisadores e os responsáveis pela ação numa área
específica. Pesquisa-ação é a fusão entre pesquisa e assessoria (Oliveira, 1998).
O método da Pesquisa-ação tem por objetivo inicialmente o atendimento
a duas necessidades:
A construção ou testagem de um referencial teórico voltado à
compreensão e entendimento de um aspecto da vida humana;
A solução de um problema prático por meio de uma ação implementada
simultaneamente à contemplação teórica.
Corroborando tal afirmação, Oliveira (1998) observa que a manipulação
teórica pela Pesquisa-ação visa obter informações que seriam de difícil acesso
por meio de outros procedimentos. Já o objetivo prático visa contribuir para um
melhor equacionamento do problema considerado, com levantamento de
soluções e proposta de ações correspondentes às soluções que os atores podem
implementar nas suas atividades transformadoras sobre a realidade.
101
Neste caso em específico, o problema prático foi a utilização do processo
de medição no projeto Via Digital, o que ocorreu simultaneamente às
contemplações teóricas necessárias para formulação deste processo.
3.2 Cronologia
A cronologia da metodologia de desenvolvimento do processo de
medição proposto, exposto mais detalhadamente no tópico a seguir, começou
pela escolha do modelo CMMI como base para Processo de Desenvolvimento de
Software, devido aos fatores mencionados anteriormente, concernentes à
importância do modelo dentro do contexto mundial de produção de software. A
observação dos níveis 4 e 5 do CMMI levantaram a necessidade de um controle
estatístico do Processo de Desenvolvimento de Software.
Para tal, era preciso uma abordagem estatística conceituada e utilizada
no mercado com sucesso e aceitação. Diante disso e das considerações
anteriores, também já mencionadas, escolheu-se a metodologia Estatística do
Seis Sigma.
O foco principal da dissertação surge como a definição de um Processo
de Medição de Software. Para que este processo fosse definido, conceitos do
CMMI e do Seis Sigma deveriam ser vinculados e relacionados entre si. A
maneira encontrada de relacionar o CMMI ao Seis Sigma foi a correspondência
entre CMMI - Seis Sigma apresentada no tópico anterior.
O Processo de Medição de Software definido precisava de um agente
organizador das medições a serem realizadas, bem como uma ferramenta para
armazenagem dos dados coletados. O modelo PSM e a ferramenta PSM Insight
foram os escolhidos para tal função, principalmente por este modelo ser baseado
nos conceitos do CMMI e desenvolvido pelo mesmo grupo idealizador do
modelo CMMI.
102
Na finalidade de utilizar o PSM Insight de forma a maximizar a
realização de análises estatísticas dos dados coletados, tornou-se necessário uma
correspondência entre Seis Sigma - PSM, relacionando termos utilizados na
ferramenta PSM Insight com conceitos estatísticos.
Com o Processo de Medição de Software definido, e disponibilizado em
hipertexto, com a finalidade de facilitar sua utilização por parte das empresas,
verificou-se a necessidade de um artefato que unisse as informações relevantes
para tomada de decisão, resultando na melhoria da qualidade do Processo de
Desenvolvimento de Software utilizado. Elaborou-se então a Planilha Geral
artefato detalhado no tópico 4.1.3 Processo de Medição de Software.
Uma vez tendo sido elaborado, o processo de medição de software foi
testado por meio de uma simulação de dados. Esta simulação considerou o
projeto Via Digital detalhada posteriormente no tópico 4.2 Resultado de
Análise de Dados - como base para a estruturação das medições realizadas.
Esta foi a seqüência das principais atividades realizadas na dissertação.
Todas as atividades foram frutos das necessidades encontradas para obtenção do
objetivo principal: a definição de um Processo de Medição de Software.
103
4 RESULTADOS E DISCUSSÃO
Este tópico apresenta detalhadamente todas as atividades realizadas para
a elaboração do Processo de Medição de Software proposto, bem como o
próprio processo de medição e seus artefatos ou documentos gerados pelo
processo. As atividades detalhadas estão divididas em: Resultados
Metodológicos e Resultados de Simulação. O primeiro fala sobre os resultados
que contribuíram para a elaboração do processo de medição proposto. Já o
segundo está voltado à utilização do processo, considerando dados simulados
para a análise de aplicabilidade da metodologia desenvolvida.
4.1 Resultados Metodológicos
Neste tópico são abordadas as principais atividades necessárias para o
desenvolvimento do Processo de Medição de Software.
4.1.1 Processo de Software e Processo de Medição
Assim como visto anteriormente, o processo de desenvolvimento de
software corresponde a um conjunto de atividades realizadas com a finalidade de
produção de um sistema de software dentro de uma empresa.
Este processo de desenvolvimento de software pode ser influenciado, e
auxiliado, diretamente por um processo de medição de software.
A Figura 33 apresenta um processo de desenvolvimento de software
baseado no modelo CMMI e que está sendo influenciado diretamente por um
processo de medição de software proposto, que, é de baseado no modelo CMMI,
na ISO 15939, no Modelo PSM (e a Ferramenta PSM Insight) e na metodologia
Estatística do Seis Sigma.
104
FIGURA 33 Processo de Software e Processo de Medição de Software
As setas mostradas pela Figura 33, que vinculam o processo de software
com o processo de medição de desenvolvimento de software, representam que:
Do Processo de Software para o Processo de Medição de
Desenvolvimento de Software: a partir das atividades do Processo de
Software são coletados dados de variáveis vinculadas a estas atividades.
Estes dados serão estudados e analisados pelas atividades identificadas
no Processo de Medição de Desenvolvimento de Software;
Do Processo de Medição de Desenvolvimento de Software para o
Processo de Software: a partir dos dados coletados, citados
anteriormente, o processo de Medição de Desenvolvimento de Software
influencia no Processo de Software, identificando possíveis melhorias a
este último. Estas melhorias são identificadas estatisticamente,
principalmente por meio de Delineamentos Experimentais.
105
Uma analogia interessante desenvolvida nesta dissertação, ainda com
relação ao Processo de Software e o Processo de Medição de Desenvolvimento
de Software e a Visão do Cliente, é a de uma engrenagem, como representado na
Figura 34:
FIGURA 34 Analogia da Engrenagem
Nesta analogia tem-se que a primeira engrenagem representa o Processo
de Software, a segunda o Processo de Medição e a terceira a Visão do Cliente.
Cada dente da engrenagem do Processo de Software representa as
atividades deste processo, assim como também os dentes da engrenagem
referente ao Processo de Medição representam as atividades do Processo de
Medição. os dentes da terceira engrenagem, referente ao cliente, representam
os problemas identificados, indicadores, gráficos ou informações relevantes aos
quais os clientes têm acesso, relacionados ao produto desenvolvido.
O primeiro ponto a se notar é que, influenciando o Processo de Software,
existe diretamente o Processo de Medição, e vice e versa.
106
O Processo de Medição pode fazer com que o Processo de Software rode
mais rápido, através da identificação de propostas de melhoria ao Processo de
Software. Todavia, estas propostas surgem de análises estatísticas de variáveis
relacionadas a problemas identificados pelos clientes, representados pela terceira
engrenagem. Dessa forma, os clientes influenciam o Processo de Medição a
partir dos problemas identificados. Por outro lado, o Processo de Medição se liga
diretamente à engrenagem Cliente por meio de indicadores ou gráficos que
esboçam o resultado do Processo de Software seguido.
Indo mais a fundo nesta analogia, podemos considerar os níveis do
CMMI e o possível formato das engrenagens para cada um destes níveis, assim
como também a velocidade de rotação de cada uma das engrenagens em cada
um dos níveis.
A Tabela 23, a seguir, representa as diferenças entre as engrenagens em
cada um dos níveis do CMMI:
TABELA 23 Detalhamento da Analogia das Engrenagens
Nível Engrenagem Características
Processo de Software Processo lento, falta de compromisso com
prazos e instabilidade no sentido de que
algumas atividades são realizadas
rapidamente, enquanto outras muito
lentamente.
Excesso de atividades realizadas no Processo
de Software.
Processo inflexível, não propício a mudanças.
2 e 3
Processo de Medição Muitas variáveis a serem medidas, mas sem
necessidade.
107
Cliente Dificuldade de se obter informações a partir
dos indicadores e gráficos resultantes do
Processo de Medição.
Processo de Software Processo “rodando” mais rápido que os níveis
anteriores, agora em “velocidade” constante,
ou seja, característica de um processo
controlado, estável.
Processo inflexível, ainda não propício a
mudanças.
Processo de Medição Uma quantidade menor de variáveis a serem
medidas. Os dados são usados para
compreender o processo.
4
Cliente Maior facilidade na obtenção de informações a
partir das variáveis definidas.
Processo de Software Processo “rodando” mais rápido que os níveis
anteriores, e com “velocidade” crescente,
representando a melhoria contínua.
Processo flexível, propício a alterações.
Processo de Medição Uma quantidade menor de variáveis a serem
medidas. Dados usados para avaliar e
selecionar melhoria de processos.
5
Cliente Facilidade na obtenção de informações através
das variáveis definidas, bem como
identificação de significância estatística entre
as variáveis e seus respectivos fatores
associados.
108
Em suma, esta seção apresentou os principais aspectos (engrenagens) de
um processo produtivo no contexto de desenvolvimento de software: Processo
de Software, o Processo de Medição e o que o Cliente realmente “enxerga” de
tudo isso. Apresentou também, as principais características das ligações entre
estes aspectos, tendo em vista a diferenciação destas em cada nível do CMMI.
4.1.2 Correspondência CMMI - Seis Sigma - PSM
Esta seção apresenta algumas correspondências importantes dentro do
contexto de construção do processo de medição de software.
4.1.2.1 Correspondência CMMI - Seis Sigma
Primeiramente apresenta-se a correspondência em alto nível entre CMMI
e Seis Sigma.
Resumindo em alto nível a ligação entre os níveis do CMMI e a Medição
temos a Figura 35. Nela podemos verificar a importância dos dados para cada
um dos veis, bem como as principais “Ferramentas Estatísticas” utilizadas nos
níveis 4 (CEP Controle Estatística de Processo) e 5 (DOE Delineamentos
Experimentais) do CMMI e sua correspondência à metodologia Estatística do
Seis Sigma.
109
FIGURA 35 Correspondência entre CMMI - Seis Sigma: Resumo
Embora o CMMI seja um modelo que indique as práticas a serem
executadas para atingir o objetivo de cada PA, ele não fornece diretrizes de
como realizá-las. Neste contexto, a correspondência realizada pode vir a auxiliar
neste sentido, pois apresenta um conjunto de atividades relevantes para definição
de uma estratégia organizacional, especificamente quanto a medições. O estudo
desenvolvido rastreia as práticas específicas das PA’s referentes a medições de
qualidade de software do CMMI e os respectivos passos do Seis Sigma, com
objetivo de fornecer um guia prático de sua implantação em organizações
desenvolvedoras de software. Abordam-se as etapas que devem ser seguidas,
que correspondem às práticas recomendadas pelo CMMI, tanto na representação
por estágio quanto na contínua.
Não obstante, a correspondência apresentada na Figura 34 apóia
fortemente organizações que desejam implantar medições de software, uma
prática salutar no mercado, durante todo o processo, desde a fase de
planejamento, passando pela execução e chegando ao monitoramento. A
implantação de um sistema de coleta de medições permite uma melhor avaliação
da produtividade e adaptabilidade ao processo de desenvolvimento, como
também melhora a estimativa de tempo e custo.
110
4.1.2.2 Correspondência Seis Sigma - PSM
Esta seção aborda o contexto da correspondência entre Seis Sigma
PSM, por meio, primeiramente da Tabela 23 que liga atividades do Seis Sigma
com o modelo PSM, e posteriormente com a tradução de termos do modelo PSM
para conceitos Estatísticos.
TABELA 24 Correspondência entre PSM e Seis Sigma
Processos Centrais do PSM
Processo: Planejar Mensuração
Atividades do PSM Atividades do Seis Sigma
Identificar e Priorizar Necessidades de
Informação
Fase Definir: Definir Problema
Selecionar e Especificar Medidas Fase Medir: Identificar Medições
Integrar Mensuração aos Processos do
Projeto
Fase Medir: Desenvolver Plano de Coleta
de Dados
Processo: Executar Mensuração
Atividades do PSM Atividades do Seis Sigma
Coletar e Processar Dados Fase Medir: Conduzir Medições
Analisar Dados Fase Analisar: Determinar Causas de
Variação
Produzir Recomendações Não tem correspondência direta com
atividades do Seis Sigma (*)
Processos Não Centrais do PSM
Processo: Avaliar Mensuração
Atividades do PSM Atividades do Seis Sigma
Avaliar Medidas Não tem correspondência direta com
atividades do Seis Sigma (*)
Avaliar o Processo de Mensuração Fase Medir: Determinar Capacidade do
Processo e Determinar Nível Sigma do
Processo
Atualizar Base de Experiência Implícita na própria definição de Medir do
Seis Sigma.
Identificar e Implementar Melhorias Fase Melhorar: Identificar Mudanças e
Implementar Mudanças
Processo: Estabelecer e Sustentar Comprometimento
Este processo inclui atividades comuns a qualquer projeto
(*) Essas atividades não tem correspondência direta com as atividades do Seis
Sigma (considerando o modelo DMAIC). Todavia são explicadas nas definições
dos processos.
111
Por meio da Tabela 23, a correspondência entre Seis Sigma e PSM pode
ser observarda resumidamente.
Posteriormente conceitos do PSM precisaram ser relacionados a
conceitos estatísticos, visando possibilitar uma melhor utilização da ferramenta
PSM Insight. Este relacionamento.
Como visto anteriormente na Seção 2.3.1 sobre o PSM, a ferramenta
PSM Insight tem sido um importante auxílio para as empresas de software que
desejam realizar controle estatístico de processo (Nível 4 do CMMI) e melhoria
contínua (Nível 5 do CMMI). Nesta ferramenta existe um conjunto de medições
identificadas e organizadas considerando fatores de boas práticas de
desenvolvimento de software, adquiridos em experiências anteriores.
Todavia, para que uma empresa alcance estes níveis de qualidade não
basta apenas uma boa organização dos dados no sentido de sua rastreabilidade,
mas tem-se como fator mais importante a “organização estatística” dos dados, ou
seja, um armazenamento inteligente, possibilitando a geração de futuros gráficos
de controle e a construção de delineamentos experimentais, dentre outras
análises estatísticas.
Os dados devem ser organizados pensando-se estatisticamente, e não
apenas em facilidade de localização. Na primeira forma de organização estes
deixam de ser dados e tornam-se informações valiosas para o controle e
melhoria de um processo produtivo.
A idéia desta correspondência, então, é aproveitar o que o PSM Insight
tem de melhor, ou seja, a organização da pré-identificação de medições baseadas
em boas práticas, e mapear os conceitos teóricos desta ferramenta e modelo, para
conceitos estatísticos, promovendo uma utilização em conjunto de ambas as
abordagens: O Modelo PSM e a Estatística.
As etapas desta correspondência podem ser detalhadas da seguinte
forma:
112
Foram observadas no PSM Insight várias medições que podem ser
consideradas em um processo de medição de um projeto de software. Conforme
dito anteriormente, vinculado a essas medições existem suas características.
Como pode ser observado na Figura 36.
FIGURA 36 Características dos dados
A Figura 36 mostra que, para um determinado dado, existem
características (“etiquetas”) vinculadas (“penduradas”) a ele, que no PSM são
conhecidas como estruturas e atributos.
A partir de um estudo da representatividade estatística dessas
características, elas foram mapeadas estatisticamente para o conceito de fatores,
conforme representado pela Figura 37.
113
FIGURA 37 As Etiquetas de um dado e a visão do PSM e da Estatística
Uma observação importante a ser feita a partir dessa figura é a grande
quantidade de “etiquetas” penduradas” nos dados na Ferramenta PSM Insight.
Como mostra a Figura 38.
FIGURA 38 Exemplo de uma medida no PSM e seus atributos e estruturas
Tendo em vista o conceito estatístico de fatores e veis, explicado na
seção sobre Delineamentos Experimentais, temos a sua esquematização
114
conforme a Figura 39. Neste mesmo contexto, o conceito de tratamentos deve
ser considerado, que são compostos seguindo a estrutura mostrada na Figura 40.
FIGURA 39 Fatores em um Delineamento Experimental
FIGURA 40 Tratamentos em um Delineamento Experimental
115
Para a melhoria de um processo de desenvolvimento de software, deve
ser realizado um estudo deste, utilizando um conceito estatístico denominado
tratamentos. Conforme visto no tópico sobre Delineamentos Experimentais, os
diferentes tratamentos ligados a uma determinada variável (o que é chamado de
medida no PSM) são comparados, e a partir dessas comparações, conclusões
para a melhoria do processo são encontradas.
Diante de todas as considerações anteriores pode-se exemplificar um
tratamento considerando a medida Número de Requisitos apresentada na Figura
37, existente na ferramenta PSM Insight, como apresentado na Figura 41.
FIGURA 41 Exemplo de Tratamento
Observa-se, na Figura 40, uma grande quantidade de fatores que
caracterizam este tratamento, tornando-o complexo, no que diz respeito à
realização de um Delineamento Experimental. Esta dificuldade de interpretação
é representada pela Figura 42.
116
FIGURA 42 Dificuldade de Interpretação
Essas primeiras observações da utilização do PSM (principalmente com
relação à dificuldade de interpretação do significado dos dados) como
ferramenta de medição em um processo de software, seguindo a metodologia
Estatística de um controle estatístico de processo, foi evidenciada a necessidade
de uma correspondência entre conceitos do PSM e Estatísticos.
Após etapas de estudo quanto à verificação da representatividade dos
conceitos do PSM para termos estatísticos chegou-se à conclusão esboçada na
Tabela 24:
TABELA 25 Correspondência Geral entre PSM e Seis Sigma
PSM Estatística
"Issue" – Problema
"Category" – Categoria
"Measure” - Medida
Experimento
"Atribute" – Atributos
"Structures" – Estruturas
Fatores
Combinação entre Atributos e Estruturas Tratamentos
"Data Itens" - Item de Dados Variáveis Resposta
117
As “Issues” ou Problemas são traduzidos estatísticamente para
Experimentos; as Category” ou Categorias também para Experimentos; assim
como as “Measure” ou Medidas, as quais são os veis mais baixos da
organização do PSM Insight traduzidas para Experimentos; os “Atributes” ou
Atributos para Fatores; as “Structures” ou Estruturas também para Fatores; a
combinação entre Atributos e Estruturas para tratamentos, ou seja, a combinação
dos níveis dos fatores; e, por fim, os “Data Itens ou Itens de Dados para as
Variáveis Resposta.
As Tabelas 25 e 26, a seguir, apresentam exemplos para a
correspondência geral entre PSM e Seis Sigma mostrado no quadro anterior.
Estes quadros levam em consideração as cores esboçadas no Quadro anterior.
Branco para experimento, cinza claro para fatores, cinza escuro para tratamentos
e cinza escuro e cor da letra branca para variáveis.
A Tabela 25 mostra um exemplo contendo dois experimentos diferentes,
ambos contendo fatores e níveis diferentes, o que conseqüentemente leva a
diferentes tratamentos. Para o experimento 1 foram definidas as variáveis X1 e
X2. Para o experimento 2, as variáveis foram X3 e X4.
TABELA 26 Exemplo: Correspondência Geral entre PSM e Seis Sigma
Fatores
Variáveis
Experimento
A B
Tratamentos
X1 X2
1
A1 B1 A1B1 58,36
3
1
A1 B2 A1B2 46,49
2
1
A2 B1 A2B1 117,84
1
1
A2 B2 A2B2 57,97
2
Fatores
Variáveis
Experimento
C D
Tratamentos
X3 X4
2
C1 D1 C1D1 17
3
2
C1 D2 C1D2 20
5
2
C2 D1 C2D1 18
1
2
C2 D2 C2D2 30
3
118
A Tabela 26, a seguir, explica o significado das siglas utilizadas na
Tabela 25, anterior.
TABELA 27 Legenda para Correspondência Geral entre PSM e Seis Sigma
Experimento
1 Projeto 1 >> Problema 1 >> Categoria 1 >> Medida 1
2 Projeto 2 >> Problema 2 >> Categoria 2 >> Medida 2
Fatores
A Atividade
B Organização
C Componente
D Prioridade dos Requisitos
Tratamentos
A1B1
Atividade 1 e Organização 1
A1B2
Atividade 1 e Organização 2
A2B1
Atividade 2 e Organização 1
A2B2
Atividade 2 e Organização 2
C1D1
Componente 1 e Prioridade 1
C1D2
Componente 1 e Prioridade 2
C2D1
Componente 2 e Prioridade 1
C2D2
Componente 2 e Prioridade 2
Variáveis
X1 Variável 1
X2 Variável 2
X3 Variável 3
X4 Variável 4
A partir da definição das medidas e seus atributos e estruturas
relacionadas, temos a definição do que chamamos em estatística de Tratamentos
de um Experimento, que em um Delineamento Experimental em Fatorial é dado
por meio do “Cruzamento” dos Fatores.
No exemplo mostrado anteriormente podemos detalhar o experimento
‘Projeto 1 >> Problema 1 >> Categoria 1 >> Medida 1’, que na verdade trata-se
119
da medida 1, pertencente à categoria 1 para o projeto 1 caso consideremos o
contexto do PSM.
Ainda detalhando este exemplo, temos que: a observação 58,36 referente
à variável X1, significa que foram gastos 58,36 minutos para a execução da
atividade 1 pela organização 1 - tratamento A1B1.
Para que se tenha uma idéia do quanto seria difícil a interpretação dos
dados considerando a organização baseada na rastreabilidade, pode-se citar que,
em muitos casos, da forma como estão organizados os dados no PSM Insight,
seria impossível realizar delineamentos experimentais. Isso porque as medições
do PSM Insight estão ligadas a muitos atributos e estruturas, o que significa
estatisticamente que, em muitos experimentos, existem fatores em excesso,
inviabilizando a realização de delineamentos experimentais e,
consequentemente, a interpretação dos dados.
Para que um experimento em fatorial possibilite uma boa interpretação,
ele deve ter no máximo 3 fatores, o que não ocorre com a maioria das medições
identificadas previamente na ferramenta PSM Insight.
A Figura 43, a seguir, mostra a seqüência de passos em que os termos de
conceitos da ferramenta PSM Insight são utilizados estatisticamente.
120
FIGURA 43 Metodologia de utilização dos termos do PSM Insight
Estatisticamente
Interpretando a Figura 43 tem-se que:
Fatores Hierarquizados: partir da definição do Projeto, Problemas,
Categorias de Medidas e Medidas, pode-se dizer estatisticamente que os
Fatores Hierarquizados são identificados;
Tratamentos Hierarquizados: com as identificações realizadas
anteriormente os Tratamentos Hierarquizados são delineados;
Fatores Fatoriais: depois de definidos os Tratamentos Hierarquizados, o
próximo passo é “abrir” cada um desses Tratamentos, que na verdade
correspondem em seu mais baixo nível às Medidas do PSM Insight, em
Fatores Fatoriais que os influenciam. As Estruturas e os Atributos são
esses Fatores;
121
Tratamentos Fatoriais: por meio do “cruzamento” entre os Fatores
Fatoriais são identificados os Tratamentos Fatoriais;
Variáveis Observadas: os itens de dados são as Variáveis
estatisticamente falando; o que realmente é medido no PSM Insight; o
que produz números para serem analisados. Essas Variáveis são
identificadas, ou “etiquetadas”, por meio dos Tratamentos Fatoriais.
Considerando esta mesma visão exposta anteriormente, a Figura 44
mostra a visão aplicada a um exemplo prático.
FIGURA 44 Exemplo da Metodologia de utilização dos termos do PSM Insight
Estatisticamente
Na finalidade de facilitar o entendimento desta correspondência,
apresenta-se um exemplo de correspondência, detalhadamente.
122
Exemplo de Correspondência
Neste exemplo é mostrada, com mais detalhes, a correspondência entre
os termos do PSM para conceitos estatísticos.
No exemplo em questão, o Projeto tem por nome Via Digital. Alguns
Problemas, Categorias e Medidas são identificados, correspondendo aos Fatores
Hierarquizados, conforme Figura 45.
FIGURA 45 Exemplo Detalhado da Correspondência: Fatores Hierarquizados
123
A partir da definição de Fatores Hierarquizados, são produzidos
Tratamentos Hierarquizados, como, por exemplo, os mostrados na Figura 45,
apresentada:
Esforço: Pessoal: Recursos e Custos: Via Digital;
Experiência: Pessoal: Recursos e Custos: Via Digital.
Estes Tratamentos Hierarquizados entram cada um para serem abertos
em Fatores Fatoriais. Para isto, Estruturas e Atributos são definidos para as
Medidas (Tratamentos Hierarquizados), anteriormente selecionadas. A partir
destas Estruturas e Atributos definidos formam-se os Fatores Fatoriais, conforme
Figura 46.
FIGURA 46 Exemplo Detalhado da Correspondência: Fatores Fatoriais
124
Neste nível de detalhamento podemos dizer que cada dado coletado
dentro do processo produtivo da empresa tem uma “etiqueta”, colada não apenas
com cuidados de rastreabilidade, mas considerando também preocupações
estatísticas.
As características dessa etiqueta podem ser observadas através da Figura
47, que representa a “etiqueta” do valor observado 44,6 da variável X1,
conforme Figura 46, mostrada anteriormente.
FIGURA 47 Característica da etiqueta dos dados coletados
Como mostrado na Figura 47, a etiqueta caracteriza o dado coletado.
Esta etiqueta se divide em algumas partes:
As Variáveis Medidas: o nome dos itens de dados do PSM, diretamente
ligado aos dados coletados. Todos os indicadores, bem como os gráficos
de controle serão gerados voltados especificamente para esta “parte” da
etiqueta;
Estrutura Fatorial: estruturas e Atributos do PSM. Nesta parte da
etiqueta a estatística é aplicada. Os Delineamentos Experimentais para
melhoria do processo consideram estes fatores (Iteração = 3,
Organização = Prefeitura de Recreio e Atividade = Planejamento)
125
Estrutura Hierarquizada: Projeto, Problemas, Categorias de Medida e
Medida. Trata-se da parte mais alto nível da Etiqueta, não influenciando
nos delineamentos, mas sim apenas com função de rastreabilidade dos
dados.
A partir de uma melhor organização dos dados, considerando aspectos
estatísticos como mostrados no exemplo, a obtenção de informações por meio
dos dados se torna possível e facilitada.
4.1.3 Processo de Medição de Software
O Processo de Medição de Software definido é apresentado
detalhadamente nesta seção. Todos os estudos referentes aos modelos CMMI,
PSM e a abordagem Seis Sigma, bem como as correspondências realizadas,
influenciaram na definição deste processo.
O principal objetivo deste processo é facilitar a obtenção dos níveis 4 e 5
do CMMI, por parte das empresas de software. Por meio dele, as atividades de
medição são sistematizadas e definidas, considerando aspectos de modelos
conceituados e amplamente utilizados (Seis Sigma e PSM).
A seqüência de utilização do processo é mostrada na Figura 48.
126
FIGURA 48 Seqüência de Utilização do Processo de Medição
Hipertexto: no Hipertexto desenvolvido estão todas as atividades do
processo, bem como os artefatos de entrada e saída para cada uma delas
e a seqüência de suas execuções. Estas atividades estão todas baseadas
nas fases do DMAIC do Seis Sigma, e na correspondência entre CMMI
Seis Sigma. Este Hipertexto será melhor explicado a seguir, na
subseção ‘Hipertexto’. A partir deste Hipertexto o usuário visualizará as
atividades do Processo de Medição e deverá executá-las com o auxílio
da Ferramenta PSM Insight, da Planilha Geral e da Ferramenta para
DOE.
PSM: na Ferramenta PSM Insight serão definidas as medições a serem
realizadas no processo de medição e armazenados todos os dados
relacionados a estas medições.
Planilha Geral: nesta Planilha são mapeadas as necessidades de
informação e as medições definidas para estas necessidades. Os
Indicadores, Gráficos de Controle e os Delineamentos Experimentais
são definidos e seus resultados documentados.
127
Ferramenta para DOE: esta ferramenta, que pode ser o software ‘R’
ou o ‘Sisvar’, serve para realizar os experimentos e obter os resultados.
O usuário deste processo deve utilizar a seqüência mostrada na Figura
48. Primeiramente o usuário do processo deverá seguir as atividades do
Hipertexto. Dentre essas atividades, algumas estão ligadas à definição das
medições e dos indicadores. Para tal, deve ser utilizada a Ferramenta PSM
Insight.
Uma vez sendo definidas as medições e indicadores, o próximo passo é
definir os gráficos de controle e delinear os experimentos, tudo isso feito na
Planilha Geral. Nesta planilha são resumidos e documentados todos os
resultados do Processo de Medição.
Por fim, depois de delineados, os experimentos são realizados
efetivamente. A partir do resultado desses experimentos são identificadas
propostas de melhoria para o processo de desenvolvimento de software da
empresa.
Nas subseções posteriores sobre ‘Hipertexto’ e ‘Planilha Geral’, estes
serão melhor detalhados, com a finalidade de facilitar o entendimento do usuário
do Processo de Medição.
4.1.3.1 Hipertexto para descrição do processo de medição de software
Dentre muitas informações existentes no Hipertexto do Processo de
Medição de Software, encontram-se as atividades deste processo, conforme
apresentado na Figura 49.
A Figura 50 apresenta a legenda do Processo de Medição, facilitando o
entendimento do significado de cada componente das atividades do Processo.
128
FIGURA 49 Processo de Medição de Sofware
129
FIGURA 50 Legenda do Processo de Medição de Software
Na Tabela 27, a seguir, cada uma das atividades apresentadas na Figura
49 é descrita em mais detalhes.
TABELA 28 Descrição das Atividades do Processo de Medição
1.1 Atividade: Definir Problema
Finalidade
Identificar por meio de questionários voltados ao cliente ou por
Benchmark os principais problemas a serem resolvidos.
Artefatos de Entrada
Template-Questionário de
Problemas-xQP
Planilha Geral de Medição-
xPGM: Aba ‘Mapeamento’
Artefatos de Saída
Questionário de Problemas-
QP
Planilha Geral de Medição-
PGM: Aba ‘Mapeamento’
Papel: Gerente de Negócios ou Gerente de Projeto
130
Ferramentas: Software de Planilha Eletrônica e Software Editor de Texto
Passos:
1. Fazer o atendimento ao cliente;
2. Preencher template do QP;
3. Gerar gráfico de Pareto para os principais problemas identificados;
4. Preencher PGM - Aba ‘Mapeamento’: identificando os ”Problemas
ou Necessidades de Informação”;
5. Armazenar o QP e o PGM preenchidos, na seguinte estrutura de
pastas (c:\projetos\ nome_projeto);
6. Se o autor do QP for um Gerente de Projeto, o Gerente da Área de
Negócio deve ser comunicado.
1.2 Atividade: Formar Equipe
Finalidade
Identificar e mapear a equipe envolvida no projeto segundo a teoria
da metodologia do Seis Sigma: Campeão, Faixas Pretas e Faixas
Verdes.
Artefatos de Entrada
Planilha Geral de Medição-
xPGM: Aba ‘Início’
Artefatos de Saída
Planilha Geral de Medição-
PGM: Aba ‘Início’
Papel: Gerente de Projeto
Ferramentas: Software de Planilha Eletrônica
Passos:
1. Preencher a PGM - Aba ‘Início’: identificando nome da empresa,
nome do projeto, responsável pelo projeto (gerente de projeto),
identificação da equipe, considerando as seguintes relações:
a. Gerente da Área de Negócio = Master Black Belt
b. Gerente de Projeto = Black Belt
c. Engenheiro de Software = Green Belt
2. Armazenar a PGM preenchida, na seguinte estrutura de pastas
(c:\projetos\ nome_projeto).
2.1 Atividade: Identificar Medições
Finalidade
Identificar as principais medições (ou variáveis) relacionadas aos
problemas identificados em atividade anterior.
Artefatos de Entrada
Planilha Geral de Medição-
xPGM: Aba ‘Mapeamento’
Planilha Geral de Medição-
xPGM: Aba ‘Indicador’
PSM Insight-PSM
Artefatos de Saída
Planilha Geral de Medição-
PGM: Aba ‘Mapeamento’
Planilha Geral de Medição-
PGM: Aba ‘Indicador’
PSM Insight-PSM
Papel: Gerente de Projeto ou Gerente da Área de Negócio
131
Ferramentas: Software de Planilha Eletrônica e Software PSM Insight
Passos:
1. Preencher a PGM - Aba ‘Mapeamento’: identificando Issue
(Problema), Category (Categoria), Measurement (Medida) de acordo
com as medidas pré-definidas no PSM Insight;
2. Preencher PSM: selecionar na ferramenta as medidas, estruturas,
atributos, item de dados e indicadores considerados importantes para
o processo de medição do software a ser desenvolvido;
3. Preencher a PGM - aba ‘Mapeamento’: identificando para cada uma
das medidas selecionadas, as variáveis, atributos e estruturas a serem
consideradas para medição. Isto deve ser armazenado em forma de
“comentário” (recurso do software de planilha eletrônica);
4. Preencher a PGM - aba ‘Indicador’: identificando para cada uma das
medidas selecionadas, os indicadores importantes para esboçar
graficamente o conteúdo informativo dos dados;
5. Armazenar a PGM preenchida, na seguinte estrutura de pastas
(c:\projetos\ nome_projeto);
6. Armazenar o projeto PSM preenchido, na seguinte estrutura de
pastas (c:\projetos\ nome_projeto);
7. Se o autor do PGM e PSM nesta atividade for um Gerente de
Projeto, o Gerente da Área de Negócio deve ser comunicado.
2.2 Atividade: Desenvolver Plano de Coleta de Dados
Finalidade
Identificar no Processo de Desenvolvimento de Software da
Empresa as atividades deste, aonde serão coletados os dados e a
periodicidade dessa coleta, bem como, as ferramentas que auxiliarão
nesta.
Artefatos de Entrada
Planilha Geral de Medição-
xPGM: Aba ‘Mapeamento’
Artefatos de Saída
Planilha Geral de Medição-
PGM: Aba ‘Mapeamento’
Papel: Gerente de Projeto
Ferramentas: Software de Planilha Eletrônica
Passos:
1. Preencher a PGM - Aba ‘Mapeamento’: identificando para cada uma
das medidas selecionadas as ferramentas nas quais os dados serão
coletados, bem como a periodicidade da coleta. Isto deve ser
armazenado em forma de “comentário” (recurso do software de
planilha eletrônica);
2. Identificar no Processo de Desenvolvimento de Software, utilizado
pela empresa desenvolvedora do sistema, em quais atividades os
dados referentes às variáveis anteriormente especificadas serão
coletados – utilizando recurso de “comentário”;
132
3. Armazenar a PGM preenchida, na seguinte estrutura de pastas
(c:\projetos\ nome_projeto).
2.3 Atividade: Conduzir Medições
Finalidade
Coletar os dados das medições (ou variáveis) nos pontos
anteriormente pré-estabelecidos pela atividade anterior.
Artefatos de Entrada
PSM Insight-PSM
Artefatos de Saída
PSM Insight-PSM
Papel: Gerente de Projeto ou Engenheiro de Software
Ferramentas: Software PSM Insight
Passos:
1. Armazenar na ferramenta PSM Insight, os dados coletados. Estes
dados serão obtidos de diversas fontes (ferramentas, documentos,
etc, conforme especificado na atividade anterior) e deverão estar no
final desta atividade, armazenados no PSM Insight;
2. Armazenar o projeto PSM preenchido, na seguinte estrutura de
pastas (c:\projetos\ nome_projeto).
2.4 Atividade: Determinar Capacidade do Processo
Finalidade
Construir gráficos de controle para cada uma das medidas ou
variáveis identificadas e calculada a capacidade de processo para
cada uma delas. Esta atividade tem por finalidade principal ajudar no
controle do processo.
Artefatos de Entrada
PSM Insight-PSM
Planilha Geral de Medição-
xPGM: Aba ‘Controle’
Planilha Geral de Medição-
xPGM: Aba ‘Controle
<Medida>’
Artefatos de Saída
PSM Insight-PSM
Planilha Geral de Medição-
PGM: Aba ‘Controle’
Planilha Geral de Medição-
PGM: Aba Controle
<Medida>’
Papel: Gerente de Projeto ou Engenheiro de Software
Ferramentas: Software PSM Insight e Software de Planilha Eletrônica
Passos:
1. Obter os dados para uma determinada variável, da ferramenta PSM
Insight, em forma de tabela. Através do PSM Insight estes dados
deverão ser exportados de forma que possam, posteriormente, ser
copiados para a planilha geral;
2. Preencher a PGM - Aba ‘Controle com informações que definem
quais os gráficos de controle devem ser gerados;
3. Preencher a PGM - Aba ‘Controle <Medida>’ para cada um dos
gráficos de controle definidos:
133
a. Importar dados da medida referida por meio da ferramenta
PSM Insight;
b. Armazenados dados na Aba ‘Controle <Medida>’;
c. Calcular LCI, LM, LCS, CPK, S;
4. Armazenar a PGM preenchida, na seguinte estrutura de pastas
(c:\projetos\ nome_projeto).
3.1 Atividade: Determinar Causas de Variação
Finalidade
Identificar no gráfico de controle as causas especiais relacionadas a
cada uma das medidas (ou variáveis). Nesta atividade também são
identificados os limites de especificação para as variáveis medidas.
Periodicamente estes gráficos devem ser atualizados considerando as
observações sobre periodicidade de análises realizadas para as
medidas na atividade anterior.
Artefatos de Entrada
Planilha Geral de Medição-
xPGM: Aba ‘Controle
<Medida>’
Artefatos de Saída
Planilha Geral de Medição-
PGM: Aba Controle
<Medida>’
Papel: Gerente de Projeto
Ferramentas: Software de Planilha Eletrônica
Passos:
1. Preencher a PGM - Aba ‘Controle <Medida>’ para cada um dos
gráficos de controle definidos:
a. Especificar LIE e LSE;
2. Armazenar a PGM preenchida, na seguinte estrutura de pastas
(c:\projetos\ nome_projeto).
3.2 Atividade: Brainstorm de Idéias
Finalidade
Discutir em reunião sobre as causas especiais identificadas para cada
uma das medidas (ou variáveis), com a finalidade de levantar os
principais motivos causadores dessas observações fora dos limites
de especificação.
Artefatos de Entrada
PSM Insight-PSM
Planilha Geral de Medição-
xPGM: Aba ‘Controle
<Medida>’
Artefatos de Saída
Planilha Geral de Medição-
PGM: Aba Controle
<Medida>’
Papel: Gerente da Área de Negócio, Gerente de Projeto e Engenheiro de
Software
Ferramentas: Software PSM Insight e Software de Planilha Eletrônica
Passos:
134
1. Reunir a equipe para discussão sobre as causas especiais
identificadas nos gráficos de controle por meio da atividade anterior;
2. Observar indicadores na Ferramenta PSM Insight para cada uma das
medidas identificadas;
3. Preencher a PGM - Aba ‘Controle <Medida>’ para cada um dos
gráficos de controle definidos:
a. Identificar causas especiais, bem como, o motivo de suas
ocorrências;
b. Explicar detalhadamente cada uma das causas especiais
identificadas por meio de “comentário” (recurso do software
de planilha eletrônica);
4. Armazenar a PGM preenchida, na seguinte estrutura de pastas
(c:\projetos\ nome_projeto).
4.1 Atividade: Identificar Mudanças
Finalidade
Realizar delineamentos experimentais para verificar a correlação
entre os fatores relacionados às medições (ou variáveis) definidas. E
de acordo com a correlação identificada, propor mudanças a serem
realizadas no Processo de Desenvolvimento de Software.
Artefatos de Entrada
Processo (Processo de
Desenvolvimento de
Software)
Planilha Geral de Medição-
xPGM: Aba ‘DOE’
Planilha Geral de Medição-
xPGM: Aba ‘DOE
<Medida>’
Resumo de Análise
Experimental-xRAE
Artefatos de Saída
Planilha Geral de Medição-
PGM: Aba ‘DOE’
Planilha Geral de Medição-
PGM: Aba ‘DOE
<Medida>’
Resumo de Análise
Experimental-RAE
Papel: Gerente de Projeto
Ferramentas: Software para realização de Delineamentos Experimentais
(R, Sisvar, etc) e Software de Planilha Eletrônica
Passos:
1. Preencher a PGM - Aba ‘DOE’ com informações que definem os
delineamentos experimentais a serem gerados;
2. Realizar delineamentos experimentais por meio de Software.
a. Os dados a serem analisados devem ser importados da aba
‘Controle <Medida>’;
b. Devem ser especificados os fatores e veis destes,
influenciadores em cada uma das observações;
c. Os dados devem ser analisados em forma de delineamentos
135
experimentais;
3. Preencher o RAE Resumo de Análise de Experimento com
informações relacionadas aos resultados obtidos pelas análises
experimentais;
4. Preencher a PGM - Aba ‘DOE <Medida>’ para cada um dos
delineamentos experimentais definidos:
d. Identificar resumidamente as principais conclusões das
análises;
e. Classificar cada uma das conclusões como: boa, informativa
ou ruim (conforme critérios estabelecidos da Planilha
Geral);
f. Descrever detalhadamente sobre as principais conclusões,
por meio de “comentário” (recurso do software de planilha
eletrônica);
g. Identificar resumidamente as principais propostas para
alteração do processo, considerando as conclusões
anteriores;
h. Classificar cada uma das propostas para alteração do
processo como: implementada, em estudo ou descartada;
i. Descrever detalhadamente, caso necessário, sobre as
principais propostas para alteração, por meio de
“comentário” (recurso do software de planilha eletrônica);
5. Armazenar a PGM preenchida, na seguinte estrutura de pastas
(c:\projetos\ nome_projeto);
6. Armazenar o RAE preenchido, na seguinte estrutura de pastas
(c:\projetos\ nome_projeto\nome_medida).
4.2 Atividade: Implementar Mudanças
Finalidade
Alterar o Processo de Desenvolvimento de Software segundo as
melhorias identificadas na atividade anterior.
Artefatos de Entrada
Planilha Geral de Medição-
PGM
Processo (Processo de
Desenvolvimento de
Software)
Artefatos de Saída
Processo (Processo de
Desenvolvimento de
Software Alterado)
Papel: Gerente da Área de Negócio
Ferramentas: Software de Planilha Eletrônica
Passos:
1. Observar a PGM aba ‘DOE <Medida>’ com relação à melhoria do
processo;
2. Alterar o Processo de Desenvolvimento de Software considerando as
136
propostas de alteração classificadas como implementadas.
5.1 Atividade: Medir e Comunicar Melhorias
Finalidade
Verificar - através dos dados coletados, pós-alterações no Processo
de Desenvolvimento de Software - a nova capacidade do processo e
compará-la com a capacidade pré-alterações no Processo de
Desenvolvimento de Software. Estes índices de capacidade devem
ser comunicados para efeito de comparação do Processo de
Desenvolvimento antes e depois das alterações.
Artefatos de Entrada
Planilha Geral de Medição-
PGM (Versão 1 Pré-
Alterações)
Artefatos de Saída
Planilha Geral de Medição-
PGM (Versão 2 Pós-
Alterações)
Papel: Gerente da Área de Negócio, Gerente de Projeto e Engenheiro de
Software
Ferramentas: Software de Planilha Eletrônica
Passos:
1. Salvar nova versão da PGM;
2. Iniciar novamente o processo de medição, considerando as
alterações implementadas ao processo de desenvolvimento de
software;
3. Reunir-se com toda a equipe de desenvolvimento e responsáveis,
para analisar alterações e divulgar os resultados de observações pós-
alterações no processo de desenvolvimento de software.
Para que o Processo de Medição seja aplicado dentro da empresa com a
finalidade de promover controle estatístico do Processo de Desenvolvimento de
Software e sua melhoria contínua, todas as atividades descritas anteriormente
devem ser realizadas.
4.1.3.2 Planilha Geral
O artefato mais importante do Processo de Medição de Software é a
Planilha Geral. Neste documento encontram-se as principais informações com
relação à conclusão das análises estatísticas realizadas.
Várias planilhas compõem a Planilha Geral (Planilha Eletrônica):
137
Início: nesta planilha o projeto que passará pelo processo de medição é
introduzido. Informações como: Nome da Empresa, Nome do Projeto,
Responsável pelo Projeto, e definição da Equipe, devem ser descritas. O
template desta planilha é apresentado na Figura 51.
Mapeamento: os problemas identificados são descritos nesta planilha,
bem como as medidas no PSM selecionadas como importantes, com a
finalidade de ajudar na eliminação destes problemas. Todas as medidas
selecionadas são mapeadas para cada um dos problemas identificados. A
partir da tabela de análise desta planilha, consegue-se identificar o
andamento da preparação para medição: que identificadores, gráficos de
controle e delineamentos experimentais foram terminados, quais são
desnecessários e quais ainda não foram terminados. Isso é feito para
cada medida selecionada. Um exemplo desta planilha é apresentado na
Figura 52.
Indicador: os indicadores representam informações gráficas que têm
origem nos dados coletados. Estes funcionam como auxiliares em
tomadas de decisões e em facilidade de observação em termos de
informações. A planilha Indicador’ descreve todos os indicadores
definidos no PSM, vinculando cada um deles a uma medida selecionada,
conforme mostrado na Figura 53.
Controle: a planilha ‘Controle’ determina quais gráficos de controle
serão gerados para o projeto em específico. Resumidamente apresenta as
principais informações concernentes a estes gráficos: LCI (Limite de
Controle Inferior), LCS (Limite de Controle Superior), LEI (Limite de
Especificação Inferior), LES (Limite de Especificação Superior), CPK
(Índice de Capacidade do Processo), além de um Link para a planilha
‘Controle <Medida>’ que mostra com todos os detalhes as informações
referentes ao gráfico de controle de uma determinada medida.
138
Observação: podem existir mais de um gráfico de controle para uma
mesma medida selecionada. Para mais detalhes ver Figura 54.
DOE: a planilha ‘DOE refere-se aos Delineamentos Experimentais
realizados durante a execução do Processo de Medição de Software para
um determinado projeto. Nela são resumidos todos os Delineamentos a
serem realizados para cada uma das medidas anteriormente
selecionadas. Para estas medidas identificam-se os itens de dados,
atributos e estruturas relevantes. Estes termos do PSM identificados são
mapeados para os termos Estatísticos em variáveis e fatores. O
Delineamento apropriado é escolhido e especificado. E, por último,
alguns Links são preenchidos: Link Dados - link para os dados coletados
referentes a uma determinada medida; Link Análise Completa - link
para uma análise de variância com relação a este experimento gerada
pela ferramenta de DOE (Delineamento Experimental) escolhida; Link
Análise Resumida - link para um artefato que resume a análise de
variância realizada de uma forma mais concisa e de fácil entendimento,
relatando as principais conclusões alcançadas com o experimento (ver
Anexo A); Link Análise Final - link para a planilha ‘DOE <Medida>’.
Para entender melhor a planilha ‘DOE’ deve-se verificar a Figura 55.
Controle <Medida>: planilha que detalha o controle de uma
determinada medida selecionada. Nesta planilha o gráfico de controle é
gerado, as causas especiais são identificadas e os motivos de ocorrência
para cada uma dessas causas são relatados. O índice de capacidade do
processo é calculado com base nos limites do processo e de
especificação. Observação: é gerada uma planilha de Controle
<Medida>’ para cada uma das medidas selecionadas no projeto em
questão. Ver Figura 56 sobre esta planilha.
139
DOE <Medida>: esta planilha está ligada à melhoria do processo. Nesta
planilha são apresentadas informações sobre o Delineamento
Experimental realizado para uma determinada medida selecionada. As
principais conclusões com relação ao experimento realizado são
documentadas, ou seja, realiza-se a “identificação” de causas comuns de
variação do processo. Estas causas são classificadas como: Causa Boa
(influencia na melhoria do Processo de Desenvolvimento de Software),
Causa Informativa (não tem influência significativa o Processo de
Desenvolvimento de Software) e Causa Ruim (influencia negativamente
no Processo de Desenvolvimento de Software). Posteriormente,
considerando as causas comuns identificadas, são relatadas propostas de
alteração do Processo de Desenvolvimento de Software. Estas propostas
são classificadas como: Alteração Implementada (alteração que foi
realizada no Processo de Desenvolvimento de Software), Alteração em
Estudo (alteração ainda em estudo para verificação da aplicabilidade
desta ao Processo de Desenvolvimento de Software) e Alteração
Descartada (alteração considerada não aplicável ao Processo de
Desenvolvimento de Software). Observação: é gerada uma planilha de
‘DOE <Medida>’ para cada uma das medidas selecionadas no projeto
em questão. Ver Figura 57 sobre esta planilha.
140
FIGURA 51 Planilha Geral: Início
FIGURA 52 Planilha Geral: Mapeamento
FIGURA 53 Planilha Geral: Indicadores
141
FIGURA 54 Planilha Geral: Gráficos de Controle
FIGURA 55 Planilha Geral: Delineamentos Experimentais
142
FIGURA 56 Planilha Geral: Controle <Medida>
143
FIGURA 57 Planilha Geral: DOE <Medida>
144
As figuras anteriormente mostradas nesta seção com a finalidade de
facilitar o entendimento são referentes às planilhas que compõem a Planilha
Geral, artefato mais importante do Processo de Medição de Software proposto.
No tópico 6 será apresentado um exemplo de utilização do Processo de
Medição de Software. Neste exemplo, a Planilha Geral foi preenchida para uma
medida selecionada, no caso, a medida ‘Esforço’. Todas as planilhas explicadas
e mostradas em figuras nesta seção terão sua forma de utilização exemplificada
no tópico 6. Assim, para facilitar o entendimento de como estas planilhas o
utilizadas na prática, basta consultar o tópico 6, seção ‘Projeto Piloto: Exemplo’.
4.2 Resultados de Análise de Dados
Nas seções relacionadas a este tópico busca-se esclarecer toda a análise
de dados referentes à simulação realizada para o Projeto Via Digital, o qual se
introduzido posteriormente, considerando a variável esforço.
Trata-se de uma demonstração da utilização do Processo de Medição de
Software considerando as necessidades reais do Projeto Via Digital, e dados
provindos de simulação.
4.2.1 Projeto Piloto: Introdução
Para verificar a aplicabilidade do Processo de Medição de Software
definido em um Processo de Desenvolvimento de Software foi escolhido um
projeto piloto.
O projeto Via Digital é na verdade um conjunto de 5 projetos de
desenvolvimento de software.
Várias foram as características que influenciaram sua escolha. Dentre
elas podemos citar:
Mesma Linguagem de Programação para cada um dos 5 projetos: Java;
Complexidade semelhante entre os 5 projetos;
145
Mesma Equipe de Análise para os 5 projetos.
Todas as características acima citadas reforçam a possibilidade de
comparação entre os 5 projetos de software que correspondem ao Via Digital,
uma vez que possuem características semelhantes entre si.
A seguir, apresentam-se mais informações (ou informações mais
detalhadas) com relação ao projeto e seus principais objetivos. A Planilha Geral
foi elaborada conforme artefato anteriormente detalhado neste tópico.
O Projeto Via Digital
“Via Digital - Caminho inteligente para informatização pública” é um
projeto inovador que pretende estimular uma nova dinâmica em torno da oferta
de soluções de software livre para prefeituras, envolvendo desenvolvimento
tecnológico, geração de oportunidades de negócio, emprego e renda, capacitação
e informação, reunindo informações, softwares, conhecimento e aproximando
pessoas, empresas, universidades e prefeituras, para trabalhar na construção de
soluções para o setor público e de oportunidades para os empreendedores.
Objetivos
Para viabilizar o projeto de forma sustentada, ele foi dividido em duas
fases: projeto piloto e projeto de expansão. A proposta do projeto piloto é a
criação de 5 casos pilotos para:
Criar a infra-estrutura e construção inicial do acervo de soluções modelo
e de informações de referência que ficarão alocadas no portal;
Testar e ratificar o modelo proposto entre os atores - prefeituras,
empresas e agentes indutores;
Ouvir as prefeituras, conhecer o problema de cada uma e criar soluções
de acordo com a sua realidade.
146
Para isso foram selecionadas cinco prefeituras e, no mínimo, cinco
empresas desenvolvedoras de software. Adicionalmente, agentes regionais,
como agentes SOFTEX ou outras instituições de interesse do projeto puderam
agregar-se ao projeto. A seleção desses atores prefeitura, empresas e a
participação de instituições de apoio objetiva a criação de um ambiente de
interação apropriado à implementação do projeto, que é denominado
ecossistema e que deve contar ainda com o incentivo do poder público à
informatização e à adoção de software livre (SL).
Colaboradores
Prefeituras selecionadas
Canela (RS), Santa Clara (RS), Amparo (SP), Recreio (MG), Campina
Grande (PB).
4.2.2 Projeto Piloto: Resultados
Após a fase de Análise de Requisitos para este projeto, ou seja, a
verificação junto às prefeituras para levantar as necessidades que elas tinham
com relação ao software que ia ser desenvolvido, o Processo de Medição
começou a ser utilizado.
Seguindo o Processo de Medição as atividades realizadas foram as
descritas a seguir:
147
4.2.2.1 Definir Problema
Para definição do problema foi realizada uma reunião com o Gerente de
Projetos da empresa responsável por realizar a Gerência dos cinco projetos de
desenvolvimento de software para cinco prefeituras.
Nesta reunião, realizada por meio da ferramenta Skype, procurou-se
levantar junto ao Gerente quais eram as principais dificuldades no contexto de
produção de software, de acordo com a sua experiência, uma vez que não havia
uma base histórica de dados na finalidade de levantar os pontos críticos do
desenvolvimento.
Os problemas neste caso foram identificados como principais
necessidades de informação, com a finalidade de um bom desenvolvimento de
software.
A Figura 58 apresenta as principais necessidades de informação
identificadas:
FIGURA 58 Definir Problema
Conforme visto na Figura 58, as principais necessidades de informação
identificadas foram: “Acompanhar performance do processo” e “Conhecer
148
qualidade do produto gerado”. Para a primeira necessidade, ainda foram
definidas algumas subdivisões a ela relacionadas: Escopo, Cronograma e Custo.
4.2.2.2 Formar Equipe
A equipe passou a ser definida considerando os principais envolvidos
com o Processo de Medição, a ser realizado no Projeto Via Digital (Figura 59).
FIGURA 59 Formar Equipe
149
4.2.2.3 Identificar Medições
Uma das fases mais importantes do Processo de Medição, visto que nela
se definem as medidas a serem coletadas com a finalidade de ajudar na
eliminação dos problemas identificados.
Como visto anteriormente, apenas as medidas necessárias devem ser
identificadas, uma vez que o excesso de medidas pode levar a não obtenção de
informações significativas diante de tantos dados.
Para a identificação das medidas a serem coletadas foi realizado um
mapeamento das necessidades de informações versus os termos do PSM Insight,
a ferramenta utilizada para organização e armazenamento dos dados. Este
mapeamento pode ser melhor observado na Figura 60.
Para a escolha dessas medidas na ferramenta PSM Insight, foi necessário
um estudo do significado de cada uma das medidas existentes no PSM Insight.
FIGURA 60 Definir Medições
Como mostra a Figura 60, para cada necessidade de informação foram
definidas várias medidas relacionadas (Measurement).
150
A legenda indica o status de definição de indicadores, gráficos de
controle e delineamentos experimentais para cada uma das medidas
selecionadas.
4.2.2.4 Conduzir Medições
Esta atividade corresponde à coleta efetiva dos dados relacionados às
medições identificadas na atividade anterior.
Para cada uma das medidas selecionadas foram identificados os
indicadores (gráficos) para facilitar nas tomadas de decisão e na interpretação
dos dados coletados.
A Figura 62 representa melhor esta identificação de indicadores.
Como o desenvolvimento dos cinco projetos de softwares,
correspondentes ao projeto Via Digital, não seria iniciado em tempo hábil para
utilização do Processo de Medição completamente, em todas suas atividades,
antes da data definida para o término desta dissertação, optou-se por realizar
algumas simulações com relação a pelo menos uma das medidas identificadas.
Para tal, foi escolhida a medida Esforço (Effort).
Dessa forma, todas as atividades do Processo de Medição puderam ser
realizadas.
A partir desta fase todas as demais fases mostradas neste tópico exemplo
estarão se referindo à medida Esforço. Relacionado a esta medida, tem-se:
Atributos:
Atividade: Desenvolvimento, Planejamento e Teste;
Estruturas:
Iteração: 1, 2 e 3;
Organização: PM Santa Clara (RS), PM Canela (RS), PM
Teresina (PB), PM Recreio (MG) e PM Amparo (SP);
151
Artigos de Dados (Variáveis de Medição): Tempo das Atividades *
Número de Pessoas Envolvidas na Atividade.
Resumindo, esta medida: refere-se à medida do tempo gasto em
atividades * o número de pessoas nela envolvidas (Desenvolvimento,
Planejamento e Teste) em todas as Iterações do Processo de Desenvolvimento de
Software (1, 2 e 3), ou repetições, considerando todas as prefeituras envolvidas
(Santa Clara, Canela, Teresina, Recreio e Amparo).
Os dados simulados para esta medida podem ser observados no anexo C.
Com relação aos dados simulados, devemos considerar:
O Modelo Matemático: este modelo representa como foram originados
os dados simulados para a variável “Tempo da Atividade * Número de
Pessoas”, e pode ser representado pelo modelo matemático Y = X + EI
+ EA + EO + EA*EO + ε, onde:
Y: Valor da Observação para a variável “Tempo da Atividade *
Número de Pessoas”
X: Média das Observações para a variável “Tempo da Atividade
* Número de Pessoas
EI: Efeito do Fator Iteração (Neste caso considerado como
efeito de Bloco)
EA: Efeito do Fator Atividade
EO: Efeito do Fator Organização
EA * EO: Efeito da Interação entre os Fatores Atividade e
Organização
ε: Resíduos
Efeitos dos Tratamentos: o significado do efeito dos tratamentos está
relacionado à influência que cada um dos tratamentos tem para com a
média das observações de uma determinada variável. Pela Figura 61,
152
podem ser observados os efeitos para cada um dos níveis dos Fatores
Iteração, Atividade e Organização. Os efeitos dos tratamentos são as
combinações de cada um dos efeitos de níveis que compõem o
tratamento.
FIGURA 61 Definir Efeitos de Tratamentos
Ex.: O tratamento Iteração 1 + Atividade Desenvolvimento + Organização
PM Santa Clara é composto pelos seguintes efeitos: 3, 5 e 0,
respectivamente. E cada um desses efeitos influenciano resultado final da
observação da variável “Tempo da Atividade * Número de Pessoas”.
Considerando o efeito de “Iteração 1” que é igual a 3, temos que este
influenciará em um adicional de três horas ao tempo médio das observações
para a variável “Tempo da Atividade * Número de Pessoas”. Ou seja, caso a
média para esta variável seja 50 horas, o efeito de “Iteração 1” resultaria em
um tempo de 53 horas para a observação desta variável;
Resíduos (ε): como último influenciador da observação da variável
“Tempo da Atividade * Número de Pessoas” representado no modelo,
153
temos os Resíduos. Estes são representados por uma distribuição normal
de média zero e desvio padrão igual a (0,75) e obtidos aleatoriamente,
conforme mostrado no Anexo C. Estes valores representam a influência
das variáveis não controláveis (correspondente à variabilidade existente
Dentro dos Tratamentos), citado no tópico sobre Delineamentos
Experimentais.
A seguir podem ser observados, na Figura 62, os indicadores:
FIGURA 62 Conduzir Medições: Definir Indicadores
154
Vários podem ser os tipos de indicadores: Artigos de Dados (variável)
por Atributos (fatores), Artigos de Dados por Estrutura (fator), etc. Significando
que os gráficos gerados irão mostrar dados relacionados ao Artigo de Dados
vinculando-o a um Atributo ou Estrutura, respectivamente.
Na ferramenta PSM Insight foram definidos todos os indicadores da
Figura 62. Para cada um desses indicadores pode-se gerar gráficos na
ferramenta.
4.2.2.5 Determinar a Capacidade
Para que seja determinada a capacidade do Processo, deve-se
primeiramente deixar claro o que significa o ‘Processo’ neste caso. Cada medida
é encarada como um Processo Seis Sigma, e a capacidade aqui mencionada se
refere a cada uma das medidas selecionadas.
A Figura 63 mostra a determinação da capacidade para o Processo
Esforço. Assim como para esta medida, devem ser determinadas as capacidades
para todas as outras medidas selecionadas.
FIGURA 63 Determinar Capacidade do Processo: Medida Esforço
De acordo com a Figura 63, a medida analisada foi o ‘Esforço’, mais
especificamente o item de dado (ou variável, Estatisticamente falando) Número
155
de horas de trabalho (Tempo das Atividades * Número de Pessoas) por
atividade.
Esta variável corresponde em estatística ao que se denomina Variável
Aleatória. Uma Variável Aleatória pode ser considerada como o resultado
numérico de operar um mecanismo não determinístico ou de fazer uma
experiência não determinística para gerar resultados aleatórios.
Considerando os dados simulados, a média foi 53,97 horas para o tempo
das atividades. LCI (Limite de Controle Inferior) igual a 21,03; LCS (Limite de
Controle Superior) igual a 86,90; LEI (Limite de Especificação Inferior) igual a
19; LES (Limite de Especificação Superior) igual a 92.
Os cálculos estão mostrados a seguir:
Média:
X
=
n
X
n
i
i
=1
= 53,97
AM - Amplitude Móvel:
,,...,2;
1
mixxAM
iii
==
38,12
)1(
2
=
=
=
n
i
i
m
AM
AM
LCI – Limite de Controle Inferior:
2
3
d
AM
XLCI = 03,21
128,1
38,12
397,53 ==
LCS – Limite de Controle Superior:
2
3
d
AM
XLCS += 90,86
128,1
38,12
397,53 =+=
LEI Limite de Especificação Inferior: não é calculado. Obtido por
especificação.
156
LES Limite de Especificação Superior: não é calculado. Obtido por
especificação.
CPK – Índice de Capacidade do Processo:
(
)
(
)
{
}
sXLESsLEIXMínimoCPK 3/;3/ =
(
)
(
)
{
}
66,11*3/36,5665;66,11*3/1997,53 = Minimo
{
}
08,1;00,1Minimo=
00,1
=
A primeira consideração a ser feita com relação às fórmulas está para o
fator d2, igual a (1,128) neste caso, para n = 2, conforme pode ser observado
pela tabela do Anexo D. Para mais detalhes sobre gráficos de controle, consultar
Nomelini (2007).
Neste exemplo, para a medida esforço, o índice de capacidade do
processo (CPK) está abaixo do esperado pelos limites de especificação desejados
(igual a 1). Isto significa que o processo é capaz, ou seja, as observações
coletadas dos dados estão dentro das especificações apresentadas. Concluindo-
se, desta forma, que o controle do processo é obtido elevando-se o CPK e,
conseqüentemente, a estabilidade do processo (Esforço) é alcançada.
O Gráfico de Controle para este exemplo foi o Gráfico de Controle
para Medidas Individuais. Este é o tipo de gráfico comumente utilizado para
medidas em processo de desenvolvimento de software, uma vez que as
observações neste tipo de processo não são caracterizadas por repetição. Isso,
pois, diferentemente de um processo industrial como a produção de parafusos na
qual existe repetição, por exemplo. No processo de software, cada atividade
produtiva é diferente da outra.
O link mostrado na Figura anterior ‘Controle Esforço leva para a
planilha que será detalhada na próxima atividade.
157
4.2.2.6 Determinar Causas
Seguindo o raciocínio da atividade anterior, agora se deve, baseado no
gráfico de controle gerado, identificar a ocorrência de observações fora dos
limites de especificação.
Para cada uma dessas observações fora dos limites, devem ser descritos
os motivos de sua ocorrência. Estas observações são denominadas causas
especiais, e caracterizam que neste processo não existem apenas causas
aleatórias de influência. Neste exemplo apenas 1 motivo de ocorrência foi
detalhado, como mostra a Figura 64.
FIGURA 64 Determinar Causas
158
Nesta figura pode-se observar o gráfico de controle, baseado nos dados
simulados e a identificação das causas especiais, bem como o motivo de
ocorrência para cada uma delas.
Os motivos de ocorrência são descrições referentes ao porque do
acontecimento de uma determinada causa especial identificada. Para tal
descrição, podem ser realizadas reuniões entre a equipe do projeto
(Braistorming), com a finalidade de levantar opiniões para tal ocorrência e
formular um texto resumo de todo o levantamento.
Na Tabela 28, apenas um pequeno texto está sendo mostrado para cada
motivo de ocorrência, mas como comentário da célula, existem mais explicações
relacionadas ao motivo. Por exemplo:
TABELA 29 Representação da análise de variância
Id
3
Motivo de Ocorrência
Dificuldade de Comunicação
Comentários adicionais
Dificuldade de comunicação entre a organização
PM Teresina com a equipe de análise de requisitos.
Isto levou a uma falta de entendimento sobre a
atividade a ser desenvolvida por parte dos
desenvolvedores, na iteração 1, na fase de
desenvolvimento.
* Essas descrições referentes a Tabela 28 são fictícias
Deverá ser gerada uma planilha para cada medida selecionada. Neste
exemplo, a medida foi ‘Esforço’, mas assim como foi realizado para esta, devem
ser gerados gráficos de controle e identificação de causas especiais para todas as
outras medidas.
159
4.2.2.7 Identificar Mudanças
Nesta fase são identificadas as causas comuns influenciadoras no
Processo de Desenvolvimento de Software. Para tal identificação devem ser
realizados experimentos estatísticos relacionados a cada uma das medidas
selecionadas.
Neste exemplo, será mostrado o delineamento experimental para a
medida Esforço’, mais especificamente para a variável tempo das atividades *
número de pessoas, bem como os resultados obtidos pela realização de tal
experimento.
A Figura 65 apresenta o Delineamento para a medida esforço:
FIGURA 65 Identificar Mudanças: Delineamento para medida Esforço
Nesta figura são apresentadas características da medida esforço
relacionada ao PSM Insight e sua equivalência em termos Estatísticos, conforme
apresentado neste tópico, na seção de Correspondência entre CMMI – Seis
160
Sigma - PSM. Neste caso, a variável definida para análise estatística foi Número
de horas * Número de pessoas, que significa o número de horas gastas em uma
atividade multiplicado pelo número de pessoas envolvidas na mesma atividade.
Os fatores influenciadores foram: Iteração (3 níveis: 1, 2 e 3);
Organização (5 níveis: Canela-RS, Santa Clara-RS, Amparo-SP, Recreio-MG,
Campina Grande-PB).
Na parte inferior da Figura 65 podemos observar:
Link de dados: link para dados coletados referentes à variável Número
de horas * Número de pessoas;
Link Análise Completa: link para um documento contendo um relatório
completo sobre a análise realizada. Diretamente gerado pela ferramenta
para Delineamentos Experimentais escolhida;
Link Análise Resumida: link para um artefato que resume os principais
resultados obtidos pelo experimento. Ver Anexo B;
Link Análise Final: link para a planilha ‘DOE Esforço’ na qual estão
detalhadas as principais conclusões das análises e propostas para
alteração do processo. Ver Figura 66, a seguir.
FIGURA 66 Identificar Mudanças: Causas Comuns
161
Cada causa comum identificada possui um identificador único. Isto para
facilitar a localização das conclusões que influenciarão no processo e a forma de
influência destas causas, ou seja, se resultarão em alteração no processo ou não.
Na parte superior da Figura 66 listam-se as conclusões obtidas pela
realização do experimento delineado na Figura 65. Na parte inferior são
relatadas as propostas de alteração do processo, todas baseadas nas conclusões
identificadas anteriormente.
Caso seja necessário adicionar informações extras, estas podem ser
descritas utilizando o recurso de comentário de células da planilha eletrônica na
qual o artefato da Planilha Geral foi elaborado.
Como exemplo da utilização do recurso de comentário para a Causa
Comum de identificação igual a 3 - A Organização da PM Canela é inferior,
estatisticamente, em média, se comparada com as outras PMs - tem-se:
Obs.1: esta organização trabalha com maior rapidez, pois gasta um
menor número de horas em suas atividades se comparadas às outras
organizações.
Obs.2: não existem diferenças significativas estatisticamente entre o
número de horas gastas em atividades para as demais organizações.
Indicando que as outras organizações possuem o mesmo desempenho de
trabalho.
Trata-se de uma explicação mais detalhada da conclusão. Dessa forma,
são relatadas as conclusões e as propostas de alteração. De acordo com a
avaliação de aplicabilidade, as propostas são, ou não, pontos de alteração no
Processo de Desenvolvimento de Software.
É gerada uma planilha como a da Figura 65 para cada um dos
Delineamentos Experimentais definidos na planilha ‘DOE’.
162
4.2.3 Considerações Finais sobre o Tópico
A simulação aqui apresentada foi de grande valia para a obtenção de
dados, proporcionando a verificação da aplicabilidade do Processo de Medição a
um desenvolvimento de software real.
Os resultados obtidos por meio dessa simulação foram significativos,
pois possibilitaram a construção de gráficos de controle, bem como a análise de
experimentos, confirmando a possibilidade da aplicação do Processo de Medição
de Software em situações reais, contribuindo consideravelmente ao controle e
melhoria do processo.
Alguns problemas foram encontrados e tiveram de ser solucionados
durante a utilização do Processo de Medição de Software, conforme abaixo:
As primeiras simulações de dados foram pobres em termos de
possibilidade de análise, inviabilizando uma demonstração ampla da
aplicabilidade do Processo de Medição de Software. Outras simulações
tiveram de ser geradas, de forma a auxiliar em uma mais completa
apresentação do Processo de Medição de Software proposto nesta
dissertação;
Impossibilidade de realização de delineamentos experimentais antes da
realização do trabalho de correspondência entre Seis Sigma PSM. A
correspondência entre termos do PSM e conceitos estatísticos foi a
principal chave para um delineamento experimental que resultasse em
informações facilitadoras ao acompanhamento do projeto.
Pretende-se aplicar o Processo de Medição de Software a todo o
desenvolvimento do Projeto Via Digital, assim que ele comece a ser
desenvolvido pelas empresas de softwares responsáveis pelos sistemas de cada
uma das prefeituras.
163
5 CONCLUSÃO
A correspondência entre o Modelo CMMI e a Metodologia Estatística
do Seis Sigma possibilitou a identificação das principais atividades
necessárias para um Processo de Medição de Software significativo,
facilitando a obtenção de níveis 4 e 5 do CMMI para as empresas de
Software Brasileiras que o utilizarem.
A correspondência entre termos do PSM e Conceitos Estatísticos criou
uma linguagem de comunicação entre a Engenharia de Software, mais
especificamente com a área de Medição de Software e a Estatística. Esta
comunicação possibilita uma Organização Estatística dos dados
coletados de forma coerente, facilitando a obtenção de informações
concernentes ao Processo de Software utilizado.
O Processo de Medição de Software construído, com base no Modelo
CMMI e na metodologia Estatística do Seis Sigma, se mostrou
fortemente aplicável e informativo, no projeto piloto no qual foi
utilizado.
O principal objetivo da dissertação foi alcançado: criar um facilitador
para as empresas de software. Um Processo de Medição de Software que
serve como um “intérprete”, que faz com que as boas práticas da
Engenharia de Software se comuniquem com as técnicas já consolidadas
da Estatística.
Como a principal proposta de trabalho futuro tem-se:
Desenvolvimento de um sistema que se comunique, com todas as
ferramentas utilizadas no Processo de Medição proposto, integrando as
informações fornecidas por cada uma delas e facilitando ainda mais a
utilização deste processo.
164
REFERÊNCIAS BIBLIOGRÁFICAS
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. Gestão da
qualidade e garantia da qualidade: terminologia. NBR ISO 8402/1994. Rio de
Janeiro, 1994.
AGUIAR, M. PSM O CMM da mensuração de software? A PSM Transition
Organization, 2006.
BAUMOL, W.; BLACKMAN, S.; WOLF, E. Productivity and American.
Cambridge, 1991.
BASILI, V; S GREEN - Software, IEEE, 1994
BREYFOGLE III, F. W.; CUPELLO, J. M.; MEADOWS, B. Managing Six
Sigma: a practical guide to understanding, assessing and implementing the
strategy that yelds bottomline success. New York: J. Wiley, 2001.
DEMING, W. E. Qualidade: a revolução da administração. Rio de Janeiro:
Marques - Saraiva, 1990.
DONEGAN, P.; BANDEIRA L.; SAMPAIO M.; PIRES G. P. Métricas de
Software: um mapeamento entre Six Sigma e CMMI. In: SIMPROS, 2005.
ECKES, G. Six Sigma for Everyone. New Jersey: J. Wiley, 2003.
FENTON N. E.; NEIL, M. Software Metrics: Roadmap, Computer Science
Departament, London, UK Queen Mary and Westfield College, 2000.
FENTON N. E.; PFLEEGER S. L. Software Metrics: a rigorous & practical
approach. 2.ed. Boston, MA: PWS, 1997.
FLORAC, W. A.; CARLETON, A. D. Measuring the software process:
statistical process control for software process improvement. A. Wesley, 1999.
(The SEI Series in Software Engineering Institute).
165
GOETHERT, W.; FISCHER, M. “Deriving enterprise-based measures using
the balanced scorecard and goal-driven measurement techniques”. Software
Engineering Measurement and Analysis Initiative. CMU/SEI-2003-TN-024,
2003.
GOETHERT, W.; HAYES, W. “Experiences in Implementing
Measurements Programs”. Software Engineering Measurement and Analysis
Initiative. CMU/SEI- 2001-TN-026. 2001.
HARRY, M. J. The nature of Six Sigma qualit Motorola. Schaumburg, II.
Government Electronics Group, 1989.
HARRY, M.; SCHROEDER, R. Six Sigma, the breakthrough management
strategy revolutionizing the world’s top corporation. New York: Currency,
2000.
HOERL, R. Six Sigma black belts: what do they need to know? Journal of
Quality Technology, Milwaukee, v. 33, n. 4, p.391- 406, out. 2001.
HOLMES, L. IT Measurements practical advice from the experts. A.
Wesley, 2002.
HUMPHREY, W. S. Characterizing the software process. IEEE Software,
1988.
INSTITUTE OF ELETRICAL AND ELETRONICS AND ENGINEERS. Std
610.12-1990. Standard glossary of software engineering terminology.
Piscataway: IEEE, 1990.
INSIGHT. Manual de utilização do ferramenta PSM Insight. PSM guide
version 4.0. PSM. Disponível em: <www.psmsc.com>. Acesso em: 10 maio
2005.
LIMA, P. C.; ABREU, A. R.. Estatística experimental: ensaios balanceados.
Lavras: Universidade Federal de Lavras, 2001.
MCGARRY, J.; CARD, D.; JONES, C. Practical software measurement:
objective information for decision makers. Addison-Wesley, 2002.
NOMELINI, Q. S. S. Padrões de não-aleatoriedade no controle estatístico de
processo. Lavras : UFLA, 2007.
166
OLIVEIRA, M. S. Projeto de pesquisa para tese: programa de doutoramento
em engenharia de produção área de concentração qualidade, 1998.
OLIVEIRA, S. O. Qualidade de processo software: medição e análise.
Lavras: UFLA, 2006.
OMAN, P.; PFLEGEER S.L. Applying software metrics. Los Alamitos, CA:
IEEE Computer Society, 1997.
PARK R. E.; GOETHERT W. B.; FLORAC W. A. Goal-Driven software
measurement: a guidebook, CMU/SEI-96-HB-002, Pittsburgh, PA: Software
Engineering Institute, Carnegie Mellon University, 1996.
PAULK, M. C.; WEBER, C. V.; CURTIS, B.; CHRISSIS, M. B. et al. The
capability maturity model: guidelines for improving the software process.
Estados Unidos: A. Wesley, 1995.
PONDÉ, J. Competitividade da indústria de software. Campinas, 1993.
PRACTICAL SOFTWARE MEASUREMENT. PSM Insight Version 4.2.2.
Disponível em: <www.psmsc.com>. Acesso em: 15 jul. 2005.
REIS, D. A. F. dos. Seis Sigma: um estudo aplicado ao setor eletrônico. 2003.
Dissertação (Mestrado Profissional em Engenharia) - Universidade Federal do
Rio Grande do Sul, Porto Alegre.
ROTONDARO. Seis Sigma: estratégia gerencial para a melhoria de
processos, produtos e serviços. Atlas, 2002
RUBIN, H. The making measurement happen workshop. In:
INTERNATIONAL CONFERENCE ON APPLICATIONS OF SOFTWARE
MEASUREMENTS, 3., 1992, La Jolla. Proceedings La Jolla, California,
1992.
SEI, Software Engineering Institute, 4500 Fifth Avenue, Pittsburg. 2007.
SNEE, R. D. Impact of Six Sigma on quality engineering. Quality
Engineering, 2000.
SOUZA, A. D. Estudo e avaliação da área de processo de planejamento de
projeto de acordo com o modelo CMMI-SW Nível 2 na empresa SWQuality
167
situada em Lavras-MG. Disponível em:
<http://www.comp.ufla.br/curso/ano2004/>. Acesso em: 15 nov. 2004.
STAMATIS, D. H. Six Sigma fundamental: a complete guide to the system,
methods and tools. New York: Productivity, 2004.
USEVICIUS, L. A. Implantação da metodologia Seis Sigma e aplicação da
técnica estatística projeto de experimentos na resolução de problemas e
otimização de processos de fabricação. 2004. Dissertação (Mestrado
Profissional em Engenharia de Produção) - Universidade Federal do Rio Grande
do Sul, Porto Alegre.
WERKEMA, M. C. C. Criando a cultura Seis Sigma. Nova Lima: Werkema,
2004. v.1.
ZUBROW, D. Measurement with a focus: goal-driven software. The journal
of Defense Software Engineering, 1998.
168
7 ANEXOS
ANEXO A Página
FIGURA 1A Artefato do Processo de Medição para Documentação Resumida
dos Delineamentos Experimentais Realizados. TEMPLATE na finalidade de
documentar os principais resultados obtidos com Análises de Variância
realizadas durante a utilização do Processo de
Medição.............................................................................................................226
ANEXO B Página
FIGURA 1B Artefato do Processo de Medição para Documentação Resumida do
Delineamento Experimental Realizado para a Medida Esforço por meio de
Dados Simulados...............................................................................................227
ANEXO C Página
TABELA 1C Dados de Simulação para a Medida Esforço na Finalidade de
Possibilitar a Utilização Piloto do Processo de Medição de
Software.............................................................................................................229
ANEXO D Página
TABELA 1D Demonstração de Cálculo de ppm para Diferentes Níveis de
Sigma.................................................................................................................232
ANEXO E Página
TABELA 1E Constantes para Construção dos Gráficos de Controle
(Montgomery, 2004) ........................................................................................233
169
ANEXO A
170
ANEXO B
Medida
Esforço
Delineamento
Fatorial em DBC
Responsável
Rafael Vargas Mesquita
Fatores Níveis
Iteração 1
2
3
Organização PM Santa Clara
PM Canela
PM Teresina
PM Recreio
PM Amparo
Atividade Desenvolvimento
Planejamento
Teste
Variável Número de Horas * Número de Pessoas
.
TABELA DE ANÁLISE DE VARIÂNCIA
--------------------------------------------------------------------------
FV GL SQ QM Fc Pr>Fc
--------------------------------------------------------------------------
BLOCOS 2 82.893547 41.446773 0.394 0.6760
ATIVIDADES 2 1596.410087 798.205043 7.582 0.0010
ORGANIZACA 4 1346.566573 336.641643 3.198 0.0178
ATIVIDADES*ORGAN 8 1384.089847 173.011231 1.643 0.1274
erro 73 7684.796387 105.271183
--------------------------------------------------------------------------
Total corrigido 89 12094.756440
--------------------------------------------------------------------------
CV (%) = 19.01
Média geral: 53.9653333 Número de observações: 90
--------------------------------------------------------------------------
Obs. Codificações usadas para as FV do quadro de ANAVA
--------------------------------------------------------------------------
1: BLOCOS
2: ATIVIDADES
3: ORGANIZACA
4: ATIVIDADES*ORGAN
5: Fim
171
TESTES: TUKEY
BLOCOS
Tratamentos Médias Resultados do teste
--------------------------------------------------------------------------
2 52,929333 a1
3 53,724000 a1
1 55,242667 a1
--------------------------------------------------------------------------
ATIVIDADES
Tratamentos Médias Resultados do teste
--------------------------------------------------------------------------
Planejamento 50,145667 a1
Teste 51,917333 a1
Desenvolvimento 59,833000 a2
--------------------------------------------------------------------------
ORGANIZAÇÃO
Tratamentos Médias Resultados do teste
--------------------------------------------------------------------------
PM Canela 48,315000 a1
PM Recreio 51,799444 a1 a2
PM Santa Clara 53,131111 a1 a2
PM Amparo 58,089444 a2
PM Teresina 58,491667 a2
--------------------------------------------------------------------------
*As médias nas linhas seguidas das mesmas letras não diferem estatisticamente entre si.
RESULTADO FINAL
Os resultados observados para a variável ‘horas’, que na verdade corresponde ao número
de horas trabalhadas por pessoa, indicam que:
Blocos: os níveis do fator iteração não diferem estatisticamente entre si. Neste caso,
os blocos estão representando o fator iteração, o qual possui os seguintes níveis:
Iteração 1, Iteração 2 e Iteração 3. Isto significa que não existem diferenças entre as
horas gastas nas atividades por iteração;
Atividades: a atividade de desenvolvimento é superior, em média, se comparada
com as atividades de planejamento e teste. Essa é uma atividade mais dispendiosa,
demandando maior quantidade de tempo para sua realização;
Organização: a organização da PM Canela é inferior, estatisticamente, em média,
se comparada com as outras PMs. Ou seja, trabalha com maior rapidez, pois gasta
um menor número de horas em suas atividades se comparadas às outras
organizações. Observou-se também que não existe diferença estatisticamente
significativa entre o número de horas gastas em atividades para as demais
organizações.
172
ANEXO C
Projeto: Via Digital
Item: Recursos e Custo
Categoria: Pessoal
Medida: Esforço
Média geral 50,00
Fatores Variáveis Resíduos
Blocos (Iteração) EB Atividade EA
Organização EO
Horas*Pessoa N(0;DP=9)
1
3
Desenvolvimento 5
PM Santa Clara 0
55,30
-2,702089432
1
3
Desenvolvimento 5
PM Canela -2
34,50
-11,49914851
1
3
Desenvolvimento 5
PM Teresina 5
90,20
2,198315769
1
3
Desenvolvimento 5
PM Recreio -1
68,49
11,48826186
1
3
Desenvolvimento 5
PM Amparo 5
73,79
10,78515197
1
3
Desenvolvimento 5
PM Santa Clara 0
73,60
15,59819793
1
3
Desenvolvimento 5
PM Canela -2
36,35
-19,65228876
1
3
Desenvolvimento 5
PM Teresina 5
60,89
-2,10763119
1
3
Desenvolvimento 5
PM Recreio -1
66,86
9,855202734
1
3
Desenvolvimento 5
PM Amparo 5
53,22
-9,780305845
1
3
Planejamento 2
PM Santa Clara 0
48,79
-6,211837444
1
3
Planejamento 2
PM Canela -2
37,79
-15,21389095
1
3
Planejamento 2
PM Teresina 5
43,38
-16,62219802
1
3
Planejamento 2
PM Recreio -1
45,20
-8,798665476
1
3
Planejamento 2
PM Amparo 5
53,04
-6,961563486
1
3
Planejamento 2
PM Santa Clara 0
35,94
-19,06138095
1
3
Planejamento 2
PM Canela -2
47,89
-5,111323844
1
3
Planejamento 2
PM Teresina 5
56,36
-3,636428119
1
3
Planejamento 2
PM Recreio -1
55,21
1,213677479
1
3
Planejamento 2
PM Amparo 5
56,71
-3,289436563
1
3
Teste -2
PM Santa Clara 0
48,06
-2,942915671
1
3
Teste -2
PM Canela -2
45,67
-3,332164624
1
3
Teste -2
PM Teresina 5
68,08
12,08377398
1
3
Teste -2
PM Recreio -1
49,23
-0,767560095
1
3
Teste -2
PM Amparo 5
54,32
-1,675418844
1
3
Teste -2
PM Santa Clara 0
46,38
-4,618866569
1
3
Teste -2
PM Canela -2
66,75
17,74990778
1
3
Teste -2
PM Teresina 5
63,79
7,79105676
1
3
Teste -2
PM Recreio -1
71,38
21,38089258
1
3
Teste -2
PM Amparo 5
50,11
-5,89416004
2
1
Desenvolvimento 5
PM Santa Clara 0
70,95
14,95310244
173
2
1
Desenvolvimento 5
PM Canela -2
39,49
-14,51157914
2
1
Desenvolvimento 5
PM Teresina 5
65,85
4,850535333
2
1
Desenvolvimento 5
PM Recreio -1
63,12
8,119723134
2
1
Desenvolvimento 5
PM Amparo 5
78,27
17,27024028
2
1
Desenvolvimento 5
PM Santa Clara 0
55,24
-0,76065362
2
1
Desenvolvimento 5
PM Canela -2
49,29
-4,714155466
2
1
Desenvolvimento 5
PM Teresina 5
67,08
6,076245427
2
1
Desenvolvimento 5
PM Recreio -1
51,57
-3,431914593
2
1
Desenvolvimento 5
PM Amparo 5
67,82
6,818502243
2
1
Planejamento 2
PM Santa Clara 0
40,00
-12,99767973
2
1
Planejamento 2
PM Canela -2
43,37
-7,625137641
2
1
Planejamento 2
PM Teresina 5
44,31
-13,69413894
2
1
Planejamento 2
PM Recreio -1
48,73
-3,265893156
2
1
Planejamento 2
PM Amparo 5
57,71
-0,292312734
2
1
Planejamento 2
PM Santa Clara 0
53,25
0,253053258
2
1
Planejamento 2
PM Canela -2
48,10
-2,904444045
2
1
Planejamento 2
PM Teresina 5
77,75
19,75051418
2
1
Planejamento 2
PM Recreio -1
36,32
-15,68234438
2
1
Planejamento 2
PM Amparo 5
51,37
-6,628292795
2
1
Teste -2
PM Santa Clara 0
25,80
-23,1982267
2
1
Teste -2
PM Canela -2
60,03
13,02903001
2
1
Teste -2
PM Teresina 5
42,48
-11,51787274
2
1
Teste -2
PM Recreio -1
42,12
-5,882219511
2
1
Teste -2
PM Amparo 5
60,82
6,819423106
2
1
Teste -2
PM Santa Clara 0
53,20
4,200405783
2
1
Teste -2
PM Canela -2
54,87
7,871478829
2
1
Teste -2
PM Teresina 5
59,36
5,361675903
2
1
Teste -2
PM Recreio -1
35,65
-12,34664978
2
1
Teste -2
PM Amparo 5
43,96
-10,04164687
3
-1
Desenvolvimento 5
PM Santa Clara 0
60,25
6,245950317
3
-1
Desenvolvimento 5
PM Canela -2
54,90
2,903727818
3
-1
Desenvolvimento 5
PM Teresina 5
50,54
-8,458539469
3
-1
Desenvolvimento 5
PM Recreio -1
50,83
-2,168530955
3
-1
Desenvolvimento 5
PM Amparo 5
60,18
1,183821041
3
-1
Desenvolvimento 5
PM Santa Clara 0
59,02
5,020178833
3
-1
Desenvolvimento 5
PM Canela -2
53,25
1,248434955
3
-1
Desenvolvimento 5
PM Teresina 5
50,80
-8,198651358
3
-1
Desenvolvimento 5
PM Recreio -1
69,96
16,96361323
3
-1
Desenvolvimento 5
PM Amparo 5
63,38
4,384783097
3
-1
Planejamento 2
PM Santa Clara 0
51,65
0,650150014
174
3
-1
Planejamento 2
PM Canela -2
56,47
7,468570402
3
-1
Planejamento 2
PM Teresina 5
63,76
7,758069387
3
-1
Planejamento 2
PM Recreio -1
44,27
-5,728783208
3
-1
Planejamento 2
PM Amparo 5
47,69
-8,308725228
3
-1
Planejamento 2
PM Santa Clara 0
61,00
10,00069915
3
-1
Planejamento 2
PM Canela -2
38,19
-10,81060873
3
-1
Planejamento 2
PM Teresina 5
41,97
-14,03002898
3
-1
Planejamento 2
PM Recreio -1
56,40
6,401924111
3
-1
Planejamento 2
PM Amparo 5
61,75
5,745655471
3
-1
Teste -2
PM Santa Clara 0
66,85
19,85119525
3
-1
Teste -2
PM Canela -2
57,99
12,99379164
3
-1
Teste -2
PM Teresina 5
63,74
11,7351351
3
-1
Teste -2
PM Recreio -1
47,02
1,016643409
3
-1
Teste -2
PM Amparo 5
52,02
0,017557795
3
-1
Teste -2
PM Santa Clara 0
51,08
4,083312888
3
-1
Teste -2
PM Canela -2
44,77
-0,229632633
3
-1
Teste -2
PM Teresina 5
42,51
-9,492075606
3
-1
Teste -2
PM Recreio -1
30,03
-15,97325536
3
-1
Teste -2
PM Amparo 5
59,45
7,454982551
175
ANEXO D
Porcentagem ppm de Defeitos
Limite
Sem Desvio Com Desvio
ppm de Defeitos Sem Desvio Detalhes Com Desvio
0,999999998
0,999996602
1 – Dist.Norm (6; 0; 1) 0,0000000010
1 - Dist.Norm (7,5; 0; 1) 0,0000000000
1 – Dist.Norm (6; 0; 1) 0,0000000010
1 - Dist.Norm (4,5; 0; 1) 0,0000033977
6
Total
0,002
Total
3,398
0,999999427
0,999767371
1 - Dist.Norm (5; 0; 1) 0,0000002867
1 - Dist.Norm (6,5; 0; 1) 0,0000000000
1 - Dist.Norm (5; 0; 1) 0,0000002867
1 - Dist.Norm (3,5; 0; 1) 0,0002326291
5
Total
0,573
Total
232,629
0,999936658
0,993790316
1 - Dist.Norm (4; 0; 1) 0,0000316712
1 - Dist.Norm (5,5; 0; 1) 0,0000000190
1 - Dist.Norm (4; 0; 1) 0,0000316712
1 - Dist.Norm (2,5; 0; 1) 0,0062096653
4
Total
63,342
Total
6209,684
0,997300204
0,933189401
1 - Dist.Norm (3; 0; 1) 0,0013498980
1 - Dist.Norm (4,5; 0; 1) 0,0000033977
1 - Dist.Norm (3; 0; 1) 0,0013498980
1 - Dist.Norm (1,5; 0; 1) 0,0668072013
3
Total
2699,796
Total
66810,599
0,954499736
0,691229832
1 - Dist.Norm (2; 0; 1) 0,0227501319
1 - Dist.Norm (3,5; 0; 1) 0,0002326291
1 - Dist.Norm (2; 0; 1) 0,0227501319
1 - Dist.Norm (0,5; 0; 1) 0,3085375387
2
Total
45500,264
Total
308770,168
0,682689492
0,302327873
1 - Dist.Norm (1; 0; 1) 0,1586552539
1 - Dist.Norm (2,5; 0; 1) 0,0062096653
1 - Dist.Norm (1; 0; 1) 0,1586552539
1- Dist.Norm (-0,5; 0; 1) 0,6914624613
1
Total
317310,508
Total
697672,127
Obs: as funções usadas são do EXCEL.
176
ANEXO E
177
8 GLOSSÁRIO
Artefato: é o produto de uma ou mais atividades dentro do contexto do
desenvolvimento de um software ou sistema.
Bug: é um erro no funcionamento comum de um software, também chamado de
falha na lógica programacional de um programa de computador, que pode causar
falhas no objetivo de uma ação na utilização de um programa de computador.
Hipertexto: é um texto suporte que acopla outros textos em sua superfície, cujo
acesso se através dos links que têm a função de conectar a construção de
sentido, estendendo ou complementando o texto principal. Em computação,
hipertexto é um sistema para a visualização de informação cujos documentos
contêm referências internas para outros documentos (chamadas de hiperlinks ou,
simplesmente, links), e para a fácil publicação, atualização e pesquisa de
informação.
Stakeholder: parte interessada ou interveniente. Refere-se a todos os envolvidos
em um processo, por exemplo, clientes, colaboradores, investidores,
fornecedores, comunidade etc.
Baseline: referencial utilizado para medir e monitorar o desempenho do projeto.
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo