• Nenhum resultado encontrado

Definição de um catálogo de medidas para a análise de desempenho de processo de software

N/A
N/A
Protected

Academic year: 2017

Share "Definição de um catálogo de medidas para a análise de desempenho de processo de software"

Copied!
198
0
0

Texto

(1)

z

PROGRAMA DE PÓS-GRADUAÇÃO STRICTO SENSU EM

GESTÃO DO CONHECIMENTO E DA TECNOLOGIA DA INFORMAÇÃO

Mestrado

DEFINIÇÃO DE UM CATÁLOGO DE MEDIDAS

PARA A ANÁLISE DE DESEMPENHO DE

PROCESSO DE SOFTWARE

Autor: Luis Felipe Salin Monteiro

Orientador: Profª Drª Káthia Marçal de Oliveira

(2)

LUIS FELIPE SALIN MONTEIRO

Definição de um Catálogo de Medidas para a Análise de Desempenho de

Processo de Software

Dissertação apresentada ao Programa de Pós-Graduação

Strictu Sensu em Gestão do Conhecimento e Tecnologia

da Informação da Universidade Católica de Brasília, como

requisito para obtenção do Título de Mestre em Gestão do

Conhecimento e Tecnologia da Informação.

Orientadora

: Prof.ª Dra. Káthia Marçal de Oliveira

(3)

Ficha elaborada pela Coordenação de Processamento do Acervo do SIBI – UCB.

Dissertação (mestrado) – Universidade Católica de Brasília, 2008.

Orientador: Káthia Marçal de Oliveira

1. Software – Medição. 2. Software - Desempenho. I. Oliveira,

Kathia Marçal de, orient. II. Título.

(4)
(5)

Agradecimentos

A Deus por ter-me concedido saúde, paz e a oportunidade de realizar este trabalho.

À minha esposa Suzana por ter compreendido os longos momentos de ausência,

dedicados inteiramente à elaboração deste trabalho.

Aos meus pais e irmãos pela convivência acolhedora, incentivo à pesquisa e educação

exemplar transmitida durante toda a minha vida, que culmina hoje com a publicação deste

trabalho.

À minha orientadora Dra. Káthia, pela orientação e cobrança constantes, mantendo a

motivação e persistência que me fizeram concluir esta pesquisa.

Aos meus colegas Ricardo Ajax, Luiz Carlos Ribeiro e Ana Paula Fukuda, pelo apoio

e por estarem sempre disponíveis para dividir idéias sobre a pesquisa.

(6)

RESUMO

Projetos de desenvolvimento de software têm apresentado problemas recorrentes de

desempenho de custo, prazo e qualidade. A complexidade de gestão destes projetos requer

que medidas de desempenho e técnicas de gestão quantitativa sejam aplicadas para identificar

de forma precisa a situação do projeto e prever a sua capacidade de atender aos objetivos

futuros. Contudo, os estudos a respeito deste tema apresentam exemplos de fracassos na

implantação de programas de medições nas organizações, devido à definição de um grande

número de medidas inúteis, muito complexas, não padronizadas e desalinhadas com a

estratégia da organização. Torna-se importante, então, identificar as medidas relevantes para a

avaliação de desempenho dos processos envolvidos no desenvolvimento de software.

Considerando que as áreas de processos da categoria de engenharia do CMMI-DEV

(

Capability Maturity Model Integration for Development

) correspondem à maior parcela do

esforço dos projetos de software, esta pesquisa tem como objetivo identificar um catálogo de

medidas que permitam a análise de desempenho destes processos. Para tal, foram coletadas e

classificadas as medidas de desempenho de software mais referenciadas na literatura. Estas

medidas foram então consolidadas em indicadores e organizadas em um catálogo, que permite

a análise do desempenho dos processos das áreas de processos de engenharia do modelo

CMMI-DEV, a partir de diferentes perspectivas de desempenho. Esta pesquisa apresenta um

exemplo da aplicação de algumas medidas do catálogo em um projeto de software, sugerindo

os passos para a implantação do catálogo nas organizações que buscam a análise precisa do

desempenho de seus processos de desenvolvimento de software.

(7)

ABSTRACT

Software development projects have showed recurring problems of performance on costs,

schedule and quality. The high complexity of managing these projects requires that

performance measures and quantitative management techniques be applied to identify

precisely the project’s situation and its ability to meet future goals. However, studies on this

subject have show several examples of failures in the implementation of measurement

programs due to a large number of complex, not standardized and unnecessary measures, not

aligned with the organization strategy. It is important to identify relevant measures to assess

the performance of the processes involved in software development. Considering that the

engineering process areas of CMMI-DEV (Capability Maturity Model for Development)

represents the largest amount of effort involved in software projects, this research aims to

identify a catalogue of measures, which allow the performance analysis of these processes. To

this end, the software performance measures most referenced in the literature were collected

and classified. These measures were then consolidated into indicators and organized in a

catalogue, which allows the analysis from different performance perspectives of the

engineering processes areas of CMMI-DEV. This research presents an application example of

the catalog of measures, and suggests the steps for the deployment of the catalog in

organizations that aims to precisely analyze the performance of its software development

processes.

(8)

LISTA DE FIGURAS

Figura 1: As três dimensões críticas de uma organização (Chrissis, Konrad, Shrum, 2003a, p.

4). ... 7

Figura 2: Áreas de processo envolvidas na gestão quantitativa (Adaptado de SEI, 2002). ... 19

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

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

264) ... 27

Figura 5: Testes de instabilidade de processo ... 33

Figura 6: Passos para desenvolvimento do catálogo de medidas ... 38

Figura 7: Índice de desempenho de custos (XmR) ... 72

Figura 8: Índice de desempenho de prazo (XmR) ... 73

Figura 9: Valor agregado (Curva S) ... 73

Figura 10: Variação de custo ... 74

Figura 11: Orçamento no término ... 74

Figura 12: Cobertura de testes (XmR) ... 78

Figura 13: Custo da qualidade (Barras) ... 81

Figura 14: Percentual de custo da qualidade (XmR) ... 82

Figura 15: u Chart de Densidade de defeitos ... 85

Figura 16: Diagrama de Pareto de Densidade de defeitos ... 85

Figura 17: Eficácia de testes (XmR) ... 88

Figura 18: Eficácia de revisão (XmR) ... 89

Figura 19: Taxa de mudanças (XmR) ... 92

Figura 20: Volatilidade de requisitos (XmR) ... 93

Figura 21: Prazo de ciclo (barras)... 95

Figura 22: Prazo de ciclo relativo ao tamanho (XmR) ... 96

Figura 23: Prazo médio para a falha (XmR) ... 98

Figura 24: Produtividade (XmR) ... 101

Figura 25: Taxa de entrega (PF/mês) (XmR) ... 102

Figura 26: Reuso de código (XmR) ... 104

Figura 27: Taxa de remoção de defeitos (XmR) ... 107

(9)

Figura 29: Taxa de retrabalho por disciplina (Pareto) ... 110

Figura 30: Variação de esforço total (XmR) ... 113

Figura 31: Variação de esforço por disciplina (Pareto) ... 113

Figura 32: Variação de prazo total (XmR) ... 116

Figura 33: Variação de prazo por disciplina (Pareto) ... 116

Figura 34: Variação de tamanho (XmR) ... 119

Figura 35: Cartas XmR para medida de IDC do projeto ... 128

Figura 36: Cartas XmR para a medida IDP do projeto ... 129

Figura 37: Densidade de defeitos total do projeto ... 130

(10)

LISTA DE QUADROS

Quadro 1: Estrutura do modelo CMMI-DEV (SEI, 2006a, p. 31) ... 9

Quadro 2: Áreas de processo do modelo CMMI-DEV (Adaptado de SEI, 2006a, p. 44) ... 10

Quadro 3: Escalas de medição (FENTON; PFLEEGER, 1997, p. 45-53) (KAN, 2003, p.

59-61) (ISO/IEC, 2002, p. 5) ... 13

Quadro 4: Comparação dos modelos de especificação de medida ... 16

Quadro 5: Ferramentas para gestão quantitativa de projetos ... 23

Quadro 6: Resumo dos tipos de cartas de controle ... 28

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

95) ... 31

Quadro 8: Fórmulas para o gráfico de controle

u Chart

(Adaptado de Florac e Carleton, 1999,

p. 116) ... 32

Quadro 9: Medidas redundantes em diferentes trabalhos pesquisados ... 41

Quadro 10: Categorias de medição ... 41

Quadro 11: Exemplos de categorização de medidas ... 42

Quadro 12: Exemplos de eliminação de redundância pelo nome e descrição das medidas .... 43

Quadro 13: Exemplos de eliminação de redundâncias pela fórmula das medidas ... 45

Quadro 14: Exemplos de medidas cuja relação com as APs do CMMI-DEV é apresentada na

literatura... 48

Quadro 15: Exemplos de medidas cuja relação com as APs do CMMI-DEV foi identificada a

partir de suas características ... 50

Quadro 16: Conjunto final de medidas do catálogo ... 56

Quadro 17: Distribuição das medidas do catálogo por categoria e área de processo ... 59

Quadro 18: Exemplos de diferentes interpretações das medidas para cada área de processo . 61

Quadro 19: Definição dos indicadores e medidas a serem especificadas no catálogo ... 66

Quadro 20: Distribuição dos indicadores do catálogo por categoria e área de processo ... 69

Quadro 21: Linha de base para as medidas IDC e IDP (XmR)... 127

Quadro 22: Linha de base para a medida de Densidade de defeitos (u

Chart

) ... 127

(11)

LISTA DE TABELAS

Tabela 1: Distribuição de medidas por categoria ... 42

Tabela 2: Distribuição de medidas por área de processo ... 48

Tabela 3: Lista de medidas referenciadas por três ou mais autores ... 52

Tabela 4: Medidas eliminadas pela redundância de objetivo ... 54

(12)

SUMÁRIO

1.

Introdução ... 1

1.1.

Motivação e contexto ... 1

1.2.

Objetivos ... 3

1.2.1.

Objetivo geral ... 3

1.2.2.

Objetivos específicos ... 3

1.3.

Metodologia ... 4

1.3.1.

Classificação da pesquisa ... 4

1.3.2.

Hipóteses e suposições ... 4

1.3.3.

Coleta de dados... 5

1.3.4.

Organização da dissertação ... 6

2.

Referencial teórico ... 7

2.1.

Processos de software ... 7

2.1.1.

Modelos de processos de software ... 8

2.2.

Medição de software... 11

2.2.1.

Conceituação ... 11

2.2.2.

Fatores críticos da implantação de programas de medição ... 13

2.2.3.

Modelos de especificação de medidas ... 15

2.2.4.

Medidas de processos de software... 15

2.3.

Análise de desempenho de processos de software ... 18

2.3.1.

Análise de desempenho de processos segundo o modelo CMMI-DEV ... 18

2.3.2.

Entendimento do desempenho do processo organizacional ... 20

2.3.3.

Importância da estabilidade do processo ... 21

2.3.4.

Ferramentas de análise de desempenho de processos ... 22

2.3.5.

Gráficos de controle ... 24

2.4.

Gestão quantitativa de projetos de software ... 34

2.5.

Considerações finais do capítulo ... 36

3.

Definição do catálogo de Medidas ... 37

3.1.

Visão geral dos passos para definição do catálogo ... 37

3.2.

Seleção das medidas de desempenho de software ... 40

3.2.1.

Revisão da literatura e identificação das medidas ... 40

3.2.2.

Categorização das medidas ... 41

(13)

3.2.4.

Mapeamento das medidas em relação ao CMMI-DEV ... 47

3.2.5.

Seleção das medidas mais referenciadas na literatura ... 50

3.3.

Consolidação do catálogo ... 62

3.3.1.

Seleção do modelo de especificação de indicador ... 62

3.3.2.

Seleção do conjunto de indicadores a serem especificados ... 65

3.3.3.

Seleção de técnicas para a gestão quantitativa de projetos ... 70

3.3.4.

Especificação dos indicadores e consolidação do catálogo ... 70

3.4.

Considerações finais do capítulo ... 120

4.

Exemplo de Uso do Catálogo de Medidas ... 122

4.1.

Caracterização do estudo de caso ... 122

4.2.

Seleção dos processos e medidas de desempenho ... 123

4.3.

Coleta de dados de desempenho dos processos ... 124

4.4.

Definição da linha de base de desempenho dos processos ... 126

4.5.

Avaliação do desempenho dos processos ... 128

4.6.

Considerações finais do capítulo ... 131

5.

Conclusão ... 132

Referências Bibliográficas ... 135

APÊNDICE A

- Lista completa de medidas citadas na literatura ... 143

(14)

1.

INTRODUÇÃO

1.1.

Motivação e contexto

Projetos de desenvolvimento de software têm demonstrado problemas recorrentes de

desempenho, sendo que a maioria destes projetos utiliza mais recursos e tempo do que o

planejado e provê menos funcionalidades e qualidade no produto do que o esperado

(BARROS; WERNER; TRAVASSOS, 2006, p. 1).

Após diversos anos de falhas e compromissos não atingidos, torna-se necessário

encontrar uma forma mais adequada de produzir produtos e serviços de software (FLORAC;

CARLETON, 1999, p. 1). A complexidade de gestão de projetos de desenvolvimento de

software requer que, além da experiência do gerente de projetos, técnicas de gestão

quantitativa sejam aplicadas de forma a perceber objetivamente a situação do projeto e prever

a sua capacidade em atender aos seus objetivos.

O sucesso dos projetos de software depende da capacidade da organização prever o

seu desempenho e assumir compromissos atingíveis. Processos efetivos de medição auxiliam

no gerenciamento destes projetos, pois permitem à organização entender a sua capacidade de

forma a desenvolver planos atingíveis para a entrega de produtos e serviços (FLORAC;

CARLETON, 1999, p. 10).

Modelos de melhoria de processos como o CMMI-DEV (SEI, 2006a, p. 58), afirmam

que a gestão quantitativa de projetos envolve a aplicação de técnicas estatísticas para

gerenciar o desempenho do projeto e a qualidade do produto de software.

Diversos autores (HALL; FENTON, 1997) (TAKARA; BETTIN; TOLEDO, 2007)

(AGRESTI, 2006) (BERANDER; JÖNSSON, 2006) (MUKHOPADHYAY; KRISHNAN,

2005) expõem as barreiras e melhores práticas da implantação de medições no contexto de

uma organização de software. As melhores práticas buscam normalmente uniformizar e

simplificar os mecanismos de medição, tornando mais clara e menos custosa esta atividade

para o processo de desenvolvimento de software.

(15)

e Grinter (1998) afirmam que a implementação de um programa efetivo de medições é uma

tarefa árdua e de alto risco.

Com o passar do tempo, os autores passaram a focar seus trabalhos na avaliação dos

programas de medições em prática nas organizações. Takara, Bettin e Toledo (2007), Agresti

(2006) e Berander e Jönsson (2006) abordam o problema da grande quantidade de medidas

inúteis e acrescentam que esta realidade tem como conseqüência a perda do foco e

credibilidade dos programas de medições. Agresti (2006) e Berander e Jönsson (2006),

propõem diferentes

frameworks,

apoiados na utilização do GQM (

Goal Question Metric),

introduzido por Basili, Caldiera e Rombach (2002), como ferramenta de apoio à definição de

medidas efetivas.

Nesta mesma linha de trabalho, Hall e Fenton (1997) e Gopal, Mukhopadhyay e

Krishnan (2005), avaliam diferentes programas de medições em corporações de TI por meio

de pesquisas com o objetivo de obter o nível de aceitação das medições pelos profissionais

das organizações. Os resultados esclarecem os principais aspectos a considerar para a

implantação de um programa efetivo de medições.

Diversos trabalhos abordam a aplicação de medições orientada por modelos de

maturidade e capacidade, como o CMMI (

Capability Maturity Model Integration

). O SEI

(2006b) realizou uma pesquisa envolvendo 2.109 profissionais com o objetivo de avaliar o

estado da prática dos programas de medição de processos nas organizações de software. Os

resultados do estudo apresentam as principais abordagens e tipos de medidas em uso, bem

como as barreiras para o seu uso efetivo e concluem que ainda é precária a utilização de

medições para apoio aos projetos nas organizações de software.

O trabalho de Takara, Bettin e Toledo (2007) aborda a estratégia, desafios e lições

aprendidas no caminho do nível 3 para o nível 4 do modelo CMMI em uma organização

brasileira. Os autores ressaltam a importância das medições na gestão de processos de

desenvolvimento de software, principalmente relacionadas ao controle do cronograma, custo,

escopo e qualidade. Entre as barreiras apresentadas no artigo, destacam-se:

A dificuldade de atingir a cobertura entre medidas e as áreas de processo do

modelo CMMI;

O problema de definição de medidas nos níveis 2 e 3 do modelo sem a

compreensão das necessidades dos níveis de maturidade superiores;

(16)

Autores como Johnson et al (2005) e Lawler e Kitchenham (2003) apresentam as

diferenças entre a teoria e prática de medições de software, e criticam a falta de padrões nas

medidas e no processo de coleta e análise. Esta realidade torna alto o custo da coleta de

medidas pelas equipes e mantém incerto o valor agregado para a gestão dos projetos.

Eickelmann e Anant (2003) criticam a aplicação indiscriminada de gráficos de

controle e a definição de seus limites argumentando que as características dos processos de

software exigem uma adaptação destas técnicas para que se tornem efetivas.

Apesar da contribuição real das medições na gestão de projetos de software, muito

trabalho ainda precisa ser realizado para que as organizações de software utilizem as medidas

de desempenho de processos de forma efetiva (SEI, 2006b). A implementação de um processo

de gestão quantitativa de projetos de software é normalmente equivocada, pois as medidas são

definidas sem a devida avaliação da sua utilidade para gestão e do seu alinhamento aos

objetivos da organização. (HALL; FENTON, 1997) (BERANDER; JÖNSSON, 2006).

Nesse contexto, uma questão importante a ser resolvida é: quais são as medidas

relevantes de serem consideradas na avaliação do desempenho dos processos de

desenvolvimento de software? De forma mais específica, quais medidas são pertinentes para a

análise de desempenho dos processos das áreas de processos da categoria de engenharia do

modelo CMMI-DEV

1

, considerando que esses são os processos centrais do desenvolvimento

de software?

1.2.

Objetivos

1.2.1.

Objetivo geral

O presente trabalho tem por objetivo estabelecer um catálogo de medidas que permita

à análise de desempenho dos processos das áreas de processos da categoria de engenharia do

CMMI-DEV.

1.2.2.

Objetivos específicos

i.

Selecionar medidas relacionadas às áreas de processos da categoria de

engenharia do CMMI-DEV a partir do conjunto de medidas tipicamente

utilizadas nas organizações e as propostas de medidas encontradas na literatura;

1 As áreas de processos da categoria de Engenharia do modelo CMMI-DEV são: Desenvolvimento de

(17)

ii.

Consolidar as medidas em indicadores de desempenho de processo;

iii.

Especificar as medidas e seus indicadores, definindo os métodos de coleta e

análise dos dados e os critérios de decisão sobre o desempenho dos processos,

organizando todas informações em um catálogo;

iv.

Realizar um exemplo de aplicação do catálogo de medidas em um projeto de

desenvolvimento de software, considerando a análise de desempenho dos

processos das áreas de processos da categoria de engenharia do CMMI-DEV.

1.3.

Metodologia

1.3.1.

Classificação da pesquisa

Segundo Moresi (2004, p. 11-14) uma pesquisa pode ser classificada quanto a sua

natureza, abordagem, fins e meios.

O presente trabalho tem por objetivo identificar um conjunto de medidas que permita a

análise de desempenho de processos de software . Portanto, a pesquisa caracteriza-se como

aplicada

quanto à sua natureza, já que pretende gerar conhecimentos para aplicações práticas,

dirigidas à solução de um problema específico.

Quanto à abordagem utilizada, a pesquisa caracteriza-se como

qualitativa

, pois

buscará apresentar um exemplo prático da utilização do catálogo na definição de medidas nas

organizações e nos seus projetos.

A pesquisa irá propor instrumentos, caminhos e procedimentos para a gestão

quantitativa de projetos de software, tratando-se, portanto, de um instrumento de captação e

manipulação da realidade, configurando-se como pesquisa

metodológica

quanto aos fins.

Quanto aos meios de investigação, será realizada uma busca em material científico

publicado em livros, revistas e jornais, o que caracteriza a pesquisa como

bibliográfica

. A

partir do referencial teórico e do catálogo de medidas estabelecido, será realizada uma

aplicação prática

em campo

das medidas do catálogo na análise de desempenho dos

processos de um projeto de desenvolvimento de software.

1.3.2.

Hipóteses e suposições

(18)

As áreas de processos do modelo CMMI-DEV configuram a estrutura mínima

de processos necessária a uma organização para o fornecimento de produtos e

serviços de software.

As áreas de processos da categoria de Engenharia do modelo CMMI-DEV

correspondem às principais atividades envolvidas em projetos de

desenvolvimento de software, por englobar as tradicionais atividades de

engenharia de software (requisitos, análise, projeto, codificação e testes). Nesta

categoria estão incluídas as seguintes áreas de processos: Desenvolvimento de

Requisitos, Gerenciamento de Requisitos, Solução Técnica, Integração de

Produto, Verificação e Validação.

Existe um conjunto de medidas de desempenho que permite a análise de

desempenho dos processos das áreas de processos da categoria de engenharia

do CMIM-DEV;

1.3.3.

Coleta de dados

A coleta de dados nesta pesquisa teve por objetivo primário obter informações sobre a

utilização do catálogo de medidas como instrumento para a análise de desempenho de

processos. Com este intuito, a coleta de dados para a aplicação do catálogo desta pesquisa foi

realizada na unidade de fábrica de uma empresa brasileira.

O catálogo de medidas estabelecido não tem por finalidade listar todas as medidas

existentes e suas variações, mas sim identificar um conjunto de medidas que permita a análise

de desempenho dos processos das áreas de processos da categoria de engenharia do

CMMI-DEV. Sendo assim, não fazem parte do escopo desta pesquisa medidas de desempenho

relacionadas à gestão organizacional, como os processos de suporte (qualidade de produtos e

processo, medição e análise, entre outros) e gestão dos processos (definição de processos,

melhoria de processos, treinamento, entre outros).

(19)

1.3.4.

Organização da dissertação

Esta dissertação é constituída de 5 capítulos, incluindo esta Introdução.

O capítulo 2 que segue, apresenta as definições e conceitos pertinentes aos tópicos

principais do tema da pesquisa, que são: processos de software, medidas de desempenho de

software, análise de desempenho de processos de software e gerenciamento quantitativo de

projetos.

No capítulo 3 é apresentada a abordagem defendida nesta pesquisa, detalhando os

passos realizados na busca pela definição do catálogo de medidas de desempenho de

processos de software.

O capítulo 4 aborda um exemplo de utilização do catálogo de medidas, realizado por

meio da aplicação de medidas na análise de desempenho dos processos envolvidos em um

projeto real de desenvolvimento de software.

(20)

2.

REFERENCIAL TEÓRICO

Nesta seção é apresentado o referencial teórico que embasa o trabalho, envolvendo os

conceitos de processos de software, medição de software, análise de desempenho de

processos e gestão quantitativa de projetos de software.

2.1.

Processos de software

Segundo Chrissis, Konrad e Shrum (2003), uma organização pode focar várias

dimensões para melhorar o desempenho de seus projetos de desenvolvimento de software.

Tipicamente, três destas dimensões são consideradas críticas: pessoas, procedimentos e

ferramentas, conforme a Figura 1.

Figura 1: As três dimensões críticas de uma organização (Chrissis, Konrad, Shrum, 2003a, p. 4).

O que mantêm as três dimensões trabalhando em conjunto é o processo da

organização, permitindo o alinhamento de como a organização realiza o negócio (CHRISSIS;

KONRAD; SHRUM, 2003).

(21)

precisa reconhecer suas atividades e os recursos envolvidos. O próximo desafio para a

organização é a avaliação dos processos. Muitas vezes a organização não possui mecanismos

que permitam comparar os seus processos com o desempenho do mercado para identificar

oportunidades de melhoria.

Segundo Florac e Carleton (1999, p. 4) o gerenciamento do processo de software

envolve gerenciar as atividades associadas com o desenvolvimento, manutenção e suporte aos

produtos de software. O gerenciamento é considerado eficaz quando os produtos e serviços

resultantes do processo atendem completamente aos requisitos dos clientes. A premissa

principal defendida pelo Software Engineering Institute (SEI) é de que a qualidade de um

sistema ou produto é altamente influenciada pela qualidade do processo utilizado para

desenvolvê-lo e mantê-lo (SEI, 2006a, p. 5).

O conceito de gerenciamento de processos é fundamentado nos princípios do controle

estatístico de processos. Estes princípios sustentam que, ao estabilizar e manter os níveis de

variação, os processos tendem a apresentar resultados previsíveis (FLORAC; CARLETON,

1999, p. 5).

De acordo com Florac e Carleton (1999, p. 5), o gerenciamento de processos de

software envolve as atividades de medição e controle a fim de coletar o desempenho dos

processos e analisá-los em relação aos limites de desempenho considerados normais pela

organização.

2.1.1.

Modelos de processos de software

Com o objetivo de apoiar a gestão de seus processos, e conseqüentemente obter

melhoria no desempenho, as organizações têm cada vez mais recorrido a normas e modelos de

processos de software. Os diferentes modelos disponíveis provêm às organizações um guia

baseado em melhores práticas internacionais para o gerenciamento eficaz de seus processos.

Dentre as normas e modelos mais difundidos no mercado, destacam-se o CMMI (

Capability

Maturity Model Integration

), a ISO/IEC 12207 (Engenharia de software e sistemas -

Processos do ciclo de vida de software) e o modelo brasileiro MBS.BR (Melhoria do processo

de software brasileiro).

(22)

uma solução integrada para atividades de manutenção e desenvolvimento aplicadas a produtos

e serviços.

A estrutura do modelo varia de acordo com sua a representação, conforme Quadro 1.

A representação por estágios é estruturada em cinco níveis de maturidade, enquanto a

representação contínua é estruturada em seis níveis de capacidade, numerados de 0 a 5, para

cada área de processo selecionada pela organização. Na representação em estágio cada nível é

composto de um conjunto de áreas de processo e para que a organização evolua nos níveis de

maturidade, todas as áreas de processos dos níveis anteriores devem ser implementadas. Na

representação contínua, de acordo com os objetivos da organização, é permitida a seleção

individual de uma ou várias áreas de processos para implementação e melhoria através dos

níveis de capacidade.

Quadro 1: Estrutura do modelo CMMI-DEV (SEI, 2006a, p. 31)

Nível Representação continua Representação por estágios Níveis de capacidade Níveis de maturidade

Nível 0 Incompleto

Nível 1 Realizado Inicial

Nível 2 Gerenciado Gerenciado

Nível 3 Definido Definido

Nível 4 Gerenciado Quantitativamente Gerenciado Quantitativamente

Nível 5 Otimizado Otimizado

As áreas de processos são um conjunto de melhores práticas em determinada área, que

quando implementadas coletivamente, satisfazem um conjunto de metas consideradas

importantes para a melhoria naquela área (SEI, 2006a, p. 548). As diferentes áreas de

processo são agrupadas em quatro categorias (Engenharia, Gerenciamento de processos,

Gerenciamento de projetos e Suporte) e distribuídas de acordo com os níveis de cada

representação do modelo. O Quadro 2 lista as categorias, áreas de processos e o nível de

maturidade correspondente, de acordo com a representação por estágios do modelo

CMMI-DEV.

A norma ISO/IEC 12207 é um padrão internacional que estabelece um

framework

(23)

Quadro 2: Áreas de processo do modelo CMMI-DEV (Adaptado de SEI, 2006a, p. 44)

Categoria Área de processo Nível de maturidade

Engenharia Integração de produto 3 - Definido

Desenvolvimento de requisitos 3 - Definido Gerenciamento de requisitos 2 - Gerenciado Solução técnica 3 - Definido Validação 3 - Definido Verificação 3 - Definido

Gerenciamento de

processos Inovação organizacional e implantação Definição do processo organizacional + IPPD 5 - Otimizado

(Desenvolvimento integrado de produto e processo) 3 - Definido Foco do processo organizacional 3 - Definido Desempenho do processo organizacional 4 - Gerenciado

Quantitativamente Treinamento organizacional 3 - Definido

Gerenciamento de

projetos Gerenciamento integrado do projeto + IPPD Monitoramento e controle do projeto 3 - Definido 2 - Gerenciado

Planejamento do projeto 2 - Gerenciado Gerenciamento quantitativo do projeto 4 - Gerenciado

Quantitativamente Gerenciamento de riscos 3 - Definido Gerenciamento de acordos com fornecedores 2 - Gerenciado

Suporte Análise de causas e resoluções 5 - Otimizado

Gerenciamento de configuração 2 - Gerenciado Análise de decisões e resoluções 3 - Definido Medições e análises 2 - Gerenciado Garantia da qualidade do processo e produto 2 - Gerenciado

A ISO/IEC 12207 agrupa as atividades associadas a um sistema de software em dois

ciclos de vida e sete grupos. Os processos do ciclo de vida de sistema estabelecem a

infra-estrutura para tratar de um produto ou serviço de software. Por sua vez, ciclo de vida de

software fornece processos específicos para a implementação de um produto ou serviço de

software como parte de um sistema mais amplo (ISO/IEC, 2008, p. 19).

O MPS.BR tem o objetivo de fornecer às organizações brasileiras um guia para

direcionar os esforços de melhoria de processos de software. O modelo, distribuído em sete

níveis de maturidade, foi desenvolvido em conformidade com os padrões internacionais de

qualidade de software e estabelece um modelo de processos baseado nas normas NBR

ISO/IEC 12207 e ISO/IEC 12207 e um método de avaliação baseado na norma ISO/IEC

15504 (SOFTEX, 2007, p. 12).

(24)

2006a, p. 517) (SOFTEX, 2007, p. 47), a relação de processos dos modelos possui

semelhanças de nomenclatura, propósitos e resultados.

A partir das semelhanças entre os processos do ciclo de vida de software, pode-se

concluir que todos os três modelos servem como referência para o gerenciamento de

processos de software, já que abrangem todos os aspectos envolvidos na produção de

produtos e serviços de software.

O uso de uma abordagem baseada em processos pela indústria de software traz

consigo a necessidade de avaliar e evoluir estes processos, a fim de executar projetos

controlados e previsíveis. As ferramentas e técnicas de medição e análise quantitativa

permitem as organizações determinar e prever o desempenho dos seus processos, detectarem

desvios e identificar oportunidades de melhoria.

2.2.

Medição de software

A engenharia de software envolve a aplicação de técnicas de engenharia em conjunto

com a ciência da computação para a construção e suporte de produtos de software. Neste

processo, a abordagem da engenharia quer dizer que cada atividade é planejada e a sua

execução é objetivamente controlada. Medições realizam um papel importante no

desenvolvimento de software efetivo e eficiente, bem como fornecem a base científica que

torna a área de software uma verdadeira disciplina da engenharia. (FENTON; PFLEEGER,

1997, p. 9) (KAN, 2003).

Processos efetivos de medição do desempenho auxiliam na obtenção de sucesso, pois

permitem à organização entender a sua capacidade de forma desenvolver planos atingíveis

para a entrega de produtos e serviços. As medições auxiliam também na detecção de

tendências e na antecipação de problemas, resultando em um melhor controle de custos,

redução de riscos, melhoria da qualidade e garantindo que os objetivos de negócio sejam

atingidos (FLORAC; CARLETON, 1999, p. 10).

2.2.1.

Conceituação

(25)

Medição é um conjunto de operações com objetivo de determinar um valor a uma

medida (ISO/IEC, 2002, p. 4).

Segundo Fenton e Pfleeger (1997, p. 5), medição é o processo pelo qual números ou

símbolos são atribuídos para atributos de entidades no mundo real, como meio de

descrevê-los de acordo com regras claramente definidas. Medições, portanto capturam informação

sobre atributos de entidades. Uma entidade é um objeto ou um evento do mundo real. Um

atributo é uma característica ou propriedade de uma entidade. Quando as entidades são

descritas através de seus atributos, normalmente estes atributos são definidos por números ou

símbolos, ou seja, medidas.

Por fim, medição pode ser definida como o mapeamento do mundo empírico ou real

para o mundo formal, representado por elementos de um sistema numérico.

Conseqüentemente, uma medida é o número ou símbolo atribuído a uma entidade através

deste mapeamento de forma a caracterizar um atributo desta entidade (FENTON,

PFLEEGER, 1997, p. 28).

A partir do momento onde exista um modelo para representar as entidades e seus

atributos, podem ser definidas medidas que permitam a sua avaliação e comparação com

outras entidades (FENTON; PFLEEGER, 1997, p. 39). Medidas básicas ou diretas podem ser

definidas em termos de um atributo e o método para quantificá-lo e são independentes de

outras medidas. Medidas derivadas ou indiretas são definidas como uma função de dois ou

mais valores de medidas básicas ou diretas. (ISO/IEC, 2002, p. 3) (ABNT, 2008).

As medidas podem, ainda, ser classificadas de acordo com o método de medição como

subjetivas, quando a obtenção de um valor para a medida envolve o julgamento humano, ou

objetivas, nos casos em que, a partir de regras estabelecidas, é obtido um valor numérico para

a medida (ISO/IEC, 2002, p. 4).

O método de medição representa a seqüência lógica de operações para quantificar um

atributo em relação à determinada escala. As principais escalas de medição descritas na

literatura são apresentadas no Quadro 3.

(26)

Quadro 3: Escalas de medição (FENTON; PFLEEGER, 1997, p. 45-53) (KAN, 2003, p. 59-61) (ISO/IEC, 2002, p. 5)

Escalas de

medição Descrição Exemplos

Absoluta A medição para uma escala absoluta é feita simplesmente pela contagem do número de elementos no conjunto da entidade.

Número de defeitos encontrados no software, número de pessoas da equipe, número de

ocorrências de um determinado tipo, etc.

Nominal Os valores das medidas são categorizados, representados por um nome ou rótulo. Não existe ordenação implícita entre as classes.

Cor dos olhos, classes de defeitos, nomes de linguagens, classes de custos (custos diretos, custos indiretos), etc.

Ordinal Os valores das medidas são classificados, acrescentando a noção de ordem e comparação. Porém, neste tipo de escala não podem ser realizadas operações matemáticas entre as medidas.

Níveis de maturidade do CMMI (níveis de 1 a 5), complexidade de um sistema (baixa, média, alta), classificação de severidade de um defeito em níveis, etc.

Intervalar

Os valores das medidas têm distâncias iguais correspondendo a quantidades iguais dos atributos. Preserva a importância da ordem dos resultados da escala ordinal e ainda possui informações sobre o tamanho dos intervalos que separam seus pontos. Operações matemáticas de adição e subtração podem ser aplicadas, porém não são permitidas multiplicações e divisões entre as medidas. O valor zero não é possível.

Complexidade ciclomática, intervalo de datas, horários, etc.

Razão

Preserva a ordem, o tamanho dos intervalos entre entidades, mas apresenta também as razões entre elas. Incorpora o elemento zero absoluto (representando a total falta do atributo). Todas as funções aritméticas podem ser utilizadas aplicadas em cada intervalo do mapeamento, gerando resultados significativos.

Tamanho, peso, altura, tempo entre falhas, custo, prazo, esforço, etc.

Takara, Bettin e Toledo (2007, p. 92) complementam que um indicador é uma medida

extremamente importante para a organização, sendo acompanhada e analisada periodicamente

a partir de uma meta de desempenho pré-estabelecida.

A experiência de SEI (2001, p. 5) sugere que, em um programa de medição,

normalmente não é suficiente a definição de questões e medidas sem a visualização e reporte

de um indicador como forma de comunicação dos resultados.

2.2.2.

Fatores críticos da implantação de programas de medição

(27)

listadas as principais falhas cometidas na implantação de programas de medições

(MCGARRY et al, 2002):

A

sobrecarga

envolve a coleta simultânea de muitos dados, o que resulta em

esforço desperdiçado e perda da credibilidade do programa de medição.

O

uso incorreto da medição

é a utilização dos resultados de medições para

avaliação dos profissionais, resultando em perda da integridade dos dados, pois

os profissionais tendem a mascarar os dados com medo de que estes sejam

utilizados contra eles.

As

falhas de medição

são a obtenção de medidas erradas, ambíguas e

inconsistentes, resultando em análises não conclusivas.

As

falhas de processo

são a obtenção de medidas que motivam as falhas de

processo (exemplo: o objetivo de diminuir a taxa de resolução de problemas

induz à ação indesejada de que as equipes tratem primeiramente os problemas

mais simples).

Berander e Jönsson (2006, p. 316), complementam que, devido à ausência de foco, os

modelos de gestão quantitativa aplicados nas organizações resultam em grande quantidade de

dados que nunca são analisados ou utilizados. Nestes casos, o fato dos envolvidos não

saberem claramente quais medidas são importantes, torna o esforço de medição uma perda de

tempo, causando a perda da credibilidade do processo de medição. Sendo assim, é melhor que

as organizações possuam poucas métricas úteis do que muitas sem utilidade alguma.

Segundo McGarry et al (2001, p. 7), a experiência de uma grande gama de projetos de

desenvolvimento e manutenção de software sugere que, para se obter sucesso em um

programa de medições é necessário desenvolver dois aspectos chaves: os procedimentos de

coleta, análise e reporte das medidas devem ser relacionados diretamente às necessidades de

informação dos tomadores de decisão nos projetos de software; e um processo de medição

estruturado, repetível e adaptável deve estar em prática para apoiar os processos técnicos e

gerenciais da engenharia de software.

Diferentes abordagens de medição estão disponíveis na literatura com o objetivo de

auxiliar a identificação de medidas, métodos e técnicas de medição dos processos de software,

alinhados com os objetivos da organização e de seus projetos. Dentre estas, destacam-se o

framework

de medição proposto por Florac e Carleton (1999), O GQM (

Goal-Question-Metric)

proposto por Basili, Caldiera e Rombach (2002), O PSM (

Practical Software

(28)

2.2.3.

Modelos de especificação de medidas

A fim de minimizar as dificuldades apresentadas na seção anterior, o SEI (SEI, 2004),

o PSM (DoD, 2004) e a ISO 15939 (ISO/IEC, 2002) apresentam modelos de especificação de

medidas, que podem ser utilizados como guia para a definição clara das medidas necessárias

para a avaliação dos processos da organização.

O Quadro 4 a seguir apresenta um paralelo realizado, mostrando lado a lado as

semelhanças e diferenças entre os três modelos de especificação de medidas referenciados,

identificando principalmente as informações que não são contempladas por algum dos

modelos de documento.

A partir da análise dos diferentes modelos de especificação, é possível concluir que o

modelo do PSM proposto por DoD (2004) é o mais completo, contendo a maior quantidade de

seções para especificação da medida.

2.2.4.

Medidas de processos de software

O assunto de medição de processos de software tem sido tema recorrente em

publicações especializadas. Diversos autores apresentam em seus trabalhos propostas e

conclusões a respeito de programas de medições implementados em diferentes contextos e

organizações.

Publicações como as de Florac e Carleton (1999) e McGarry et al (2002) dissertam de

forma abrangente sobre o tema de medição de processos de software, apresentando as

técnicas, boas práticas e também exemplos de medidas para avaliação destes processos.

(29)

SEI (SEI, 2004) PSM (DoD, 2004) ISO 15939 (ISO/IEC, 2002)

Nome/título do indicador Nome da medição Não contém a informação Data Versão da medição Não contém a informação

Descrição da necessidade de informação

Questões Necessidade de informação Necessidade de informação Não contém a informação Categoria de informação Não contém a informação Objetivo Conceito mensurável Conceito mensurável

Entidade e atributos

Não contém a informação Entidades relevantes Entidades relevantes

Não contém a informação Atributos Atributos

Entradas Especificação de medida básica

Elementos de dados

Medidas básicas Medidas básicas Definição

Não contém a informação Métodos de medição Método de medição Não contém a informação Tipos de métodos Tipo de método de medição

Não contém a informação Escala Escala

Não contém a informação Tipos de escalas Tipo de escala Não contém a informação Unidade de medição Unidade de medição

Especificação de medida derivada

Não contém a informação Medidas derivadas Medida derivada Algoritmo Função de medição Função de medição

Especificação de indicador

Visualização gráfica Descrição do indicador e amostra Indicador

Análise Modelo de analise Modelo

(30)

SEI (SEI, 2004) PSM (DoD, 2004) ISO 15939 (ISO/IEC, 2002)

Coleta de dados Procedimento de coleta de dados (para cada medida básica)

Como Não contém a informação Não contém a informação Quando/Em que freqüência Freqüência da coleta de dados Não contém a informação Por quem Responsável Não contém a informação Não contém a informação Fase ou atividade de coleta de dados Não contém a informação Formulários Ferramentas utilizadas para coleta de dados Não contém a informação Não contém a informação Verificação e Validação Não contém a informação

Armazenamento de dados

Onde Repositório de dados coletados Não contém a informação Como Não contém a informação Não contém a informação Segurança Não contém a informação Não contém a informação

Reporte de dados Procedimento de análise de dados (para cada indicador)

Em que freqüência Freqüência de reporte dos dados Não contém a informação Responsável pelo reporte Responsável Não contém a informação Não contém a informação Fase ou atividade de análise dos dados Não contém a informação Não contém a informação Fonte de dados para análise Não contém a informação Não contém a informação Ferramentas utilizadas para análise de dados Não contém a informação Por quem/Para quem

Revisão, reporte e usuário Não contém a informação

Perspectiva Não contém a informação

Informação adicional

Questões de sondagem

Guia de análise adicional Não contém a informação

Referência cruzada Não contém a informação

(31)

Relatórios redigidos por SEI (2006b) e Kulik e Weber (2002), fazem uma ampla

avaliação da maturidade das organizações no que tange os processos de medição e análise do

desempenho dos seus processos. Ambos concluem que as organizações têm inúmeras

dificuldades na implantação de programas de medição.

Apesar disto, autores publicam também os resultados de pesquisas experimentais,

realizadas em organizações de reconhecida maturidade em processos de software, como a

IBM, NASA e HP (KITCHENHAM et al, 2006) (RESEMBERG; SHEPPARD; 1994)

(MCGARRY; BURKE; DECKER, 1998) (LINDSTRÖM, 2004) (GRADY, 1994)

(AGRAWAL; CHARI, 2007) (HERBSLEB; GRINTER, 1998) (GALIN; AVRAHAMI,

2007) (HALL; FENTON, 1997).

As diferentes medidas identificadas nestes trabalhos formam a base conceitual para a

definição do catálogo proposto nesta pesquisa, sendo apresentadas no capítulo 3.

2.3.

Análise de desempenho de processos de software

Quando definidas e relacionadas aos processos de software, as medidas permitem a

avaliação precisa do desempenho dos processos e projetos. Esta seção apresenta o objetivo,

instrumentos e outros conceitos a respeito da análise de desempenho de processos de

software.

2.3.1.

Análise de desempenho de processos segundo o modelo CMMI-DEV

(32)

Figura 2: Áreas de processo envolvidas na gestão quantitativa (Adaptado de SEI, 2002).

Segundo o CMMI-DEV (SEI, 2006a), a execução de todas as áreas de processos em

um projeto de desenvolvimento de software fornece informações a partir das quais é possível

avaliar o desempenho do projeto

(Passo 1 da Figura 2)

. Estas informações de desempenho

são coletadas pela área de

Medição e Análise (MA)

, que é focada na definição de medidas,

coleta de dados, apuração e análise dos resultados obtidos pela organização ao desenvolver

seus produtos

O histórico de medidas de desempenho coletadas pela organização nos seus diferentes

projetos

(Passo 2 da Figura 2)

é insumo para o estabelecimento do

Desempenho do

Processo Organizacional (DPO)

.

A área de processo de DPO proporciona um entendimento

quantitativo de desempenho dos processos da organização, provendo linhas de base de

medidas e modelos estatísticos de avaliação do desempenho dos processos a serem aplicados

na gestão quantitativa dos projetos

(Passo 3 da Figura 2)

.

A

Gestão Quantitativa de Projetos (GQP)

utiliza os modelos de desempenho para

gerenciar quantitativamente o projeto, comparando o resultado das medidas de desempenho

dos processos do projeto

(Passo 4 da Figura 2)

com a linha de base estabelecida em DPO. O

foco desta área de processos é identificar sinais de desvios e prever o desempenho futuro do

projeto para suportar a tomada de decisões, a fim de manter o projeto alinhado com os seus

objetivos.

(33)

preciso e aderente à realidade do projeto e da organização. O

Monitoramento e Controle do

Projeto (MCP)

envolve a avaliação da gravidade dos desvios para estabelecer ações

corretivas e preventivas, baseado nos resultados da análise quantitativa do projeto

(Passo 5 da

Figura 2)

.

Para os desvios críticos, por exemplo, aqueles que podem comprometer

significativamente o resultado do projeto, a avaliação das alternativas de ações deve ser

realizada por um processo formal de tomada de decisões

(Passo 6 da Figura 2)

. Através da

área de

Análise de Decisão e Resolução (ADR)

, o gerente pode utilizar métodos formais de

avaliação de alternativas a fim de decidir as ações mais adequadas em cada caso

(Passo 7 da

Figura 2)

.

Por fim, as ações gerenciais corretivas e preventivas para tratamento dos desvios são

então implementadas nos processos do projeto

(Passo 8 da Figura 2)

, fechando o ciclo que

tem como objetivo melhorar continuamente o desempenho dos processos alinhado com os

objetivos do projeto.

2.3.2.

Entendimento do desempenho do processo organizacional

De acordo com o SEI (2006a, p. 261), obter o entendimento do desempenho do

processo organizacional, descritos na área de processo de Desempenho do Processo

Organizacional (DPO), envolve estabelecer e manter um entendimento quantitativo do

desempenho dos processos e prover dados de desempenho, linhas de base

para comparação e

modelos para gerenciar quantitativamente os projetos da organização. As seguintes práticas

são específicas para a citada área de processo do modelo CMMI-DEV:

1)

Selecionar processos

2)

Estabelecer medidas de desempenho dos processos

3)

Estabelecer objetivos de desempenho dos processos

4)

Estabelecer linhas de base

de desempenho dos processos

5)

Estabelecer modelos de desempenho dos processos

(34)

Quando a organização possui medidas, dados e técnicas analíticas para processos

críticos, produtos e serviços, ela é capaz de (SEI, 2006a, p. 262):

Determinar se o processo está se comportando de forma consistente ou possui

tendência estável, ou seja, se seus resultados são previsíveis.

Identificar processos para os quais o desempenho está dentro de limites

naturais.

Estabelecer critérios para identificar quando um processo ou subprocesso deve

ser estatisticamente gerenciado, determinando as medições e técnicas

necessárias para tal.

Identificar processos que demonstram comportamento incomum, ou seja, que

são instáveis ou imprevisíveis.

Identificar os aspectos nos processos que possam ser melhorados.

Identificar qual implementação de processo que é realizada com maior

eficiência.

2.3.3.

Importância da estabilidade do processo

Em toda e qualquer atividade, automatizada ou realizada manualmente, os resultados

não são uniformes, estes variam de acordo com as condições nas quais a atividade foi

realizada. Ao realizar o controle estatístico de um processo, as variações nos dados de suas

medições precisam ser avaliadas a fim de identificar se estas se tratam de ruídos ou sinais

(FLORAC; CARLETON, 1999, pp. 65-70).

Ruídos (variações randômicas ou variações por causas comuns) descrevem condições

normais de execução do processo, ou seja, condições previstas devido à instabilidade natural

de todo e qualquer processo. Sinais (variações não randômicas ou variações por causas

especiais) identificam condições de desvio, ou seja, situações onde o desempenho do processo

desviou consideravelmente e, portanto ações para tratamento das causas devem ser

implementadas. De acordo com Florac e Carleton (1999, p. 67), agir em ruídos como se

fossem sinais apenas amplifica a instabilidade e aumenta a variabilidade dos resultados do

processo. Deixar de agir em sinais avaliando-os como ruídos mascara as deficiências do

processo e limita a identificação de oportunidades de melhoria.

(35)

momento o processo pode ser considerado estável e, portanto o seu desempenho futuro

torna-se previsível. (FLORAC; CARLETON, 1999, p. 70).

A estabilidade do processo é crucial para que a organização seja capaz de produzir

seus resultados de acordo com os planos. Florac e Carleton (1999, p. 71), justificam a

importância de se obter processos estáveis:

Sem estabilidade

e o entendimento da capacidade do processo, não existe

forma de distinguir sinais de ruídos, o que pode resultar em ações

inapropriadas.

Sem um histórico de desempenho estável, situações descontroladas podem

ocorrer a qualquer tempo. Não existe base para prever as situações futuras e,

portanto todos os planos são considerados de alto risco.

Desconhecendo o nível de estabilidade do processo, não existe base de

comparação para reconhecer causas especiais de desvio que demandem ações

de melhoria.

Sem estabilidade não se obtém um processo repetível para usar como linha de

base para a implementação de melhorias. De fato, não existe um único

processo, mas diversos, todos diferentes. Os efeitos das ações de melhoria

podem ser imperceptíveis em meio a todas as variações.

2.3.4.

Ferramentas de análise de desempenho de processos

Conforme apresentado anteriormente, a execução de processos de software

normalmente apresenta variação de desempenho. De acordo com a linha de base

do processo,

as variações são consideradas de causas comuns ou de causas especiais. Neste último caso, o

processo passa a ser considerado em estado de desvio e, portanto necessita ser tratado por

ações corretivas.

Diversos instrumentos de controle estatístico de processos são utilizados para avaliar o

desempenho dos processos de uma organização ou de um projeto de software específico.

Estas ferramentas apóiam a identificação e análise de causas especiais e, portanto são

fundamentais para a análise de desempenho de processos.

(36)

Quadro 5: Ferramentas para gestão quantitativa de projetos

Ferramenta Descrição Apresentação

Fluxograma A ferramenta de fluxograma é uma representação

gráfica das atividades do processo e pode ser utilizada para analisar onde um problema ocorre.

Folha de

verificação Instrumento utilizando quando se quer coletar informação relacionada à freqüência de ocorrência de um determinado evento.

Uma lista de verificação quando virada 90o fornece

um bom indício de como o processo seria apresentado em um histograma ou diagrama de Pareto.

Disciplina Recusas

Requisitos √√

Análise e projeto √√√√

Implementação √√√√√

Testes √√

Gerenciamento de

Projetos √√√√√

Diagrama de

dispersão Este diagrama apresenta relacionamentos entre duas variáveis ou características de um processo. A observação de padrões nos pontos do digrama sugere que as variáveis analisadas são associadas,

possivelmente em uma relação de causa-e-efeito.

-20,00 40,00 60,00 80,00 100,00

- 50,00 100,00 150,00

Q u a n ti d a d e d e d e fe it o s Tamanho Quantidade de defeitos X

Tam anho

Histograma Um histograma exibe os dados coletados do processo

por freqüência. Os valores observados do processo são distribuídos em determinados intervalos de mesmo tamanho (colunas). A altura das barras de um histograma é proporcional ao número de observações dentro da do intervalo.

Os histogramas são úteis, pois permitem analisam a taxa de variação de um processo.

0 1 2 3 4 5 6 0,0 0 to 0,0 8 0,08 t o 0,16 0,16 t o 0,24 0,24 to 0,32 0,32 t o 0,40 0,40 t o 0,48 0,48 to 0,56 0,56 t o 0,64 0,64 to 0,72 0 ,72 to 0 ,80 0,80 t o 0,88 0,8 8 to 0,9 6 0,96 t o 1,04 1,04 t o 1,12 1,12 to 1,20 Histogram a Diagrama de causa-e-efeito, Espinha de peixe ou Ishikawa

O Diagrama de causa e efeito é uma representação gráfica de problemas e suas causas.

Esta ferramenta é muito útil em reuniões de brainstorming, para capturar dos envolvidos na execução do processo as causas prováveis de um determinado problema.

Gráfico de

barras Da mesma forma que um histograma, um gráfico de barras é utilizado para investigar o perfil de um processo. Porém, os gráficos de barras podem conter quaisquer valores, não somente freqüências como nos histogramas. Neste caso, a largura das colunas e barras é livre, e, juntamente com cores, sombras e textos, podem ser utilizadas para diferenciar os dados do gráfico. -5,00 10,00 15,00 20,00 25,00 30,00 35,00

Defeitos x Disciplinas x Builds

(37)

Quadro 5 (cont.): Ferramentas para gestão quantitativa de projetos

Ferramenta Descrição Apresentação

Gráfico ou diagrama de Pareto

Um Diagrama de Pareto é simplesmente a exibição de freqüências de determinado dado em ordem

decrescente.

Esta ferramenta pode é utilizada para analisar as ocorrências mais comuns de um evento e priorizar as ações a serem tomadas no tratamento do processo. Diagramas de Pareto são conceitualmente relacionados com a Lei de Pareto, que defende que um número relativamente pequeno de causas é responsável pela produção da grande maioria dos problemas ou defeitos.

0,32 5

0 ,0 55 0,046

0 ,0 14 0,010 0,009 0,003 - -0 ,-0 -0% 20 ,0 0% 40 ,0 0% 60 ,0 0% 80 ,0 0% 1 00 ,0 0%

-0 ,-0 5-0 0 ,1 00 0 ,1 50 0 ,2 00 0 ,2 50 0 ,3 00 0 ,3 50

D e n si d a d e d e d e fe it o s

Densidade de defeitos (Pareto)

Gráfico ou carta de execução

Um gráfico ou carta de execução exibe observações individuais de um processo no decorrer do tempo. Esta ferramenta pode ser utilizada para identificar tendências ou mudanças no desempenho do processo. Um risco de utilizar simplesmente gráficos de execução é a tendência de reagir às variações naturais do processo. 0 ,00 0

0 ,10 0 0 ,20 0 0 ,30 0 0 ,40 0 0 ,50 0 0 ,60 0

n o v/ 05 d e z/ 05jan/ 06f e v/ 06 m ar / 06 abr / 06 m ai/ 06 ju n/ 06jul/ 06ago / 06set / 06 IDC

Gráfico ou carta de controle

Um gráfico de controle é basicamente um gráfico de execução com o acréscimo de uma linha central e limites de controle inferior e superior associados. Os limites de controle, definidos de acordo com cada tipo de gráfico, permitem a organização acompanhar o desempenho do processo e identificar as causas normais e especiais de variação.

0,000 0,100 0,200 0,300 0,400 0,500 0,600 0,700

nov/ 05dez/ 05jan/ 06f ev/ 06mar/ 06abr / 06mai/ 06 jun/ 06jul/ 06ago/ 06set/ 06 IDC (X)

IDC (X) LC LCS (+3 sigm as) + 2 sigm as + 1 sigma LCI (- 3 sigm as) - 2 sigm as - 1 sigma

Segundo Kulpa e Johnson (2008, p. 242), alguns autores não consideram o

Fluxograma e o Diagrama de causa-e-efeito ferramentas estatísticas, pois as mesmas não

necessariamente são focadas em dados quantitativos.

2.3.5.

Gráficos de controle

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

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

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

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

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

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

(38)

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

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

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

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

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

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

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

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

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

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

desempenho do processo.

2.3.5.1.

Tipos de dados

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

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

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

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

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

variáveis e atributos.

Imagem

Figura 1: As três dimensões críticas de uma organização (Chrissis, Konrad, Shrum, 2003a, p
Figura 2: Áreas de processo envolvidas na gestão quantitativa (Adaptado de SEI, 2002)
Gráfico de
Gráfico ou  diagrama de  Pareto
+7

Referências

Documentos relacionados

Figura A53 - Produção e consumo de resinas termoplásticas 2000 - 2009 Fonte: Perfil da Indústria de Transformação de Material Plástico - Edição de 2009.. A Figura A54 exibe

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

Os candidatos reclassificados deverão cumprir os mesmos procedimentos estabelecidos nos subitens 5.1.1, 5.1.1.1, e 5.1.2 deste Edital, no período de 15 e 16 de junho de 2021,

Esta degradação, é de difícil avaliação, por isso para cada caverna realiza-se uma análise da capacidade de carga, ou seja, o quanto uma área pode agüentar as

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que