universidade federal do parÁ instituto de tecnologia programa de … · mps.br melhoria do...

96
UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UMA ABORDAGEM AUTOMATIZADA DE MEDIÇÃO EM PROCESSOS DE SOFTWARE Luciana Maria Azevedo Nascimento DM 36/2007 UFPA / ITEC / PPGEE Campus Universitário do Guamá Belém-Pará-Brasil Dezembro/2007

Upload: vantram

Post on 25-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

UMA ABORDAGEM AUTOMATIZADA DE MEDIÇÃO EM

PROCESSOS DE SOFTWARE

Luciana Maria Azevedo Nascimento

DM 36/2007

UFPA / ITEC / PPGEE Campus Universitário do Guamá

Belém-Pará-Brasil Dezembro/2007

Page 2: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

II

UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Luciana Maria Azevedo Nascimento

UMA ABORDAGEM AUTOMATIZADA DE MEDIÇÃO EM

PROCESSOS DE SOFTWARE

DM 36/2007

UFPA / ITEC / PPGEE Campus Universitário do Guamá

Belém-Pará-Brasil Dezembro/2007

Page 3: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

III

UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Luciana Maria Azevedo Nascimento

UMA ABORDAGEM AUTOMATIZADA DE MEDIÇÃO EM

PROCESSOS DE SOFTWARE

Dissertação submetida à Banca Examinadora do Programa de Pós-Graduação em Engenharia Elétrica da UFPA para a obtenção do Grau de Mestre em Engenharia Elétrica

UFPA / ITEC / PPGEE Campus Universitário do Guamá

Belém-Pará-Brasil Dezembro/2007

Page 4: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

IV

UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

UMA ABORDAGEM AUTOMATIZADA DE MEDIÇÂO EM PROCESSOS DE SOFTWARE

AUTOR: LUCIANA MARIA AZEVEDO NASCIMENTO DISSERTAÇÃO DE MESTRADO SUBMETIDA À AVALIAÇÃO DA BANCA EXAMINADORA APROVADA PELO COLEGIADO DO PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA DA UNIVERSIDADE FEDERAL DO PARÁ E JULGADDA ADEQUADA PARA OBTENÇÃO DO GRAU DE MESTRE EM ENGENHARIA ELÉTRICA NA ÁREA DE COMPUTAÇÃO APLICADA. APROVADA EM 21 / 12 / 2007 BANCA EXAMINADORA:

Prof. Dr. Elói Luiz Favero (ORIENTADOR – UFPA)

Prof. Dr. Roberto Célio Limão de Oliveira (MEMBRO – UFPA)

Prof. Dr. Rodrigo Quites Reis (MEMBRO – PPGCC/ICEN/UFPA)

Prof. Dr. Cleidson Ronald Botelho de Sousa (MEMBRO – PPGCC/ICEN/UFPA)

VISTO:

Prof. Dr. Evaldo Gonçalves Pelaes

(COORDENADOR DO PPGEE/ITEC/UFPA)

Page 5: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

V

Agradecimentos

A Deus, por guiar meus caminhos.

Aos meus pais, Nádia e Reginaldo. Este trabalho também é fruto dos esforços e

muitos sacrifícios de vocês.

Ao professor Rodrigo Quites Reis, por ter incentivado em mim o gosto pela

pesquisa acadêmica, por ter acreditado e apoiado este trabalho, pelos conhecimentos

compartilhados e lições ensinadas.

Ao meu namorado Christopherson pela compreensão e companheirismo.

Ao amigo Anderson Costa, pelo apoio essencial na realização desse trabalho,

pelas discussões, idéias, sugestões e críticas construtivas.

Ao Breno França, que ajudou a elaborar soluções para requisitos fundamentais

deste trabalho.

À Carla Paxiúba, grande amiga sempre solícita e interessada em conversar

sobre essa dissertação, em me apoiar e compartilhar comigo seu conhecimento e experiência

profissional.

À Valéria, outra amiga querida, pelo apoio inestimável na finalização dessa

dissertação.

A todos os colegas que acompanharam e torceram por mim.

Aos colegas do LABES.

Aos professores do PPGEE.

À PROPESP.

À CAPES.

À Universidade Federal do Pará.

Page 6: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

VI

SUMÁRIO

CAPÍTULO 1 INTRODUÇÃO ............................................................................................. 14

1.1. SUMÁRIO DOS OBJETIVOS DESTE TRABALHO. ..................................................................15

1.2. ORGANIZAÇÃO DO TEXTO. .................................................................................................16

CAPÍTULO 2 MEDIÇÃO E PROCESSO DE SOFTWARE ............................................. 17

2.1. CONCEITOS RELACIONADOS À MEDIÇÃO. .........................................................................19

2.2. ABORDAGENS DE MEDIÇÃO EM PROCESSOS DE SOFTWARE. ............................................22

2.2.1. O Paradigma GQM. ..........................................................................................................23

2.2.2. O Paradigma Goal-Driven Software Measurement. .........................................................25

2.3. MEDIÇÃO E MODELOS DE MELHORIA DE QUALIDADE. .....................................................27

2.3.1. CMMI ...............................................................................................................................27

2.3.2. MPS.BR. ...........................................................................................................................31

2.4. AUTOMAÇÃO DO PROCESSO DE SOFTWARE E O AMBIENTE WEBAPSEE ..........................36

2.5. CONSIDERAÇÕES FINAIS DO CAPÍTULO. ............................................................................39

CAPÍTULO 3 ABORDAGEM DE MEDIÇÃO PARA PROCESSOS DE SOFTWARE 40

3.1. MODELO DE PROCESSO DE MEDIÇÃO. ...............................................................................41

3.1.1. Planejar Medição. .............................................................................................................42

3.1.2. Executar Medição. ............................................................................................................47

3.1.3. Avaliar Resultados............................................................................................................47

3.2. INTEGRAÇÃO DO MODELO DE PROCESSO DE MEDIÇÃO NO AMBIENTE WEBAPSEE. ...48

3.2.1. Medição no Domínio de Processos. .................................................................................49

3.2.2. Medição no Domínio Organizacional. ..............................................................................51

3.2.3. Proposta de ferramenta de apoio ao Processo de Medição no WebAPSEE. ....................53

3.3. CONSIDERAÇÕES FINAIS DO CAPÍTULO. .............................................................................55

CAPÍTULO 4 FERRAMENTA DE APOIO AO PROCESSO DE MEDIÇÃO ............... 57

4.1. MODELO DE DADOS PARA O DOMÍNIO DE PROCESSOS. ....................................................58

4.2. MODELO DE DADOS PARA O DOMÍNIO ORGANIZACIONAL. ..............................................65

4.3. PROTÓTIPO DA FERRAMENTA .............................................................................................67

4.3.1. Módulo MIPModel. ..........................................................................................................67

4.3.2. Módulo MIP .....................................................................................................................70

4.3.3. Módulo Organizacional ....................................................................................................73

4.4. MODIFICAÇÕES NO AMBIENTE WEBAPSEE. ....................................................................74

4.5. CONSIDERAÇÕES FINAIS DO CAPÍTULO. .............................................................................76

CAPÍTULO 5 AVALIAÇÃO DA PROPOSTA ................................................................... 77

5.1. EXPERIMENTO. ....................................................................................................................77

5.2. ADERÊNCIA DA PROPOSTA AOS MODELOS CMMI E MPS.BR. ........................................85

Page 7: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

VII

5.3. TRABALHOS RELACIONADOS. .............................................................................................87

5.4. CONSIDERAÇÕES FINAIS DO CAPÍTULO. ............................................................................88

CAPÍTULO 6 CONCLUSÕES ............................................................................................. 89

6.1. ANÁLISE CRÍTICA DA PROPOSTA. .......................................................................................89

6.2. TRABALHOS FUTUROS. .......................................................................................................90

6.3. CONSIDERAÇÕES FINAIS DO TRABALHO. ...........................................................................91

REFERÊNCIAS ..................................................................................................................... 93

Page 8: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

VIII

LISTA DE ILUSTRAÇÕES

FIGURA 1 - O PROCESSO DE SOFTWARE [37]. ............................................................... 17

FIGURA 2 - MODELO DE CLASSES PARA MEDIÇÃO (ADAPTADO DE [26]). ........... 19

FIGURA 3 – O PARADIGMA GQM [46]. ............................................................................. 24

FIGURA 4 - O PARADIGMA GOAL-DRIVEN SOFTWARE MEASUREMENT. .................. 26

FIGURA 5 - COMPONENTES DO MPS.BR [44]. ................................................................. 32

FIGURA 6 - REPRESENTAÇÃO GRÁFICA PARA AS PRINCIPAIS CONSTRUÇÕES DA WEBAPSEE-PML. .................................................................................................................. 37

FIGURA 7 - VISÃO DO GERENTE E DO DESENVOLVEDOR NO WEBAPSEE. ........... 38

FIGURA 8 - CICLO DE MELHORIA CONTÍNUA DE QUALIDADE. ............................... 41

FIGURA 9 - MODELO DE PROCESSO DE MEDIÇÃO PROPOSTO. ................................ 42

FIGURA 10 - MODELAGEM DAS ATIVIDADES DA ETAPA PLANEJAR MEDIÇÃO. 46

FIGURA 11 - EXEMPLO DE RELACIONAMENTO ENTRE METAS DE NEGÓCIO, DE MEDIÇÃO, QUESTÕES, INDICADORES E MÉTRICAS. .................................................. 47

FIGURA 12 - MODELAGEM DAS ATIVIDADES DA ETAPA AVALIAR RESULTADOS. .................................................................................................................................................. 48

FIGURA 13 - DOMÍNIOS DE MEDIÇÃO NO WEBAPSEE. ............................................... 49

FIGURA 14 - MEDIÇÃO NO DOMÍNIO DE PROCESSOS DE SOFTWARE. ................... 50

FIGURA 15 - MEDIÇÃO NO DOMÍNIO ORGANIZACIONAL. ......................................... 52

FIGURA 16 - INDICADOR ÍNDICE DE DESVIO DE PRAZOS DE PROJETOS ............... 53

FIGURA 17 - DIAGRAMA DE CONTEXTO DA FERRAMENTA PROPOSTA. ............... 54

FIGURA 18 - CASOS DE USO DA ETAPA EXECUTAR MEDIÇÃO NO WEBAPSEE. .. 55

FIGURA 19 - DIAGRAMA DE CLASSES PARA IMPLEMENTAÇÃO DO PROCESSO DE MEDIÇÃO NO DOMÍNIO DE PROCESSOS. ................................................................. 58

FIGURA 20 - DIAGRAMA DE ESTADOS DO MIPMODEL............................................... 63

Page 9: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

IX

FIGURA 21 - DIAGRAMA DE ATIVIDADES DO MIPMODEL ........................................ 64

FIGURA 22 - DIAGRAMA DE CLASSES DE IMPLEMENTAÇÃO DO PROCESSO DE MEDIÇÃO NO DOMÍNIO ORGANIZACIONAL. ................................................................ 66

FIGURA 23 - TELA PRINCIPAL DO MÓDULO MIPMODEL. .......................................... 67

FIGURA 24 – TELA A) - ABA INDICATORS. TELA B) - DEFINIÇÃO DE UM INDICADOR NO MIPMODEL. .............................................................................................. 69

FIGURA 25 - CONFIGURAÇÃO DO INDICADOR PARA INTEGRAÇÃO DO MIP COM O PROCESSO DE SOFTWARE. ............................................................................................ 71

FIGURA 26 - VISUALIZAÇÃO E ANÁLISE DOS RESULTADOS NO DOMÍNIO DE PROCESSOS. ........................................................................................................................... 72

FIGURA 27 - VISUALIZAÇÃO E ANÁLISE DOS RESULTADOS NO DOMÍNIO ORGANIZACIONAL. ............................................................................................................. 74

FIGURA 28 - CAMADAS QUE COMPÕEM A ARQUITETURA DO WEBAPSEE [29] . 75

FIGURA 29 - EXECUÇÃO DO PROCESSO DE EXEMPLO. .............................................. 78

FIGURA 30 - ATIVIDADE ELICITAR REQUISITOS. ........................................................ 79

FIGURA 31 - ATIVIDADE DESENVOLVER ALTERAÇÕES. ........................................... 80

FIGURA 32 - ATIVIDADE IMPLANTAR PROJETO. ......................................................... 80

FIGURA 33 – ELABORAÇÃO DO INDICADOR “DESVIO DE CUSTO POR TIPO DE ATIVIDADE”. ......................................................................................................................... 83

FIGURA 34 - INDICADOR DESVIO DE CUSTO POR TIPO DE ATIVIDADE. ............... 83

Page 10: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

X

LISTA DE TABELAS

TABELA 1 - TIPOS DE ESCALA E OPERAÇÕES ADMISSÍVEIS. ................................... 21

TABELA 2 - GABARITO PARA DEFINIÇÃO DE META (ADAPTADO DE [1] ). ........... 24

TABELA 3 - NÍVEIS DE MATURIDADE NO CMMI. ......................................................... 28

TABELA 4 - METAS E PRÁTICAS ESPECÍFICAS PARA MEDIÇÃO E ANÁLISE NO NÍVEL 2 CMMI. ...................................................................................................................... 30

TABELA 5 - METAS E PRÁTICAS DAS ÁREAS DE PROCESSO DO NÍVEL 4 CMMI. 31

TABELA 6 - NÍVEIS DE MATURIDADE DO MR-MPS. .................................................... 33

TABELA 7 – EXEMPLO DE METAS DE NEGÓCIO. ......................................................... 43

TABELA 8 – EXEMPLO DE METAS DE MEDIÇÃO. ......................................................... 43

TABELA 9 – EXEMPLO DE QUESTÕES. ............................................................................ 44

TABELA 10 – EXEMPLO DE DEFINIÇÃO DE UM INDICADOR. ................................... 45

TABELA 11 - CASOS DE USO PRINCIPAIS E REQUISITOS RELACIONADOS. .......... 55

TABELA 12 - CATEGORIA DA SELEÇÃO BYTYPE POR TIPO DE ALVO. .................... 61

TABELA 13 - METAS DE NEGÓCIO ELABORADAS NO ESTUDO DE CASO. ............. 81

TABELA 14 - METAS DE MEDIÇÃO ELABORADAS NO ESTUDO DE CASO E METAS DE NEGÓCIO RELACIONADAS. ......................................................................................... 81

TABELA 15 - QUESTÕES NO ESTUDO DE CASO E METAS DE MEDIÇÃO RELACIONADAS.. ................................................................................................................. 82

TABELA 16 - INDICADORES NO ESTUDO DE CASO E QUESTÕES RELACIONADAS. .................................................................................................................................................. 82

TABELA 17 – APOIO FORNECIDO AO NÍVEL 2 DO CMMI E AO NÍVEL F DO MPS.BR. ................................................................................................................................... 86

Page 11: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

XI

LISTA DE SIGLAS E ABREVIAÇÕES

CMMI Capability Maturity Model Integration

GQM Goal-Question-Metric

GQ(I)M Goal-Question-Indicator-Metric

MIP Measurement Implementation Plan

MIPModel Measurement Implementation Plan Model

MPS.BR Melhoria do Processo de Software Brasileiro

OrgMIP Organizational Measurement Implementation Plan

PSEE Process-Centered Software Engineering Environment

Page 12: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

XII

RESUMO

Os atuais avanços tecnológicos em diversos setores da sociedade resultam em demanda por

software cada vez mais complexo, robusto e confiável. Como conseqüência, a complexidade

de gerenciar o desenvolvimento de software também é maior: surgem novas tecnologias,

padrões e técnicas, o mercado é mais competitivo e exige maior produtividade e qualidade

com menor custo e prazo. Nesse cenário, dados quantitativos que retratem a realidade do

processo de desenvolvimento são úteis para fundamentar e justificar decisões e tomada de

ações. Além disso, medidas coletadas formam uma base histórica valiosa que pode ser usada

para caracterizar o processo e seus elementos, obter conhecimento sobre pontos fortes e

oportunidades de melhorias, avaliar o alcance de metas e impactos de mudanças, realizar

planejamento e previsões, entre outros. Esta dissertação apresenta uma abordagem para

medição de projetos de software cujo objetivo é prover apoio para seleção, coleta e análise de

dados quantitativos e qualitativos que possam auxiliar a melhoria de processos e seus

produtos. A abordagem está integrada em um ambiente de desenvolvimento centrado em

processos usufruindo, portanto da estrutura e potenciais benefícios oferecidos para gerência

de processos.

Palavras-chave: Engenharia de Software, Processo de Software, Medição,

Tecnologia de Processo.

Page 13: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

XIII

ABSTRACT

Current technological advances demand software systems with increasing complexity and

reliability attributes. As a consequence it also influences software management activities: new

technologies arise; market is more competitive and requires higher productivity and quality;

the pressure for time-to-market is increasing as well. Thus, information reflecting software

development status is needed in order to justify decisions and actions to be taken by

managers. Besides, the collected data constitute a valuable historical database that can be used

to: characterize the process and its elements; obtain knowledge on strong points and

opportunities of improvements; evaluate the reach of goals and the impacts of changes; plan

and foresight outcomes; and so on. This work presents a measurement methodology for

software projects which aims to provide quantitative and qualitative data that can improve

both processes and their products. Finally, this proposal was built on the top of a process-

centered software engineering environment, which explores the synergy of such integration in

order to provide management staff with continuously updated information.

Keywords: Software Engineering, Software Process, Measurement, Software

Process Technology.

Page 14: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

14

CAPÍTULO 1

INTRODUÇÃO

O contexto atual de desenvolvimento de software caracteriza-se pela grande

demanda por sistemas de software cada vez mais complexos e robustos, freqüentes mudanças

de tecnologia e surgimento de padrões, metodologias e técnicas. O mercado é mais

competitivo, com clientes exigindo maior produtividade em menos tempo, com menor custo,

e maior qualidade do produto de software. O melhor atendimento a esses requisitos implica

em um grande diferencial entre organizações de software [33].

Qualidade deixou de ser um diferencial competitivo e tornou-se um requisito básico

para a sobrevivência no mercado [18]. Com isso, nos últimos anos as organizações de

desenvolvimento de software voltaram sua atenção à maneira como constroem software, ou

seja, ao Processo de Software. O Processo de Software pode ser definido como um conjunto

de atividades e seus elementos relacionados que devem ser realizadas para transformar as

necessidades do cliente em software. Em outras palavras, processos de software indicam o

que deve ser feito, quando, como, onde e por quem deve ser feito, e quais recursos serão

utilizados.

Para gerar produtos de software com níveis de qualidade desejáveis é necessário

verificar a qualidade do processo utilizado para desenvolvê-los. Para tanto, segundo [14] duas

abordagens são adotadas: a melhoria do processo de software e o uso de tecnologia para

apoiá-lo e até mesmo automatizá-lo. O uso de tecnologia para automação de processo de

software tem sido apoiado por ambientes integrados de desenvolvimento denominados PSEEs

(Process-Centered Software Engineering Environments) [11], que são ambientes que podem

apoiar a análise, modelagem, simulação, execução e reutilização de processos de

desenvolvimento de software para automação do seu gerenciamento.

Em relação à melhoria do processo, alguns modelos de qualidade tem sido propostos,

como os padrões CMMI (Capability Maturity Model Integration) [8] e o brasileiro MPS.BR

(Melhoria do Processo do Software Brasileiro) [44]. Esses modelos definem um conjunto de

práticas/atividades que as organizações devem seguir para se enquadrar em um dos crescentes

níveis de qualidade. Níveis mais altos de qualidade exigem melhoria constante do processo de

Page 15: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

15

software apoiada por dados quantitativos e qualitativos, ou seja, atividades de medição e

análise do processo são requisitos essenciais para alcançar maturidade no desenvolvimento de

software.

Medição é o processo pelo qual números ou símbolos são associados a atributos e

entidades no mundo real, descrevendo-as de acordo com regras claramente definidas e

produzindo como resultado um conjunto de métricas [15]. Através da medição obtêm-se

dados que retratam a realidade do processo de desenvolvimento de software, propiciando a

melhoria do processo através da análise de ineficiências, oportunidades de melhoria e

avaliação de impactos.

Apesar do consenso sobre a importância da medição em processos de software, a

implementação de um processo de medição nas organizações de desenvolvimento de software

ainda é problemática [42]. Isso ocorre porque definir um processo de medição não é uma

tarefa trivial, pois demanda conhecimento para que não venha aumentar as dificuldades

enfrentadas durante o desenvolvimento de software, como por exemplo, demanda de esforço

na coleta de métricas desnecessárias e análise equivocada dos resultados. Portanto, para

reduzir os custos e riscos de um processo de medição ineficiente e/ou incorreto, torna-se

necessário a adoção de uma metodologia que auxilie a identificação de métricas úteis e

facilite a análise dos resultados.

1.1. SUMÁRIO DOS OBJETIVOS DESTE TRABALHO.

No contexto do cenário descrito, a proposta dessa dissertação é a definição de uma

abordagem automatizada para implantação de Processos de Medição, abrangendo:

• Seleção e definição de métricas que forneçam informações úteis à organização;

• Definição de procedimentos de coleta e análise;

• Recuperação e Análise dos resultados obtidos.

Como parte integrante da proposta, será definida uma abordagem de integração com

um ambiente automatizado de gerenciamento de processos, visando usufruir da riqueza de

dados e informações armazenadas em um ambiente que permite a modelagem e

acompanhamento de processos, mantendo o registro da execução dos processos.

Page 16: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

16

1.2. ORGANIZAÇÃO DO TEXTO.

Além da Introdução, esta dissertação possui mais cinco capítulos, organizados como

descrito a seguir.

O segundo capítulo resume o estudo realizado sobre medições e processos de

software, apresentando conceitos sobre medição, além de abordagens encontradas na

literatura para executar medições em processos de software. São apresentados também

modelos de melhoria de qualidade de processos e uma discussão sobre como a medição está

inserida nestes modelos. Em seguida descreve-se como ambientes de desenvolvimento de

software fornecem auxílio para automação do gerenciamento de processos, para então

apresentar o ambiente WebAPSEE, no qual a proposta deste trabalho foi integrada.

No terceiro capítulo o modelo proposto para Processo de Medição é apresentado,

contendo a descrição e justificativa de todos os passos. Em seguida é descrita a abordagem de

integração com o ambiente WebAPSEE.

No quarto capítulo é apresentado o projeto de classes para o protótipo de apoio à

abordagem. Em seguida são descridos os módulos desenvolvidos e as alterações realizadas no

ambiente WebAPSEE para possibilitar a integração do protótipo.

O quinto capítulo apresenta a análise da proposta através da simulação de um

processo real, avaliação da aderência aos modelos CMMI e MPS.BR e, por último,

comparação com trabalhos relacionados.

Por fim, no capítulo 6 são descritas as considerações finais, uma análise crítica da

proposta e os trabalhos futuros.

Page 17: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

17

CAPÍTULO 2

MEDIÇÃO E PROCESSO DE SOFTWARE

Para gerar produtos de software com níveis de qualidade desejáveis é necessário

verificar a qualidade das atividades, ferramentas e métodos utilizados, pois a qualidade do

software é fortemente relacionada com a qualidade do processo executado para desenvolvê-lo

[19].

O Processo de Software pode ser definido como um conjunto de atividades e seus

elementos relacionados (recursos, pessoas, ferramentas, entre outros) que devem ser

realizadas para transformar as necessidades (requisitos) do cliente em software. Em outras

palavras, processos de software indicam o que deve ser feito, quando, como, onde e por quem

deve ser feito, e quais recursos serão utilizados. Como ilustra a Figura 1, a partir dos

requisitos iniciais de um problema a ser solucionado por software, um processo será adotado

para transformar os requisitos em um produto de software.

Figura 1 - O Processo de Software [37].

Para planejar o processo de desenvolvimento de um produto de software, alternativas

são avaliadas para definir e organizar as atividades, períodos devem ser estimados de acordo

com os prazos estabelecidos e os recursos e pessoas devem ser alocados dentro das restrições

Page 18: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

18

de custo determinadas. Além disso, problemas devem ser previstos através da avaliação de

riscos, e possíveis soluções estratégicas devem ser elaboradas.

Por mais que seja bem planejado, dificilmente o processo executado será idêntico ao

seu planejamento inicial. Isso ocorre porque o processo de software não é estático [30], é um

processo criativo que envolve pessoas e cujos requisitos certamente mudam e/ou evoluem ao

longo de seu progresso. Portanto, para obter sucesso no projeto de desenvolvimento é

imprescindível monitorar a execução do processo em relação ao que foi planejado e, caso

necessário, modificar o processo para mantê-lo sob controle, novamente avaliando

alternativas e antecipando riscos na tentativa de finalizar o projeto de acordo com o prazo e

custo estimados. Nesse cenário, dados quantitativos que retratem a realidade do processo são

indispensáveis para o seu gerenciamento.

Em qualquer campo da Ciência, medições e análises geram descrições quantitativas

que nos ajudam a compreender comportamentos e resultados [36]. Dentre as razões para

realizar medições em processos, produtos e recursos relacionados, pode-se citar o fato de que,

através da análise de seus resultados, fornecem subsídios para ([6] e [34]):

• Caracterizar processos, produtos e recursos para melhor conhecê-los e

estabelecer baselines para futuras comparações;

• Monitorar a execução do processo e assim verificar sua aderência em relação ao

seu planejamento, possibilitando tomada de ações para controle de custos, prazos

e redução de riscos;

• Avaliar o alcance de metas de qualidade e o impacto de ações de melhorias

tecnológicas e de processo;

• Prever e planejar baseando-se em dados históricos, obtendo conhecimento

acerca dos relacionamentos entre processos e seus elementos correlatos, de modo

que os valores observados em determinados atributos possam ser usados para

prever outros. Além disso, o conhecimento obtido possibilita que as estimativas

sejam feitas com base em evidências; e

• Melhorar, identificando através de informações quantitativas ineficiências e

oportunidades de melhoria, propiciando melhor escolha de métodos, técnicas e

ferramentas.

Na próxima seção são apresentados conceitos necessários para compreender, analisar

e fazer uso de medições. Em seguida, a seção 2.2 descreve abordagens propostas na literatura

Page 19: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

19

especializada para medição em processos de software. Por último, a seção 2.3 apresenta

modelos de melhoria de qualidade de processos, destacando como o processo medição está

inserido nesses modelos.

2.1. CONCEITOS RELACIONADOS À MEDIÇÃO.

Segundo [15], medição é o processo pelo qual números ou símbolos são associados a

atributos e entidades no mundo real, descrevendo-as de acordo com regras claramente

definidas e produzindo como resultado um conjunto de métricas. Portanto, medição é a forma

de capturar e mapear informações de atributos do mundo real para o mundo formal, de modo

que possam ser manipuladas para caracterizar e conhecer melhor os atributos em questão [17],

[26].

Para melhor manipular e analisar corretamente os resultados obtidos pela medição, é

necessário conhecer quais elementos estão envolvidos na execução da medição, e como se

relacionam entre si. Kitchenham et al descreve esses elementos em [26], representados na

Figura 2 por um diagrama de classes com separação entre elementos do mundo real e formal.

Figura 2 - Modelo de classes para Medição (adaptado de [26]).

Uma Entidade é um objeto observado no mundo real para o qual, através de

medição, deseja-se capturar características a fim de manipulá-las formalmente. São exemplos

de entidades na Engenharia de Software: processos (qualquer atividade relacionada com

desenvolvimento e/ou manutenção de software), produtos (artefatos produzidos ou

Mundo Formal (Matemático) Mundo Empírico (Real)

Page 20: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

20

modificados durante o desenvolvimento, em diferentes níveis granularidade), e recursos

(pessoas, equipamentos e software utilizados).

As características de uma entidade são denominadas Atributos. Uma entidade pode

possuir vários atributos, como tamanho, esforço, complexidade, entre outros. Um mesmo

atributo pode qualificar várias entidades, como por exemplo, o atributo produtividade pode

ser aplicado a pessoas, equipes ou processos.

Uma Unidade de medição determina como medir um atributo. Várias unidades

poder ser usadas para medir um mesmo atributo (temperatura, por exemplo, pode ser medida

em graus Fahrenheit, Celsius, ou na escala Kelvin), e uma unidade pode estar relacionada a

diferentes atributos.

O Tipo de Escala de uma unidade determina as transformações admissíveis para uso

e análise de atributos quantificados em uma unidade específica. Portanto, compreender o tipos

de escala é importante para que, ao aplicar operações matemáticas, encontre-se resultados

válidos. De acordo com [7], [26] e [34], os tipos de escalas são:

• Nominal: é o tipo de escala mais simples, usada para classificar entidades. O

valor do atributo pode ser um nome ou um rótulo, sendo aceitável qualquer

representação simbólica ou numérica, porém não há noção de magnitude. Não

permite a realização de operações aritméticas nem ordenação de valores;

• Ordinal: acrescenta a noção de ordem à escala nominal, mas a distância entre os

valores não tem qualquer significado;

• Intervalar: define uma distância entre um valor e outro, de forma que existam

intervalos de mesmo tamanho entre valores consecutivos. Permite a execução de

operações de adição, subtração e média, mas não permite comparação entre

valores por não existir um zero absoluto nessa escala;

• Racional: nessa escala existe a definição de um zero absoluto, que representa a

ausência do valor medido e funciona como o ponto inicial da escala. Com isso, é

permitido calcular a razão entre grandezas;

• Absoluta: é um caso especial de escala racional onde o único multiplicador

permitido é o número um. A medição nessa escala é feita contando o número de

ocorrências, como por exemplo, a determinação da quantidade de defeitos

encontrados num produto após a entrega.

Page 21: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

21

A Tabela 1 apresenta as operações válidas para cada tipo de escala, além de alguns

exemplos.

Tabela 1 - Tipos de escala e operações admissíveis.

Tipo de

Escala Operações Exemplos

Nominal Determinação de igualdade e cálculo

da moda.

Rótulos e classificações como:

- Nomes de linguagens de programação (ex.: Ada, C,

Java)

- Tipos de atividade (análise, projeto, codificação,

teste).

Ordinal

O mesmo que acima, mais a

determinação de maior e menor, e

cálculo da mediana.

Classificações como:

- Complexidade de risco (Alta, Média, Baixa).

- Experiência do desenvolvedor (Inexperiente, Pouco

Experiente, Experiente, Especialista).

Intervalar

O mesmo que acima, mais a

determinação de igualdade de

intervalos, soma, diferença e média

aritmética.

- Tempo (hora, minuto, segundo).

- Data.

- Temperatura em graus Fahrenheit ou Celsius.

Racional

Mesmo que acima, mais a

determinação de igualdade de

razões, média geométrica e média

harmônica.

- Intervalos de tempo.

- Custo, esforço, tamanho.

- Temperatura na escala Kelvin.

Absoluto

Mesmo que acima, mais a

determinação de igualdade com

valores obtidos de outras escalas do

mesmo tipo.

- Contagens em geral.

- Probabilidade.

Ao medir um atributo de uma entidade, aplica-se a ele uma unidade específica para

obter um determinado Valor. O valor medido só tem sentido no contexto da entidade, atributo

e unidade de medida aos quais está relacionado.

Um Instrumento de Medição pode ser usado para determinar o valor de um atributo

usando uma unidade específica de medição. Como exemplo pode-se usar um termômetro para

medir temperatura, um software para contar linha de código, entre outros.

A medição de um atributo pode ser classificada como direta ou indireta. Medições

diretas mapeiam valores de atributos através da observação apenas do atributo envolvido,

gerando métricas denominadas primitivas, diretas ou básicas. A medição indireta de um

Page 22: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

22

atributo envolve valores de outros atributos necessários para calcular o valor desejado.

Métricas que dependem de outras métricas são chamadas de secundárias, indiretas ou

derivadas.

Por sua vez, as métricas podem ser classificadas como métricas objetivas ou

métricas subjetivas. Métricas objetivas independem do autor da medição – o mesmo

resultado será obtido quando duas ou mais pessoas executam a mesma medição. Métricas

subjetivas dependem do contexto e do julgamento da pessoa que realizou a medição, sendo

possível obter resultados diferentes se medidas novamente por outra pessoa, ou até se pela

mesma pessoa em outro momento.

2.2. ABORDAGENS DE MEDIÇÃO EM PROCESSOS DE SOFTWARE.

A etapa principal para a definição de um processo de medição é a seleção das

métricas que serão coletadas, o que não é uma tarefa trivial. Diversas métricas já foram

propostas na literatura para uma grande variedade de atributos de processos, produtos,

recursos, entre outros, como em [12], [17] e [25], o número de atributos de entidades passíveis

de medição é potencialmente grande [34], assim como as possíveis escalas de medição [6].

Segundo Park et al [34], o desafio da medição é identificar quais atributos devem ser

coletados para gerar visões úteis das entidades que necessitam ser analisadas, gerando o

mínimo de esforço extra possível. A escolha incorreta de atributos e métricas pode aumentar

as dificuldades enfrentadas durante o desenvolvimento de software, como demanda de esforço

na coleta de métricas desnecessárias e análise equivocada dos resultados.

Os modelos existentes para seleção de métricas podem ser categorizados por duas

abordagens principais [35]: bottom-up e top-down. Na abordagem bottom-up, é selecionado

um conjunto de métricas a serem coletadas em relação ao processo, recursos, produtos e seus

resultados. Inicia-se verificando o que pode ser medido e a partir daí pode-se chegar aos

objetivos da medição [22]. A abordagem defende que existe um conjunto de métricas

fundamentais necessárias para responder qualquer questão da organização. Na prática, a

abordagem mostrou-se falha no principal objetivo da medição: prover informações

quantitativas para apoiar decisões gerenciais [16].

A abordagem top-down preconiza que métricas devem ser derivadas de objetivos e

necessidades de informação da organização, e a interpretação dos dados deve ser feita no

contexto dos objetivos. Portanto, ao se iniciar um programa de medição a primeira pergunta a

Page 23: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

23

ser feita não deve ser “Que métricas devem ser coletadas?”, mas sim “O que se deseja

aprender?” [39].

A literatura apresenta diferentes abordagens top-down, como o QFD (Quality

Function Deployment Aproach) [27], o SQM (Software Quality Metrics Approach) [5] e o

GQM (Goal-Question-Metric) [1][2]. Dentre esses, o GQM é o mais difundido por ter se

mostrado o mais flexível e aplicável [38].

As próximas subseções descrevem, respectivamente, o paradigma GQM e sua

vertente Goal-Driven Software Measurement, por terem sido a base da proposta desse

trabalho.

2.2.1. O Paradigma GQM.

O GQM é um paradigma orientado a objetivos, portanto afirma que o processo de

medição não deve ser guiado pelas métricas, mas sim pelo o que se deseja obter através de sua

coleta. Foi desenvolvido inicialmente na Universidade de Maryland em cooperação com a

NASA [4] e depois passou a fazer parte do projeto TAME [3].

O paradigma GQM afirma que medições só devem ser realizadas se estiverem

fundamentadas por uma ou mais metas claramente definidas. Logo, o ponto de partida para

seleção de métricas é a definição de um conjunto de metas que se pretende atingir quanto ao

processo e produtos através de atividades de medições. Em geral, as metas são relacionadas a

questões fundamentais para a organização, como por exemplo, produtividade.

Em seguida deve ser gerado um conjunto de questões que traduzam as metas em

aspectos quantitativos e que, ao serem respondidas, ajudem a organização a atingir as metas

identificadas. Finalmente, identificam-se métricas que ao serem coletadas ajudem a responder

as questões. A Figura 3 ilustra o relacionamento existente entre metas, questões e métricas.

Enquanto a definição das métricas segue a abordagem top-down, a interpretação dos dados é

feita de modo bottom-up: de posse dos dados, verifica-se as questões e metas relacionadas

para então analisar os resultados.

Page 24: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

24

Figura 3 – O paradigma GQM [46].

Devido ao fato de que as metas são primordiais para a definição da estrutura de

medição, o GQM estabelece que a definição de uma meta deve ser composta por: 1) uma

proposta que especifica o objeto alvo de medição e a razão da coleta; 2) uma perspectiva que

define o aspecto de referência e o ponto de vista a ser adotado; e 3) uma descrição do

ambiente, o contexto em que a medição será executa, com objetivo de permitir futuras

comparações. A Tabela 2 mostra o gabarito sugerido em [1] para definição de metas do GQM.

Tabela 2 - Gabarito para definição de meta (adaptado de [1] ).

Proposta Analisar o(a)_______________________ (objeto: processo, produto) Com a intenção de___________________ (razão: conhecer, avaliar, prever, melhorar)

Perspectiva o(a)______________________________ (foco :custo, correção, confiabilidade,...) do ponto de vista do(a)_______________ (quem: usuário, cliente, desenvolvedor, gerente,....)

Ambiente no seguinte contexto: _______________________ (descrever o ambiente)

Segundo Soligen e Berghout em [46], a aplicação do GQM possui 4 etapas:

• Planejamento, onde ocorre a seleção do que será mensurado e planejamento do

projeto de medição;

• Definição, na qual as metas, questões e métricas são definidas e documentadas.

• Coleta de Dados; e

• Interpretação, onde os dados coletados são analisados para responder as

questões e as respostas encontradas são analisadas para verificar o alcance das

metas estabelecidas.

Aplicando-se o GQM, as medições realizadas são alinhadas com os objetivos

organizacionais, diminuindo o risco de coletar métricas que não possuam utilidade para a

Def

iniç

ão

G1 G2

Q1 Q2 Q3 Q4 Q5

M1 M2 M3 M4 M5 M6 M7

Questões

Métricas

Interpretação

Metas

Page 25: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

25

organização. A rastreabilidade entre as metas e métricas coletadas tem como benefício servir

como base para futuras melhorias no próprio processo de medição, já que mudanças nas metas

refletirão mudanças nas suas métricas derivadas. Além disso, a mesma rastreabilidade é usada

no sentido de métrica em direção à meta para auxiliar na interpretação correta dos resultados.

2.2.2. O Paradigma Goal-Driven Software Measurement.

Considerado como uma extensão do GQM, o paradigma Goal-Driven Software

Measurement foi proposto em 1996 pelo Software Engineering Institute (SEI), da

Universidade de Carnegie Mellon [34]. O objetivo do paradigma é auxiliar a seleção de

métricas de apoio ao alcance às metas de negócio da organização, mantendo a rastreabilidade

entre métricas e metas de negócio para que os esforços de medição não sejam desviados de

seus propósitos de origem.

O paradigma Goal-Driven Software Measurement determina um processo completo

para definição de uma política de medição, composto por 10 passos ordenados:

1. Identificar Metas de Negócio.

2. Identificar o que se deseja aprender.

3. Identificar Submetas para refinar as Metas de Negócio.

4. Identificar entidades e atributos relacionados com as Submetas.

5. Formalizar Metas de Medição.

6. Identificar Questões quantitativas e Indicadores relacionados que auxiliem a o

alcance das Metas de Medição.

7. Identificar os elementos de dados que serão coletados para construir os

Indicadores.

8. Definir e padronizar as medições que serão usadas.

9. Identificar as ações que serão tomadas para implementar as medições.

10. Preparar um plano para a implementação das medições.

São duas as principais características que diferem o Goal-Driven Software

Measurement do GQM: 1) o processo inicia a partir de metas de negócio organizacionais, e 2)

após a geração de questões, define-se indicadores que auxiliarão na seleção de métricas mais

adequadas. Devido à inserção desse elemento em relação ao GQM, o paradigma Goal-Driven

Page 26: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

26

Software Measurement é também conhecido como GQ(I)M (Goal-Question-Indicator-

Metric), acrônimo que será usado nesse trabalho deste ponto em diante.

As metas de negócio devem representar os esforços estratégicos da organização e

não estão necessariamente relacionadas a atributos mensuráveis do processo. Para cada meta

de negócio identificada, são enumerados os aspectos que necessitam ser compreendidos,

verificados, previstos ou melhorados para que a meta seja atingida. Agrupando esses aspectos,

é possível desenvolver metas específicas, chamadas de submetas, para as metas de negócios.

O próximo passo é a definição de entidades do processo que será medido, e para cada

entidade enumeram-se seus atributos mensuráveis.

Com a execução dos quatro primeiros passos, gera-se uma estrutura de informação

que será a base para a aplicação do GQM do quinto ao sétimo passo, com a diferença da

identificação dos indicadores.

Um indicador é uma representação de um ou mais resultados de medição, elaborado

para facilitar a comunicação e compreensão dos resultados e assim ajudar a responder as

questões derivadas das metas de medição.

A Figura 4 ilustra o relacionamento entre os elementos identificados nos sete

primeiros passos, destacando as etapas de aplicação do GQM. Os três últimos passos visam

operacionalizar as medições através da padronização do processo de coleta e planejamento da

implantação desse processo na organização.

Figura 4 - O paradigma Goal-Driven Software Measurement.

Indicadores

Metas de Medição G1 G2

Q1 Q2 Q3 Q4

M1 M2 M3 M4 M5 M6

Questões

Métricas

Metas de Negócio

Aspectos que se deseja compreender

Submetas Entidades e Atributos

I1 I2 I3 I4 I5

Page 27: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

27

2.3. MEDIÇÃO E MODELOS DE MELHORIA DE QUALIDADE.

No intuito de promover a melhoria na qualidade de processos, têm sido propostos

modelos que avaliam e certificam o nível de maturidade de uma organização na execução de

seus processos, como o CMMI (Capability Maturity Model Integration) [8] e o brasileiro

MPS.Br (Melhoria do Processo do Software Brasileiro) [44]. Este último é baseado nos

padrões ISO/IEC 12207 [23], ISO/IEC 15504 [13] e na representação em estágios do CMMI.

Em geral, modelos de melhoria de qualidade de processos definem práticas que as

organizações devem seguir para se enquadrarem em algum dos seus crescentes níveis de

maturidade estabelecidos. As subseções a seguir apresentam os modelos CMMI e MPS.Br

respectivamente, evidenciando como a medição de processos é tratada em cada um dos

modelos.

2.3.1. CMMI

O CMMI é um modelo de melhoria de maturidade de processos de desenvolvimento

de produtos e serviços, desenvolvido pelo Software Engineering Institute da Universidade de

Carnegie Mellon em conjunto com órgãos militares americanos e organizações da indústria de

desenvolvimento de software. Seu objetivo é prover um framework único e integrado para

melhoria de processo em organizações, contendo melhores práticas para atividades de

desenvolvimento e manutenção a serem executadas em todo o ciclo de vida de um produto.

Inicialmente, o SEI desenvolveu o modelo SW-CMM (Software Capability Maturity

Model), por solicitação do Departamento de Defesa norte-americano. Posteriormente surgiram

outros modelos CMM para várias disciplinas, dentre os quais se destacaram os modelos para

Engenharia de Sistemas, Engenharia de Software, Aquisição de Software, Gerência de Força

de Trabalho e Desenvolvimento Integrado de Processo e Produto. Apesar da utilidade

comprovada desses modelos em diferentes indústrias, o uso de múltiplos modelos se mostrou

problemático, limitando a expansão de melhorias dentro de uma organização. Para solucionar

esse problema, o CMMI foi desenvolvido como uma evolução dos modelos SW-CMM

(Capability Maturity Model for Software), SECM (System Engineering Capability Model) e

IPD-CMM (Integrated Product Development Capability Maturity Model), sendo portanto o

sucessor desses modelos.

O framework CMMI permite a utilização de um modelo próprio para uma única

disciplina ou a integração de modelos, como Engenharia de Software e Aquisição de

Software. Nesta seção será dado enfoque para o modelo CMMI-DEV [41], que provê

Page 28: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

28

recomendações para o gerenciamento, medição e monitoração de processos de

desenvolvimento.

No CMMI, os tópicos mais importantes para melhoria de processos são agrupados

em áreas de processos, classificadas em uma das 4 categorias: Gerência do Processo, Gerência

do Projeto, Engenharia e Suporte. Para cada área de processo são definidas práticas

específicas necessárias para atingir suas metas.

Pela representação em estágios, o CMMI define cinco níveis crescentes de

maturidade para a capacidade da organização em desenvolver seus produtos com qualidade e

conforme os custos e prazos assumidos. A Tabela 3 apresenta os níveis de maturidade e suas

áreas de processo.

Tabela 3 - Níveis de Maturidade no CMMI.

Nível Áreas de Processo

Nível 5: Em Otimização Análise de Causas e Resolução

Inovação e Implantação na Organização

Nível 4: Quantitativamente Gerenciado

Gerenciamento Quantitativo do Processo

Desempenho do Processo Organizacional

Nível 3: Definido Desenvolvimento de Requisitos

Solução Técnica

Integração de Produtos

Verificação

Validação

Foco no Processo Organizacional

Definição do Processo Organizacional

Treinamento Organizacional

Gerência Integrada do Projeto

Gerência de Riscos

Análise de Decisão e Resolução

Nível 2: Gerenciado Gerência de Requisitos

Planejamento do Projeto

Monitoração e Controle do Projeto

Gerência de Acordos com Fornecedores

Medição e Análise

Garantia da Qualidade do Processo e do Produto

Gerência de Configuração

Nível 1: Inicial -

Page 29: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

29

Além das práticas e metas específicas de cada área de processo, em cada nível de

maturidade são definidas práticas genéricas para todas as áreas de processo do nível em

questão e seus níveis inferiores.

O nível Inicial caracteriza organizações instáveis, com processos informais e caóticos

cujos projetos dependem dos esforços muitas vezes heróicos de algumas pessoas. Mesmo

nesse contexto podem ser desenvolvidos produtos que funcionem como requerido, mas

freqüentemente extrapolam os custos e prazos planejados.

No nível Gerenciado, o processo é gerenciado em nível de projeto. Com a adoção das

práticas relacionadas às áreas de processo do nível, a organização é capaz de assumir

compromissos em relação ao desenvolvimento dos requisitos, prazos e custos de projetos com

grandes chances de cumpri-los. Como essas práticas são aplicadas no nível de projetos,

mudanças na estrutura da organização podem causar problemas nos projetos, sejam elas

mudanças de políticas, tecnologia, entre outras.

No nível Definido, o foco está na padronização dos processos. Para tanto, os

processos são definidos e institucionalizados na organização através de padrões,

procedimentos, ferramentas e métodos. Também são estabelecidas instruções de adaptação

para que os processos-padrão da organização possam ser ajustados às características de cada

projeto. Para alcançar o nível 3, além de executar as práticas definidas para ele é necessário

cumprir as determinações do nível 2.

O enfoque do nível 4 é a Gerência Quantitativa dos processos executados na

organização. Para tanto são estabelecidos objetivos quantitativos para a qualidade e

desempenho do processo organizacional, e esses objetivos irão nortear o gerenciamento dos

processos. Nesse nível, a organização é proficiente em coletar métricas que possibilitem

gerenciar os processos através do controle estatístico dos seus objetivos e metas de qualidade.

Uma organização só pode alcançar o nível 4 se também cumprir as práticas requeridas nos

níveis 2 e 3.

O nível máximo do CMMI é o nível Em otimização, no qual os processos estão no

estágio de melhoria contínua e são otimizados de acordo com as necessidades do momento da

organização. As melhorias são baseadas em dados quantitativos e fornecem apoio para os

objetivos de qualidade e de desempenho do processo, pois derivam das metas de negócio da

organização.

Page 30: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

30

No CMMI as atividades de medição são agrupadas em uma área de processo

específica denominada Medição e Análise, que têm por objetivo “desenvolver e sustentar a

capacidade de medições que é utilizada para apoiar as necessidades de gerenciamento de

informações” [8]. Medição e Análise são classificadas como uma área de processo de suporte,

por constituírem um processo essencial que provê informações para outras áreas de processo.

Seguindo a representação em estágios preconizada pelo CMMI, a implantação da

área de processo Medição e Análise é iniciada já no nível 2 e possui duas metas específicas:

Alinhar Atividades de Medição e Análise e Fornecer Resultados de Medição. As práticas

associadas a cada uma das metas específicas são listadas na Tabela 4.

Tabela 4 - Metas e práticas específicas para Medição e Análise no nível 2 CMMI.

Meta Específica 1: Alinhar atividades de Medição e Análise

Práticas Específicas:

PE 1.1 - Estabelecer objetivos de medição.

PE 1.2 - Especificar medidas. PE 1.3 - Especificar procedimentos de coleta e armazenamento de dados.

PE 1.4 - Especificar procedimentos de análise.

Meta Específica 2: Fornecer Resultados de Medição

Práticas Específicas: PE 2.1 - Coletar dados de medições.

PE 2.2 - Analisar dados de medições.

PE 2.3 - Armazenar dados e resultados. PE 2.4 - Comunicar resultados.

Para atender a meta genérica do nível Gerenciado (2), o processo de Medição e

Análise deve ser institucionalizado como um processo gerenciado, e no nível Definido (3),

deve ser institucionalizado como um processo definido.

Além da área de processo Medição e Análise, o nível 4 do CMMI é fortemente

relacionado com medição através de suas duas áreas de processo: Desempenho dos

Processos Organizacionais, relacionado ao entendimento quantitativo dos processos, e

Gestão Quantitativa de Projetos, que visa utilizar o conhecimento obtido para alcançar

objetivos de qualidade e desempenho. Nesse nível, medições são usadas para monitorar os

processos sob controle estatístico e também gerenciar os projetos com informações

quantitativas. A Tabela 5 apresenta as metas e práticas associadas às áreas de processo do

nível 4.

Page 31: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

31

Tabela 5 - Metas e práticas das áreas de processo do nível 4 CMMI.

Área de Processo Metas Específicas Práticas

Desempenho dos Processos organizacionais

Estabelecer e manter modelos e linhas de base de desempenho de processos-padrão.

• Selecionar os processos e elementos a serem incluídos na análise de desempenho;

• Estabelecer medidas de desempenho de processos;

• Estabelecer objetivos de qualidade e desempenho dos processos;

• Estabelecer modelos de desempenho de processos.

Gestão Quantitativa de Projetos

Gerenciar quantitativamente os projetos.

• Estabelecer os objetivos do projeto quanto a qualidade e desempenho do processo;

• Compor o processo a ser utilizado no projeto;

• Selecionar os subprocessos a serem geridos estaticamente;

• Gerir o desempenho do projeto, identificando ações corretivas quando necessário.

Gerenciar estatisticamente o desempenho dos subprocessos.

• Selecionar medidas e técnicas de análise;

• Aplicar métodos estatísticos para compreender variações;

• Controlar o desempenho dos subprocessos selecionados;

• Registrar dados estatísticos no repositório de dados da organização.

Com a execução dessas práticas, serão obtidos conhecimentos que irão subsidiar a

implantação de melhoria contínua e otimização dos processos, assunto principal do nível 5 de

maturidade.

2.3.2. MPS.BR.

O modelo MPS.BR – Melhoria de Processo do Software Brasileiro – vem sendo

desenvolvido desde 2003 sob a coordenação da Associação para Promoção da Excelência do

Software Brasileiro- Softex, com apoio do MCT (Ministério da Ciência e tecnologia), FINEP

(Financiadora de estudos e Projetos) e BID (Banco Interamericano de Desenvolvimento).

O objetivo do MPS.BR é definir um modelo de melhoria e avaliação de processos de

software com custo de implantação acessível à industria de software brasileira, especialmente

as micro, pequenas e médias empresas, de modo que atenda sua necessidades de negócio e

viabilize a inserção das empresas no mercado internacional [44].

O MPS.BR é baseado nos conceitos de maturidade e capacidade de processo para

avaliação e melhoria de produtos de software e serviços. Como mostra a Figura 5, o MPS.BR

possui três componente - o Modelo de Referência (MR-MPS), o Método de Avaliação (MA-

Page 32: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

32

MPS) e o Modelo de Negócio (MN-MPS) - que descrevem o MPS.BR através de documentos

em formato de guias, que são:

• Guia Geral: descreve de modo geral o modelo MPS.BR e detalha o MR-MPS

apresentando as definições dos níveis de maturidade, processos e atributos do

processo, e os requisitos que devem ser atendidos.

• Guia de Implementação: é composto por sete guias que descrevem como

implementar cada nível de maturidade do modelo.

• Guia de Aquisição: descreve um processo para a condução de compras de

software e serviços correlatos, de forma a apoiar organizações que queiram

adquirir software e serviços correlatos apoiando-se no MR-MPS.

• Guia de Avaliação: descreve o processo e o método de avaliação MA-MPS, os

requisitos de avaliação, métodos e formulários de apoio à avaliação.

Figura 5 - Componentes do MPS.BR [44].

Visando obter reconhecimento internacional, o MPS.BR foi desenvolvido para ser

aderente a normas e modelos internacionais. A base técnica do MPS.BR é composta pelas

normas NBR ISO/IEC 12207 – Processo de Ciclo de Vida de Software, pelas emendas 1 e 2

da norma internacional ISO/IEC 12207 e pela ISO/IEC 15504 – Avaliação de Processo,

estando portanto em conformidade com esses modelos. O MPS.BR também é aderente ao

CMMI, cobrindo seu conteúdo através da inclusão de processos e resultados de processos em

relação aos processos da norma NBR ISO/IEC 12207.

O MPS.BR define níveis de maturidade que são uma combinação ente processos e

sua capacidade. A capacidade diz respeito à habilidade do processo para alcançar os objetivos

Page 33: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

33

de negócio atuais e futuros, e está relacionada com o atendimento a atributos de processo

definidos em cada nível de maturidade para os processos. São definidos 7 níveis de

maturidade no MR.MPS: A (em otimização), B (Gerenciado Quantitativamente), C

(Definido), D (Largamente Definido), E (Parcialmente Definido), F (Gerenciado) e G

(Parcialmente Gerenciado). A escala de maturidade inicia no nível G e progride até o nível A.

Para cada um dos níveis de maturidade foi atribuído um perfil de processos e de

capacidade de processos que direcionam os esforços da organização na busca de melhorias. O

atendimento a um determinado nível de maturidade é obtido quando todos os resultados do

processo e atributos de processos relacionados ao nível em questão e aos níveis anteriores são

atendidos.

São definidos 22 processos categorizados como Fundamentais, Organizacionais e de

Apoio. A Tabela 6 lista os processos do MPS.Br distribuídos nos 7 níveis de maturidade.

Tabela 6 - Níveis de Maturidade do MR-MPS.

Nível Processo

A (mais alto) Análise de Causas de Problemas e Resolução

B Gerência de Projetos (evolução)

C

Gerência de Riscos Desenvolvimento para Reutilização

Análise de Decisão e Resolução

Gerência de Reutilização (evolução)

D

Verificação

Validação Projeto e Construção do Produto

Integração do Produto Desenvolvimento de Requisitos

E

Gerência de Projetos (evolução) Gerência de Reutilização

Gerência de Recursos Humanos

Definição do Processo Organizacional Avaliação e Melhoria do Processo Organizacional

F

Medição Garantia de Qualidade

Gerência de Configuração

Aquisição

G Gerência de Requisitos

Gerência de Projetos

Page 34: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

34

No MR-MPS, Medição (MED) é um processo de apoio definido no nível F cujo

propósito é “coletar e analisar os dados relativos aos produtos desenvolvidos e aos processos

implementados na organização e em seus projetos, de forma a apoiar os objetivos

organizacionais” [45]. Portanto, o principal foco da medição é apoiar tomada de decisões

relacionadas a produtos, processos e atendimento de metas da organização. No nível F, são

esperados 7 resultados para o processo de Medição:

MED1 - Objetivos e atividades de medição são estabelecidos a partir das

necessidades de informação e objetivos da organização.

As necessidades de informação podem ser derivadas de objetivos de negócio da

organização e/ou da legislação e dos objetivos do produto e do processo. Geralmente,

necessidades de informação são definidas pelos dirigentes da organização e dos

processos técnicos e gerenciais. Principalmente no início da implantação do

processo, as necessidades devem ser priorizadas para que o processo inicie com

pequenas medições e então evolua de forma consistente e útil.

Os objetivos de medição devem especificar os propósitos das medições e análises e

os tipos de ações que podem ser tomadas a partir das análises dos dados. Tais

objetivos podem ser restringidos pelos processos existentes, recursos disponíveis ou

outras considerações de medições.

Recomenda-se o uso de um processo de medição, como por exemplo o GQM.

MED2 - Um conjunto adequado de medidas, orientado pelos objetivos de

medição, é identificado e/ou definido, priorizado, documentado, revisado e

atualizado.

Medidas são selecionadas para satisfazer os objetivos de medição definidos, e devem

ser documentadas contendo nome, descrição, unidade de medida e sua relação com

os objetivos de medição. As medidas selecionadas devem ser constantemente

revisadas com a gerência de alto nível para verificar se satisfazem as necessidades de

informação e objetivos de medição.

Page 35: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

35

MED3 - Os procedimentos para a coleta e o armazenamento de medidas são

especificados.

Para cada medida selecionada, devem ser documentados os procedimentos de coleta

e armazenamento dos dados, incluindo responsabilidades, ferramentas e freqüência

de coleta. No nível F não é obrigatório o uso de um repositório para as medições,

mas caso exista, deve ser definido em termos de localização, procedimentos de

inserção e de acesso aos dados, incluindo permissões e responsabilidades.

MED4 - Os procedimentos para a análise da medição realizada são

especificados.

As atividades de análise das medições devem ser documentadas para cada medida

selecionada, incluindo responsabilidades, freqüência, fase, dados de origem,

ferramenta, verificações e informações sobre como os resultados serão comunicados.

MED5 - Os dados requeridos são coletados e analisados.

Os dados devem ser coletados e analisados conforme definido em MED3 e MED4.

A interpretação dos resultados deve levar em conta o contexto em que os dados

foram coletados, permitindo que conclusões e futuras comparações ente dados da

mesma natureza sejam feitas devidamente.

MED6 - Os dados e os resultados de análises são armazenados.

Dados de medições, especificações, resultados de análises, indicadores,

interpretações e informações necessárias de contexto devem ser armazenados para

uso futuro. Geralmente as informações armazenadas incluem planos de medição,

especificação de medidas, conjunto de dados coletados e relatórios de análises e

apresentação.

MED7 - As informações produzidas são usadas para apoiar decisões e para

fornecer uma base objetiva para comunicação aos interessados.

As informações geradas - principalmente indicadores e suas interpretações - devem

ser comunicadas aos interessados de forma a apoiar tomada de decisão. A

comunicação deve ser feita de forma clara, concisa e adequada aos perfis dos

interessados e usuários da medição, além estar claramente relacionada com os

objetivos de medição para facilitar sua utilização.

Page 36: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

36

Nos níveis mais altos de maturidade do modelo (B e A), os resultados de medição

devem apoiar a previsão de tendências de qualidade para planejamento e tomada de ações.

2.4. AUTOMAÇÃO DO PROCESSO DE SOFTWARE E O AMBIENTE

WEBAPSEE

Apesar dos processos de software fornecerem uma visão mais organizada das etapas

e elementos envolvidos no desenvolvimento, o gerenciamento manual de um processo tornou-

se uma atividade árdua, principalmente quando se considera a quantidade e variedade de

indicadores que precisam ser coletados como evidência do aumento da qualidade e

maturidade do processo, como exigido pelos modelos MPS.BR e CMMI. Nesse cenário, a

área de pesquisa Tecnologia de Processo de Software surgiu na Engenharia de Software,

objetivando o estudo e desenvolvimento de ferramentas para automação do gerenciamento do

processo de software [37].

Constituindo um dos resultados mais promissores dessa área de pesquisa, Ambientes

de Desenvolvimento de Software Centrados em Processos (PSEE - Process-Centered

Software Engineering Environment) [11] são ferramentas desenvolvidas para prover

automação no gerenciamento do ciclo de vida de processos, com potencial de fornecer apoio

para análise, modelagem, simulação, execução e reutilização de processos.

Para permitir a modelagem de processos, um PSEE deve possuir em seu mecanismo

uma linguagem de modelagem de processos (PML – Process Modelling Language). PMLs

são linguagens específicas de programação voltadas para a definição e automação de

processos de software, devendo portanto oferecer recursos para definir e manipular as

atividades do processo.

O WebAPSEE é um ambiente para automação do gerenciamento de processos de

software baseado em Software Livre cujo desenvolvimento é mantido pelo Laboratório de

Engenharia de Software da Universidade Federal do Pará. A versão atual do ambiente serve

como base de integração para um número de meta-modelos de apoio à simulação,

instanciação, execução, melhoria e reuso de processos [28][30].

O meta-modelo do WebAPSEE é fundamentado em um paradigma baseado em

atividades, descrevendo um processo como uma coleção parcialmente ordenada de atividades

e é composto por mais de 150 classes. Uma descrição detalhada deste meta-modelo pode ser

encontrada em [30]e [47].

Page 37: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

37

O ambiente dispõe de uma linguagem de modelagem de processo denominada

WebAPSEE-PML que fornece representação gráfica para os construtores da linguagem

proposta. Possui ainda um conjunto dinâmico de mecanismos que fornece sincronização

flexível através de conexões de atividades.

A Figura 6 resume a representação gráfica da WebAPSEE-PML. As atividades do

processo podem ser modeladas como atividades Normais, Automáticas e Decompostas (que

se decompõem em outras atividades). Atividades são executadas por Agentes ou Grupo de

agentes, produzem e recebem como entrada Artefatos e podem consumir Recursos. As

Conexões denotam controle de fluxo entre as atividades.

Figura 6 - Representação gráfica para as principais construções da WebAPSEE-PML.

O WebAPSEE oferece também apoio para gerência flexível de processos através do

suporte à modificação dinâmica, permitindo adição, remoção e alteração de atividades,

recursos e pessoas após o início da execução do processo sem que este se torne inconsistente.

Como pode ser visto na Figura 7, o WebAPSEE provê separação explícita de

interesses do gerente e dos desenvolvedores em um processo. Através de sua tela específica

(WebAPSEE-Manager – que mostra um processo exemplo em execução), o gerente modela e

acompanha a execução de processos, tratando de informações sobre o Projeto, o Ambiente, o

Processo em si, as Pessoas, os Artefatos, os Recursos e as Políticas [30]. O desenvolvedor

controla suas tarefas através da agenda de tarefas (denominada Task Agenda), podendo

iniciar, pausar, finalizar ou delegar uma tarefa, além ter acesso a funcionalidades para obter e

submeter atualizações aos artefatos de software do processo em execução.

Page 38: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

38

Figura 7 - Visão do Gerente e do Desenvolvedor no WebAPSEE.

Em relação ao apoio à medição e análise, convêm destacar a existência de um pacote

de classes denominado ProcessKnowledge, que exerce o papel de base para definição, registro

e estimativas de métricas dos projetos executados no ambiente [32].

Uma métrica pode ser definida no ambiente WebAPSEE como pertencente a um

artefato, um processo, uma atividade, um recurso, um agente, um grupo de agentes ou à

organização. É possível especificar mais de uma unidade de medida para uma métrica, como

por exemplo para a métrica “Tamanho”, que pode ser medida em “linhas de código”, “pontos

por função” ou outra unidade escolhida livremente pelo gerente. O ambiente permite também

que se defina um intervalo válido para valores de uma métrica, e que sejam registradas

informações úteis sobre o método que deve ser utilizado para coletar a métrica. O gerente

também é responsável por estimar e coletar as métricas, indicando o valor e a unidade, e no

caso específico de coleta, o período de medição.

Visão do Gerente Visão do Desenvolvedor

Page 39: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

39

2.5. CONSIDERAÇÕES FINAIS DO CAPÍTULO.

Para cumprir seus objetivos com sucesso, um processo de software deve ser

gerenciado com práticas baseadas em informações que possam subsidiar e justificar tomada

de decisões. Nesse contexto, medição é uma infra-estrutura necessária para se desenvolver

uma disciplina madura de Engenharia de Software [40].

Este capítulo apresentou conceitos relacionados à medição, e quais benefícios podem

ser obtidos ao se gerenciar processos de software usando medições. Também foram descritas

abordagens para medição de processos de software, com ênfase para as abordagens orientadas

a objetivos.

Foram apresentados os modelos CMMI e o MPS.BR para implantação de melhorias

e avaliação de qualidade de processos de software, destacando como esses modelos

recomendam o uso de processos de medição como apoio para alcançar níveis elevados de

qualidade.

Por fim, foi descrita a área Tecnologia de Processos de Software e, por serem um dos

seus resultados mais promissores, foram apresentados conceitos relacionados à Ambientes de

Desenvolvimento Centrados Processos, com atenção especial para o PSEE em que a proposta

desta dissertação foi aplicada: o ambiente WebAPSEE.

Page 40: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

40

CAPÍTULO 3

ABORDAGEM DE MEDIÇÃO PARA PROCESSOS DE SOFTWARE

A Medição de processos de software é uma atividade fundamental para alcançar

níveis mais altos de qualidade no desenvolvimento de software. Apesar de ser possível coletar

métricas independentemente do uso de um processo de medição [10], não existe um conjunto

de métricas que seja adequado e útil a todas as organizações existentes e seus processos de

software.

De acordo com [34], o desafio da medição é identificar quais atributos devem ser

coletados para gerar visões úteis das entidades que necessitam ser analisadas. Portanto, a meta

principal não é simplesmente medir, mas sim encontrar oportunidades de melhoria usando a

medição como auxílio ao diagnóstico e tomada de decisão, pois segundo Zubrow apud [20],

os benefícios de um processo de medição são obtidos através das ações realizadas a partir da

análise dos dados, e não da coleção de dados em si.

A proposta deste trabalho é a definição e integração de um modelo de Processo de

Medição em um ambiente automatizado de gerenciamento de processos de software, com

objetivo principal de fornecer auxílio efetivo para implantação de melhorias de qualidade

através de dados que retratem a realidade de processos executados.

O propósito do modelo de medição definido não é sugerir métricas, mas sim propor

atividades que ao serem executadas propiciem a seleção e coleta de métricas que gerem

informações úteis para a organização gerenciar seus projetos. Com isso o modelo visa auxiliar

a implantação de um ciclo de melhoria contínua de qualidade, como ilustrado na Figura 8,

onde:

• Através de atividades de medição, a organização obtém dados quantitativos acerca

de seus processos, recursos, produtos, e outros elementos que interessarem, e

assim pode construir indicadores que convertam os dados em informações úteis;

• Analisando os resultados da medição, a organização adquire conhecimento para

compreender quais são seus pontos fortes e oportunidades de melhoria;

• Com o conhecimento obtido, ações e escolhas mais adequadas podem ser tomadas

em relação aos seus recursos, métodos, tecnologias, entre outros;

Page 41: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

41

• As ações fundamentadas nos dados quantitativos têm potencial de produzir como

resultado melhorias no alcance de metas da organização, como maior

produtividade e redução de custo. Os resultados tornam-se alvo de medições para

que o ciclo de melhoria seja contínuo.

Figura 8 - Ciclo de Melhoria Contínua de Qualidade.

O modelo de processo de medição proposto é detalhado na próxima seção, e a seção

3.2 descreve a abordagem de integração com um ambiente específico, o WebAPSEE.

3.1. MODELO DE PROCESSO DE MEDIÇÃO.

Após o levantamento e estudo de práticas recomendadas para a seleção,

planejamento e coleta de métricas em projetos de software apresentados no capítulo 2,

definiu-se como requisitos que o Processo de Medição deve:

R1 - Ser orientado pelas metas de negócio da organização;

R2 - Favorecer a comunicação e entendimento do seu propósito;

R3 - Reduzir o risco de interpretações equivocadas de seus resultados; e

R4 - Favorecer a comunicação e divulgação de seus resultados.

A partir dos requisitos, o modelo de Processo de Medição foi elaborado contendo

três atividades principais:

• Planejar Medição através da seleção de métricas a serem coletadas para atender

as necessidades de informações organizacionais sobre o alcance de suas metas.

• Executar Medição, coletando métricas conforme especificado na etapa anterior.

• Avaliar Resultados dos dados coletados.

Dados Quantitativos �Métricas de Processos, Pessoas, Recursos, e outros �Indicadores.

Compreensão �Pontos fortes. �Oportunidades de melhoria.

Programas �Pessoal �Métodos/Técnicas �Tecnologia �Ambiente

Melhorias �Produtividade �Qualidade �Satisfação do Cliente �Custo, etc.

Medição

Análise

Ações

Resultados

Page 42: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

42

A Figura 9 ilustra as etapas do processo e seus artefatos segundo a notação do

WebAPSEE. O resultado da etapa de planejamento é um Plano de Medição e Análise a ser

aplicado na etapa de execução, que através da coleta de métricas possibilita a criação de

indicadores dos resultados. Os indicadores são analisados na etapa Avaliar Resultados, e são

divulgados através de Relatórios Gerenciais.

Figura 9 - Modelo de Processo de Medição proposto.

As próximas seções apresentam detalhadamente cada uma das etapas do processo.

3.1.1. Planejar Medição.

O planejamento da implementação de medição tem como atividade principal a

seleção das métricas que serão coletadas, o que deve ser feito de acordo com as necessidades

de informações da organização e de cada projeto. Para elaborar a etapa de planejamento,

tomou-se como base os paradigmas GQM [1], GQ(I)M [34], e modelos de medição seguidos

por organizações de desenvolvimento de software com certificação de qualidade CMMI,

como por exemplo a empresa Motorola [10]. As seguintes atividades foram então definidas:

1. Identificar Metas de Negócio;

2. Identificar Metas de Medição;

3. Identificar Questões Quantitativas;

4. Identificar Indicadores que ajudem a responder as questões;

Page 43: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

43

5. Identificar Métricas necessárias para a construção dos indicadores; e

6. Elaborar Relatórios Gerenciais dos resultados.

Conforme o requisito R1, a identificação de Metas de Negócio consiste em enumerar

metas que direcionem as estratégias e esforços da organização como um todo, incluindo seus

possíveis departamentos e unidades de trabalho. A Tabela 7 apresenta alguns exemplos de

metas de negócio.

Tabela 7 – Exemplo de Metas de Negócio.

Metas de Negócio

Produzir software de qualidade.

Melhorar a produtividade.

Satisfazer o cliente.

Cumprir os compromissos de prazo e custo assumidos.

Metas de Medição traduzem as Metas de Negócio em objetivos específicos para

medição [34]. Em atendimento aos requisitos R2 e R3, a definição de uma Meta de Medição

deve auxiliar a compreensão uniforme dos propósitos da medição, e por conseqüência,

facilitar a análise correta dos resultados. Para tanto, sua definição deve conter o objeto de

interesse para a medição (como por exemplo, um artefato), indicar o propósito da medição

(como caracterizar, avaliar, analisar algum atributo do objeto de interesse devido a objetivos

como controlar, compreender, planejar, entre outros), sobre qual ponto-de-vista é adotado

(ex.: gerência, desenvolvedores, clientes), além de fornecer eventuais fatores e dados

contextuais necessários para análise e compreensão dos resultados. Alguns exemplos de metas

de medição são listados na Tabela 8.

Tabela 8 – Exemplo de Metas de Medição.

Metas de Medição

Analisar a taxa de defeitos detectados no produto como forma de aferir sua qualidade, sob o ponto-de-vista do cliente.

Conhecer o tamanho de cada artefato desenvolvido e o esforço necessário para produzi-lo, com o objetivo de manter uma base de dados históricos sobre produtividade e permitir a normalização dos demais dados coletados, sob a visão da gerência.

Analisar o erro das estimativas com o objetivo de conhecer sua acurácia e identificar oportunidades para melhorá-la, de acordo com o ponto-de-vista dos gerentes.

Page 44: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

44

As Metas de Medição geram Questões quantitativas, que especificam diretamente as

necessidades de informação, facilitam o entendimento da razão pela qual as medidas são

coletadas e direcionam a interpretação dos resultados. A Tabela 9 mostra alguns exemplos de

Questões.

Tabela 9 – Exemplo de Questões.

Questões

Qual a produtividade observada em cada projeto de desenvolvimento?

Qual o esforço gasto para o desenvolvimento de cada artefato?

Qual o desvio das estimativas (esforço, prazo, tamanho) realizadas no planejamento dos projetos, comparando-se os valores estimados e obtidos?

Qual a evolução da taxa de erros em estimativas em cada projeto?

As Questões são respondidas com auxílio de Indicadores gráficos que fornecem

informações consolidadas através dos valores de uma ou mais Métricas. Os Indicadores

devem ser planejados para favorecer a compreensão dos resultados por quem os visualiza

(requisitos R2 e R3), por isso a definição de um indicador deve incluir sua descrição e

informações sobre procedimentos de análise, como mostra a definição de um indicador de

exemplo na Tabela 10.

Page 45: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

45

Tabela 10 – Exemplo de definição de um Indicador.

Indicador

Identificação: Desvio de Tamanho do Projeto.

Métrica: Tamanho do Projeto Formato: Tabela

Descrição: Mostra lado a lado a primeira estimativa de tamanho, a última estimava e o tamanho final, apresentando os desvios entre os valores.

Procedimento de Análise:

Idealmente o desvio deve ser zero, indicando que provavelmente o escopo do projeto foi bem definido e a técnica de estimativa aplicada foi precisa, mas pequenos desvios são aceitáveis e não devem ser considerados problemas.

O desvio negativo significa que o tamanho estimado foi maior que o tamanho real final, fazendo com que esforço e custo fossem estimados além do que deveriam, ou seja, recursos foram alocados e/ou adquiridos desnecessariamente.

O desvio positivo significa que o tamanho estimado foi menor que o tamanho real final, o que pode causar prejuízos já que todas as demais estimativas provavelmente serão calculadas com valor menor.

Se não houve alterações no escopo do projeto, grandes desvios podem indicar ineficiência da técnica de estimativa escolhida, pouca experiência do estimador ou alto índice de reuso no projeto.

Identificar o motivo do desvio é importante para que a causa seja evitada nos próximos projetos.

Ao se identificar as métricas necessárias para construir os indicadores,

conseqüentemente identifica-se o que vai ser medido, visto que uma métrica é relacionada a

um atributo de um determinado elemento. A especificação da métrica deve conter sua

descrição, unidade de medida e também informações sobre procedimentos de coleta.

A última etapa do planejamento é a elaboração de Relatórios Gerenciais para prover

informações úteis à gerência em tempo hábil, como forma de auxílio ao acompanhamento e

avaliação dos projetos além de possíveis tomadas de decisão (requisito R4). Os relatórios

devem ser elaborados a partir das necessidades de informações identificadas nas etapas

anteriores e podem ou não conter os resultados da etapa de avaliação da medição.

A Figura 10 apresenta as atividades definidas para o planejamento de medição

modeladas no ambiente WebAPSEE. As conexões do tipo end-end entre as atividades

permitem que elas ocorram em paralelo, porém só podem finalizar após o término da

atividade origem da conexão. Esse tipo de conexão foi escolhido porque, a partir da atividade

Identificar Metas de Medição, cada atividade deriva seus resultados a partir do que foi

identificado na atividade anterior.

Page 46: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

46

Figura 10 - Modelagem das atividades da etapa Planejar Medição.

Segundo o modelo da Figura 10 as atividades são realizadas por um Grupo de

Medição da organização juntamente com o Gerente do Projeto, exceto na atividade Identificar

Métricas. Para iniciar a primeira atividade (Identificar Metas de Negócio) o artefato Plano de

Medição e Análise foi modelado como artefato de entrada devido à possibilidade de

disponibilizar templates dos artefatos a serem produzidos. Assim, todas as atividades

atualizam o artefato Plano de Medição e Análise que, após o término da etapa de

planejamento, irá guiar a etapa Executar Medição.

O relacionamento entre metas de negócio, metas de medição, questões, indicadores e

métricas é exemplificado na Figura 11. Uma meta de medição pode estar relacionada a mais

de uma meta de negócio e o mesmo ocorre entre questões e metas de medição, indicadores e

questões, e métricas e indicadores. A meta de medição G1 do exemplo está relacionada com

as metas de negócio B1 e B2, que também compartilha a meta G2 com B3. Dessa forma,

alterações em qualquer um dos elementos do modelo afetarão a meta de negócio B2. A

implementação do modelo deve garantir a rastreabilidade e propagação de alterações entre os

elementos.

Page 47: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

47

Indicadores

Metas de Medição G1 G2

Q1 Q2 Q3 Q4

M1 M2 M3 M4 M5 M6

Questões

Métricas

Metas de Negócio

I1 I2 I3 I4 I5

B1 B2 B3

Figura 11 - Exemplo de relacionamento entre Metas de Negócio, de Medição, Questões, Indicadores e Métricas.

3.1.2. Executar Medição.

Nesta etapa as métricas são estimadas e coletadas ao longo da execução do projeto e

de acordo com o que foi definido no Plano de Medição. Novas metas e questões ainda podem

surgir, causando alterações no Plano de Medição. À medida que os dados forem coletados,

Indicadores e Relatórios podem ser gerados para informar seus resultados à Gerência.

3.1.3. Avaliar Resultados.

A avaliação da medição consiste em analisar os Indicadores gerados conforme o

procedimento de análise especificado e, a partir da análise, identificar lições aprendidas que

devam ser consideradas nas etapas posteriores do projeto e até mesmo em outros projetos.

Caso seja necessário, o relato de lições aprendidas deve ser acompanhado de observações de

contexto para melhor compreensão de quando e como devem ser aplicadas. A comunicação e

divulgação da avaliação dos resultados devem ser feitas com o auxílio dos Relatórios

Gerenciais elaborados no plano de medição.

A Figura 12 um exemplo detalhado de processo para a etapa Avaliar Resultados. A

etapa inicia com atividade “Analisar Indicadores de Resultados”, executada por um agente

gerente do projeto auxiliado pelo Grupo de Medição da organização. Essa atividade recebe

como entrada tanto os Indicadores dos resultados coletados no processo de software quanto o

Plano de Medição e Análise que é necessário para contextualizar e guiar a análise dos

indicadores.

Assim que inicia a análise dos Indicadores pode-se gerar relatórios para divulgação dos

resultados, por isso a conexão de transição entre as atividades da Figura 12 é do tipo start-

start. A atividade “Preparar e divulgar Relatórios Gerenciais” tem como artefato de entrada

além dos indicadores o Plano de Medição e Análise do projeto, e gera como saída os

Relatórios Gerenciais.

Page 48: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

48

Figura 12 - Modelagem das atividades da etapa Avaliar Resultados.

3.2. INTEGRAÇÃO DO MODELO DE PROCESSO DE MEDIÇÃO NO

AMBIENTE WEBAPSEE.

Definir e executar medições em processos sem auxílio de ferramenta pode ser uma

atividade difícil, tediosa e passível de erros e dificuldades, como por exemplo, dificuldade em

analisar as métricas, pois nem sempre quem analisa participou do planejamento da medição e

a recuperação da definição das métricas pode ser complicada sem ferramentas disponíveis.

Pode haver também dificuldade em reutilizar os dados coletados, pois normalmente são

especificados no seu plano de medição correspondente, que não descreve o processo de

software que foi medido ou o descreve informalmente, dificultando descobrir se um

determinado dado pode ser usado em outro projeto. O mesmo problema se aplica aos planos

de medição, pois sem a definição do processo fica difícil saber que plano de medição, ou

partes dele, pode ser reutilizado em processos futuros.

Além de minimizar as dificuldades citadas acima, a integração de uma ferramenta de

apoio ao processo de medição proposto no ambiente WebAPSEE tem como objetivo principal

explorar a possibilidade de interação e sinergia proporcionadas por um ambiente que mantém

o registro da execução dos processos.

Apesar do primeiro nível para implantação de medições ser o de processos de

software, existem necessidades de informações em níveis mais altos do gerenciamento

organizacional, geralmente referentes a atributos da Organização e seus processos. Para

Page 49: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

49

atender a essa necessidade, foram definidos dois domínios para a abordagem de medição no

WebAPSEE : o Domínio de Processo e o Domínio Organizacional, como mostra a Figura 13.

Figura 13 - Domínios de Medição no WebAPSEE.

Medição no Domínio de Processo de software é realizada em relação a seus

atributos, como prazo e custo, e atributos de seus componentes, que no ambiente WebAPSEE

podem ser atividades, agentes, grupos de agentes, artefatos e recursos. No Domínio

Organizacional, medição refere-se a atributos da organização e também dos seus processos

executados, com objetivo de possibilitar análise comparativa entre os processos.

Como requisito para a integração do planejamento de medição e análise no

WebAPSEE, foi determinado que não deveria acrescentar mais complexidade na modelagem

dos processos de software. Definiu-se então que o planejamento da medição deve ser feito

separadamente da definição de processos, especificando o quê e como componentes

modelados no WebAPSEE serão medidos. A abordagem de integração do modelo de processo

de medição com o WebAPSEE é apresentada em detalhes nas seções a seguir para cada um

dos domínios definidos, respectivamente. Para manter uniformidade com a documentação do

ambiente, os termos usados na descrição do meta-modelo são escritos em inglês.

3.2.1. Medição no Domínio de Processos.

No domínio de processos de software, o processo de medição ocorre conforme ilustrado

na Figura 14, que mostra as etapas definidas (Planejar Medição, Executar Medição e Avaliar

Resultados) e os elementos de ligação entre elas.

Atividades Agentes Grupos de Agentes Artefatos Recursos

Processo de Software

Organização

Medição

Processos

Domínio de Processo Domínio Organizacional

Page 50: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

50

Figura 14 - Medição no domínio de Processos de Software.

Conforme descrito anteriormente, na etapa Planejar Medição define-se um Plano de

Medição que irá guiar a execução. Para reduzir o esforço gasto na etapa de planejamento de

medição em cada projeto de desenvolvimento de software, foi elaborado o conceito de

Modelo de Plano de Implementação de Medição (MIPModel – Measurement

Implementation Plan Model, representado pelo elemento 1 na Figura 14), que especifica um

plano-padrão de medição passível de ser executado em processos de software.

A partir dos objetivos da organização, o gerente pode definir um MIPModel a ser

aplicado em qualquer processo, ou caso a organização possua processos-padrão definidos,

especificar modelos de medição de acordo com características de cada processo-padrão, como

por exemplo, processo para projetos simples, projetos de manutenção, projetos complexos,

entre outros.

Seguindo o que foi especificado para a etapa Planejar Medição, a definição de

MIPModel é feita através da identificação de Metas de Negócio, de Medição, Questões,

Indicadores e Relatórios Gerenciais. Como um MIPModel não está relacionado a um processo

real em execução, seus indicadores não podem especificar quais elementos serão medidos

para que possa ser gerado, mas devem definir que tipo de elemento tem como alvo

(atividades, agentes, grupos de agentes, recursos, artefatos ou o próprio processo), e a(s)

métrica(s) necessária(s).

As atividades de medição a serem executadas em um processo de software específico

são definidas em seu Plano de Implementação de Medição (MIP – Measurement

Implementation Plan, ilustrado na Figura 14 pelo elemento 2), que é gerado a partir de um

MIPModel selecionado pelo gerente. Dessa forma, assegura-se que o processo de medição

seja aderente às definições organizacionais, mas para atender necessidades e características

Processos-Padrão de Software

Modelos de Plano de Implementação de

Medição

Processo Plano de Implementação de

Medição

6 0 , 8

6 , 41 7 , 8

8 5 2 001 02 03 04 05 06 07 08 09 0

1 0 0

W a i t i n gR e a d yA c t i v eP a u s e dF i n i s h e dC a n c e l l e dF a i l e d

Objetivos Organizacionais

Relatórios dos Resultados

Indicadores

Planejar Medição Executar Medição Avaliar Resultados

1

2

3

Page 51: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

51

especificas do projeto, o MIP de um processo pode ser adaptado com a inserção de novos

elementos (Metas de Negócio, de Medição, Questões, Indicadores e Relatórios). Porém, de

forma similar ao conceito de herança no paradigma de Orientação a Objetos, os elementos que

constam no MIPModel que gerou o MIP não podem ser alterados ou removidos.

Após criar o Plano de Implementação de Medição de um determinado processo, o

gerente deve finalizar a configuração dos indicadores selecionando quais elementos do

processo serão medidos, conforme o tipo de elemento definido no indicador. Como exemplo,

se o elemento alvo do indicador foi definido como artefatos, o gerente deve selecionar quais

artefatos do processo serão medidos. Portanto, a integração de um MIP com um processo de

software é feita através da seleção explícita dos elementos do processo que precisam ser

medidos para gerar os indicadores.

Com os indicadores configurados, o Plano de Implementação de Medição está pronto

para ser usado na etapa Executar Medição. Nesta etapa, as estimativas e coleta de métricas são

realizadas usufruindo da estrutura já existente no pacote ProcessKnowledge, apresentado no

capítulo anterior, mas com a integração da abordagem proposta as métricas específicas a

serem estimadas e coletadas em um processo são as definidas em seu Plano de Implementação

de Medição. A maioria das métricas é coletada pelo gerente de projeto, com exceção de

métricas relativas aos artefatos, que podem ser coletadas pelos próprios desenvolvedores.

À medida que o processo de software é executado, as métricas requeridas pelo seu

MIP são coletadas e indicadores podem ser gerados, como representa o elemento 3 na Figura

14. Com indicadores disponíveis, a etapa Avaliar Resultados pode ser iniciada mesmo antes

do processo de desenvolvimento finalizar.

De acordo com o que foi especificado para a etapa de avaliação na seção 3.1.3, os

indicadores devem ser analisados e lições aprendidas devem ser registradas, além de eventuais

informações de contexto necessárias para compreender os resultados. A análise dos

indicadores é divulgada para a gerência através dos Relatórios Gerenciais configurados.

3.2.2. Medição no Domínio Organizacional.

Medição no nível organizacional tem como objetivo de suprir necessidades de

informação em níveis de gerência acima do nível de projeto. Como exemplo, gerentes de

recursos humanos podem se preocupar com a porcentagem de pessoas da organização

treinadas nos processos e técnicas institucionalizadas, gerentes de negócio precisam monitorar

prazos de diversos projetos e avaliar impactos gerados por possíveis atrasos, gerentes de

Page 52: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

52

processos avaliam a eficácia dos processos organizacionais e a aderência dos projetos a eles,

entre outros.

Considerando esses requisitos, a implementação no domínio organizacional da

abordagem de medição proposta deve apoiar não só a coleta de métricas de atributos da

organização, mas também deve auxiliar a análise comparativa de métricas de processos

executados. A Figura 15 ilustra as etapas da abordagem proposta no domínio organizacional.

Figura 15 - Medição no domínio Organizacional.

De acordo com o modelo adotado, a partir dos objetivos organizacionais o Plano de

Implementação de Medição Organizacional (OrgMIP – Organizational Measurement

Implementation Plan, elemento 1 da Figura 15) deve ser definido identificando-se Metas de

Negócio, Metas de Medição, Questões, Indicadores e Relatórios específicos para o nível

organizacional. O OrgMIP direciona a coleta de métricas na etapa Executar Medição através

das métricas requeridas pelos seus indicadores, que diferente dos indicadores gerados no

domínio de processos, podem ser relacionados apenas com métricas da organização ou de

processos.

Indicadores no domínio organizacional subsistem enquanto seus resultados

representarem informação útil para a organização, portanto acumulam resultados que podem

ser analisados na etapa Avaliar Resultados em várias ocasiões ao longo de seus ciclos de vida.

Um exemplo é um indicador que mostre o desvio do prazo de dois ou mais processos em

relação às suas estimativas, por ordem de execução, permitindo analisar ao longo do tempo a

evolução da capacidade e maturidade da organização em estimar e cumprir prazos. A Figura

16 ilustra o exemplo dado com processos fictícios (identificados como P1, P2, ..., a P8).

6 0 , 8

6 , 41 7 , 8

8 5 2 001 02 03 04 05 06 07 08 09 0

1 0 0

W a i t i n gR e a d yA c t i v eP a u s e dF i n i s h e dC a n c e l l e dF a i l e d

Indicadores Organizacionais e Comparativos de Processos

Relatório dos Resultados

Plano de Implementação de Medição Organizacional

Processos Objetivos

Organizacionais

Organização

Planejar Medição Executar Medição Avaliar Resultados

1

2

Page 53: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

53

Figura 16 - Indicador Índice de Desvio de Prazos de Projetos

3.2.3. Proposta de ferramenta de apoio ao Processo de Medição no WebAPSEE.

Para possibilitar a integração do modelo processo de medição proposto no ambiente

WebAPSEE, foi necessário projetar uma ferramenta que fosse acoplada como um módulo no

ambiente, além de implementar algumas alterações no próprio ambiente. O propósito da

ferramenta é apoiar as etapas Planejar Medição e Avaliar Resultados, tanto no Domínio de

Processos como no Domínio Organizacional. Portanto, são requisitos da ferramenta:

F1 - Viabilizar a execução do Processo de Medição nos domínios de processos e

organizacional, permitindo a definição de MIPModels, MIPs e OrgMIPs, a

integração de cada um deles com as entidades definidas no ambiente e a análise

de seus resultados;

F2 - Permitir a evolução de MIPModels sem que seus MIPs derivados percam

informações;

F3 - Permitir adaptação do MIP de um processo sem alteração das metas de negócio,

de medição, questões, indicadores e relatório gerenciais definidos no

MIPModel de origem, assim como os relacionamentos entre esses elementos;

F4 - Manter a rastreabilidade entre os elementos definidos para cada MIPModel,

MIP e OrgMIP, e propagar eventuais alterações;

F5 - Gerar os Indicadores gráficos e Relatórios Gerenciais definidos.

A Figura 17 apresenta o diagrama de casos de uso com as funcionalidades principais

da ferramenta proposta, seguida da descrição sucinta de cada caso de uso.

0

10

20

30

P1 P2 P3 P4 P5 P6 P7 P8

Índ

ice

(%)

Projetos

Índice de Desvio de Prazos de Projetos

Page 54: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

54

Figura 17 - Diagrama de contexto da ferramenta proposta.

O caso de uso Gerenciar MIPModels provê funcionalidades para criar e atualizar

modelos de Plano de Implementação de Medição.

A funcionalidade de definição do plano de medição a ser seguido por um projeto é

descrita pelo caso de uso Selecionar MIP de Projeto, que deve apresentar MIPModels

disponíveis para gerar o MIP do projeto. A adaptação do MIP ao projeto é permitida pelo caso

de uso Configurar MIP de Projeto, que também viabiliza a integração do MIP com o

processo provendo a funcionalidade de seleção dos alvos do indicador.

Em relação ao plano de medição no Domínio Organizacional, a definição e

atualização do OrgMIP são realizadas através do caso de uso Gerenciar OrgMIP.

Para permitir o acesso e visualização dos Relatórios Gerenciais com os resultados da

medição e análise, o caso de uso Visualizar Relatórios Gerenciais deve ser implementado na

ferramenta. Por fim, relatórios de propósito geral devem ser disponíveis conforme o caso de

uso Visualizar Relatórios Gerais.

A relação existente entre os casos de uso e os requisitos identificados neste trabalho,

tanto para o processo quanto para a ferramenta, é mostrada na Tabela 11.

Page 55: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

55

Tabela 11 - Casos de uso principais e requisitos relacionados.

Id Caso de Uso Requisitos Relacionados

UC1 Gerenciar MIPModels F1, F2, F4

UC2 Selecionar MIP de projeto F1

UC3 Configurar MIP F1, F3, F4

UC4 Gerenciar OrgMIP F1, F4

UC5 Analisar Medição F1, F5

UC6 Visualizar Relatórios Gerenciais R4, F5

UC7 Visualizar Relatórios Gerais R2, F5

Em relação à etapa Executar Medição, definiu-se que ela seria integrada na estrutura

já existente do WebAPSEE. Como mostra a Figura 18, o gerente pode estimar e coletar

métricas através do componente Manager Console, cujos formulários de estimativa e coleta

foram modificados para interagir com o MIP do projeto. Para descentralizar o esforço de

coleta, sugeriu-se também a inclusão de um formulário de coleta na agenda do desenvolvedor

para que colete métricas dos artefatos que desenvolver, também conforme definido no MIP do

projeto.

Figura 18 - Casos de uso da etapa Executar Medição no WebAPSEE.

3.3. CONSIDERAÇÕES FINAIS DO CAPÍTULO.

Medição em processos de software sido reconhecida pela comunidade científica

como um método eficaz e necessário para o gerenciamento e melhoria de qualidade, mas a

implantação de programas de mensuração não é uma tarefa trivial.

Page 56: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

56

Com o objetivo de apoiar as atividades de medição em processos de software, este

capítulo apresentou uma modelo de Processo de Medição Orientado a Objetivos baseado nos

modelos GQM, GQ(I)M e em modelos usados por empresas da indústria de software.

Para prover automação no Processo de Medição proposto, definiu-se uma abordagem

de integração do processo com ambientes de gerenciamento de processos de software, sendo

escolhido o ambiente WebAPSEE para executar a integração. A abordagem foi delineada sob

dois aspectos para medição: o Domínio de Processos e o Domínio Organizacional.

Em complemento à abordagem de integração do Processo de Medição com o

WebAPSEE, apresentou-se também os requisitos e casos de uso principais para uma

ferramenta de apoio à essa integração.

Page 57: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

57

CAPÍTULO 4

FERRAMENTA DE APOIO AO PROCESSO DE MEDIÇÃO

Durante a execução de um processo de medição como o proposto neste trabalho, as

diversas métricas identificadas no plano de medição devem ser coletadas ao longo do ciclo de

vida de um processo de desenvolvimento de software, e sem uma abordagem adequada de

armazenamento e recuperação dessas métricas é difícil utilizá-las para gerar informações úteis

em tempo hábil. O uso de uma ferramenta para automação do processo de medição tem o

potencial de beneficiar o planejamento das metas de qualidade, coleta e armazenamento dos

dados (métricas), além de facilitar a recuperação, visualização, e divulgação de resultados.

Apesar da capacidade de fornecer grande auxílio às atividades de medição, as

ferramentas tradicionalmente desenvolvidas para esse propósito não possuem registro dos

processos de software, ou necessitam que todos os componentes a serem medidos no processo

sejam cadastrados na ferramenta e atualizados sempre que o processo mudar – o que acontece

freqüentemente devido à natureza dinâmica dos processos de software.

A integração de uma ferramenta de apoio ao processo de medição com um ambiente

automatizado de desenvolvimento de software tem a vantagem de interagir com os processos

definidos e executados no ambiente, e assim formar uma base de dados única com dados de

processos de software e seus processos de medição.

Este capítulo apresenta o protótipo de ferramenta de apoio ao modelo de Processo de

Medição proposto neste trabalho. A ferramenta visa apoiar as etapas de seleção, planejamento

da coleta de métricas, análise de resultados e recuperação de informações sobre medições,

além de possibilitar a integração do processo de medição com o ciclo de vida de processos de

software executados no ambiente WebAPSEE.

Seguindo a abordagem descrita no capítulo anterior, o projeto da ferramenta foi

dividido em dois pacotes principais, relacionados com o Domínio de Processos e o Domínio

Organizacional. As seções 4.1 e 4.2 descrevem em detalhes o modelo de dados para cada um

dos pacotes, respectivamente, enquanto que a seção 4.3 apresenta o protótipo desenvolvido da

ferramenta.

Page 58: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

estimativa e coleta já existente no WebAPSEE para

medição

seção

4.1.

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

seção

3.2.3

Além da ferramenta proposta, foram sugeridas modificações

estimativa e coleta já existente no WebAPSEE para

medição na etapa de Execução do processo de medição. Essas modificações são descritas na

seção 4.4.

4.1. MODELO DE DADOS PARA

A Figura 19

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

seção 3.2.2 do capítulo anterior e com os requisitos da ferramenta identificados na seção

3.2.3.

Figura 19 - Domínio de Processos.

Além da ferramenta proposta, foram sugeridas modificações

estimativa e coleta já existente no WebAPSEE para

na etapa de Execução do processo de medição. Essas modificações são descritas na

MODELO DE DADOS PARA

Figura 19 apresenta o diagrama de classes desenvolvido para permitir a

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

do capítulo anterior e com os requisitos da ferramenta identificados na seção

Diagrama de classes Domínio de Processos.

Além da ferramenta proposta, foram sugeridas modificações

estimativa e coleta já existente no WebAPSEE para

na etapa de Execução do processo de medição. Essas modificações são descritas na

MODELO DE DADOS PARA

apresenta o diagrama de classes desenvolvido para permitir a

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

do capítulo anterior e com os requisitos da ferramenta identificados na seção

Diagrama de classes Domínio de Processos.

Além da ferramenta proposta, foram sugeridas modificações

estimativa e coleta já existente no WebAPSEE para

na etapa de Execução do processo de medição. Essas modificações são descritas na

MODELO DE DADOS PARA O DOMÍNIO DE PROCESS

apresenta o diagrama de classes desenvolvido para permitir a

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

do capítulo anterior e com os requisitos da ferramenta identificados na seção

Diagrama de classes para implementação do Processo de Medição no

Além da ferramenta proposta, foram sugeridas modificações

estimativa e coleta já existente no WebAPSEE para possibilitar sua

na etapa de Execução do processo de medição. Essas modificações são descritas na

O DOMÍNIO DE PROCESS

apresenta o diagrama de classes desenvolvido para permitir a

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

do capítulo anterior e com os requisitos da ferramenta identificados na seção

implementação do Processo de Medição no

Além da ferramenta proposta, foram sugeridas modificações

possibilitar sua integra

na etapa de Execução do processo de medição. Essas modificações são descritas na

O DOMÍNIO DE PROCESS

apresenta o diagrama de classes desenvolvido para permitir a

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

do capítulo anterior e com os requisitos da ferramenta identificados na seção

implementação do Processo de Medição no

Além da ferramenta proposta, foram sugeridas modificações na abordagem

integração com o pla

na etapa de Execução do processo de medição. Essas modificações são descritas na

O DOMÍNIO DE PROCESSOS.

apresenta o diagrama de classes desenvolvido para permitir a

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

do capítulo anterior e com os requisitos da ferramenta identificados na seção

implementação do Processo de Medição no

58

na abordagem de

com o plano de

na etapa de Execução do processo de medição. Essas modificações são descritas na

apresenta o diagrama de classes desenvolvido para permitir a

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

do capítulo anterior e com os requisitos da ferramenta identificados na seção

implementação do Processo de Medição no

58

de

no de

na etapa de Execução do processo de medição. Essas modificações são descritas na

apresenta o diagrama de classes desenvolvido para permitir a

implementação do Processo de Medição no Domínio de Processos, conforme especificado na

do capítulo anterior e com os requisitos da ferramenta identificados na seção

Page 59: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

59

Um MIPModel é identificado por um nome, e além de sua descrição deve especificar

em que tipo de processo de software pode ser executado. De acordo com a definição descrita

no capítulo anterior, um MIPModel deve estar relacionado às Metas de Negócio da

organização (classe BusinesssGoal), que por si geram as Metas de Medição (instâncias da

classe MeasurementGoal).

A definição de Metas de Medição deve conter o objeto de interesse para a medição, o

propósito, sobre qual ponto-de-vista, e também dados contextuais, como por exemplo, a

indicação do domínio do problema associado. As Metas de Medição geram Questões

quantitativas (objetos da classe Question), que são respondidas com o auxilio de Indicadores

(classe Indicator).

Um Indicador do MIPModel possui um nome, informações de procedimento de

análise e tem como alvo informar dados do processo, atividades, artefatos, recursos,

desenvolvedores, ou grupo de desenvolvedores, o que é definido pelo atributo targetType. As

Métricas que o Indicador precisa para gerar informações são relacionadas a ele pela

associação com a classe MetricDefinition, que já pertencia ao meta-modelo do WebAPSEE no

pacote ProcessKnowledge.

A consolidação dos dados que serão apresentados em um indicador é feita através de

operações definidas na classe Operation. São exemplos de operações pré-definidas: o cálculo

do desvio de uma métrica em relação a suas estimativas, o cálculo da distribuição dos valores

de uma métrica em um conjunto de alvos, a razão ou qualquer outra operação entre métricas

para formação de métricas secundárias, entre outras. Definiu-se quatro formatos básicos para

um indicador ilustrar os resultados: Tabela, diagrama de Pizza, Barra e Linha. (classes Table,

Pie, Bar e Line, especializações da classe Format).

Os relacionamentos entre metas de negócio, metas de medição, questões, indicadores

e métricas de um MIPModel devem ser implementados conforme os requisitos F3 - e F4 -,

que dizem respeito à rastreabilidade entres os elementos e possibilidade de acrescentar novos

relacionamentos no plano de medição adaptado ao processo (MIP), sem modificar elementos

e relacionamentos definidos no MIPModel.

Esses requisitos constituíram um desafio para o trabalho, e demandaram esforço

significativo para elaborar uma solução que os atendesse corretamente. A solução foi definida

através do uso de conectores para relacionar os elementos entre si e identificar se pertencem

ao MIPModel ou ao MIP. Metas de negócio, metas de medição, questões e indicadores são

adicionados e relacionados no modelo através de conectores próprios (classes BG_CON,

Page 60: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

60

MG_CON, Q_CON e I_CON, respectivamente), que são especializações da classe Connector.

Um objeto da classe Connector é relacionado exclusivamente com um MIPModel ou com um

MIP, portanto no contexto de um determinado MIPModel um elemento possui apenas um

conector responsável por todos os seus relacionamentos. Em relação às métricas, não foi

necessário o uso de conectores já que estas são selecionadas na definição dos indicadores, e

estes não podem ser alterados ou removidos no MIP.

O Plano de Implementação de Medição (classe MIP) de um Processo (classe

Process, do pacote ProcessModel no meta-modelo do WebAPSEE) é derivado a partir de um

único MIPModel, e também permite adição de novos elementos. Conforme a solução adotada,

para adicionar metas de negócio, de medição, questões ou indicadores são criados conectores

ligados aos MIP. Os elementos já pertencentes ao MIPModel podem ser adaptados ao projeto

apenas através da inclusão de novos relacionamentos, e para isso são criados para eles

conectores ligados ao MIP.

A solução com uso de conectores garante que os relacionamentos definidos no

MIPModel de origem não sejam removidos, pois basta verificar se possuem conectores

ligados ao MIPModel e se os conectores estão relacionados. Portanto, no contexto de um

MIP, uma instância de meta de negócio, meta de medição, questão ou indicador pode ter no

máximo dois conectores, um ligado ao MIP e outro ao MIPModel de origem, mas essa

solução é transparente para o usuário pois ele verá na ferramenta como um único elemento.

Para integrar o MIP com o processo, é necessário indicar quais elementos do

processo serão as entidades-alvo dos indicadores, de acordo com o que foi definido no

atributo targetType de cada indicador. Com o objetivo de diminuir o esforço gasto nessa

tarefa, foram definidos três tipos de seleção de alvos:

1. By Type: Serão disponibilizadas categorias pré-definidas para seleção, conforme o

targetType do indicador: se for do tipo “agentes”, será mostrada uma lista de cargos,

para os outros tipos de alvo serão listados seus tipos pré-definidos no ambiente1. A

Tabela 12 apresenta a listagem de categorias por tipo de alvo;

2. All: Todos os elementos do processo correspondentes com o targetType do indicador

serão medidos para gerar os resultados. Por exemplo, se o targetType for ”artefatos”,

para todo os artefatos do processo deverão ser coletadas as métricas definidas no

indicador;

1 Hierarquia de tipos default fornecida com a instalação do ambiente WebAPSEE e sujeita a especialização para uma organização de desenvolvimento de software usuária.

Page 61: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

61

3. Selected: Elementos específicos do processo serão selecionados, conforme o

targetType do indicador.

Tabela 12 - Categoria da seleção ByType por tipo de alvo.

Tipo de Alvo Categorias para seleção ByType Significado

Agentes

Administrative Staff Equipe Administrativa

Analysts Analistas

Developers Desenvolvedores

Managers Gerentes

Production and Support Produção e Suporte

Stakeholder Parte interessada no processo.

Testers Testadores

Atividades

Coding Codificação

Design Projeto

Documentation Documentação

Engagement Request Solicitação de Compromisso

Requirements Requisitos

Testing Teste

Verification and Validation Verificação e Validação

Artefatos

Agreement Report Artifact Relatório de Acordo e Compromisso do projeto.

Architecture Design Artifact Projeto da Arquitetura

Binary Code Artifact Código binário.

Check-list Artifact Lista de Verificação e Controle

Communication Artifact Artefato de Comunicação

Glossary Artifact Glossário do projeto.

Management Artifact Artefato de Gerenciamento.

Manual Artifact Manual

Meeting Record Artifact Artefato de Registro de Reunião

Planning Artifact Artefato de Planejamento

Report Artifact Relatório

Request Artifact Artefato de Solicitação

Requirements Analysis Artifact Artefato de Análise de Requisitos.

Requirements Specification Artifact Especificação de Requisitos

Schedule Artifact Artefato de programação e agendamento

Scope Definition Artifact Artefato de Definição do escopo

Source Code Artifact Código-fonte

Test Artifact Artefato de planejamento ou execução de teste.

Vision/Proposal Artifact Artefato de Visão e/ou Proposta.

Recursos Consumable Recurso consumível

Exclusive Recurso de uso exclusivo.

Shareable Recurso compartilhável.

Page 62: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

62

O tipo de seleção é armazenado na classe MIP_Indicator através do atributo kind.

No caso do tipo selecionado for By Type, uma ou mais categorias podem ser selecionadas e

armazenadas no atributo apseeType. Se o tipo escolhido for Selected, os elementos do

processo que forem escolhidos serão relacionados ao indicador através da classe

WebApseeObject, que armazena a identificação do objeto.

Objetos da classe MIP_Indicator armazenam também a análise do indicador (atributo

analysis), alem de registrar lições aprendidas e informações gerais que possam ter

influenciado nos resultados (atributos learnedLessons e observation, respectivamente).

Tanto no MIPModel quanto no MIP, os Relatórios Gerenciais são configurados em

relação às questões e seus indicadores através da classe Report, podendo incluir ou não os

procedimentos de análise dos indicadores, a análise em si, lições aprendidas e observações

(atributos booleanos da classe Report).

Com a execução do Processo de Medição em seus projetos, a Organização adquire

amadurecimento em medir, identifica novas metas e/ou descarta outras, e surge então a

necessidade de modificar os planos de medição institucionalizados pelos MIPModels.

Segundo o requisito F2, o modelo deve permitir a evolução de MIPModels sem que seus

MIPs previamente derivados percam informações e fiquem inconsistentes.

Para atender esse requisito foi desenvolvida uma solução baseada em versões,

adaptada do mecanismo de versionamento de templates de processos no ambiente

WebAPSEE definido em [9].

Cada vez que for necessário modificar um MIPModel, é criada uma nova versão dele

contendo a mesma estrutura, ou seja, é criada uma cópia para edição. Os MIPs gerados

anteriormente não são afetados pela edição do MIPModel porque continuam relacionados

com a versão pela qual foram gerados. Para manter a consistência do modelo, em um

determinado instante de tempo um MIPModel pode ter no máximo uma versão apta para

instanciar MIPs.

O versionamento de um MIPModel, assim como sua disponibilidade para ser

instanciado, é controlado através de seu estado (atributo state), que pode ter um dos valores

listados a seguir:

• Draft (Rascunho): É o estado inicial de um MIPModel, ou de uma nova versão.

Indica que o MIPModel está em edição, por isso as únicas operações disponíveis

são editar e salvar.

Page 63: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

criação até chegar no e

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

MIPModels

• Defined

instanciação, ou sej

seja necessário modificar um MIPModel

versão será criada e irá substituí

• Pending

estado

• Outdated

uma versão que passou para o estado

não pode g

relacionamentos

A Figura 20

criação até chegar no e

Para exemplificar em detalhes o ciclo de vida de um MIPModel, a

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

MIPModels.

Defined (Definido)

instanciação, ou sej

seja necessário modificar um MIPModel

versão será criada e irá substituí

Pending (Pendente):

estado Draft, e não é permitida a criação de novas versões para ele.

Outdated (Desatualizado)

uma versão que passou para o estado

não pode gerar novas versões nem derivar MIPs de processos, mas seus

relacionamentos

Figura 20 ilustra a máq

criação até chegar no estado

Figura 20

Para exemplificar em detalhes o ciclo de vida de um MIPModel, a

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

(Definido): Indica que o MIPModel está estável e disponível para

instanciação, ou seja, pode gerar MIPs de processos,

seja necessário modificar um MIPModel

versão será criada e irá substituí

(Pendente): Um MIPModel no estado

e não é permitida a criação de novas versões para ele.

(Desatualizado): O MIPModel está em desuso, pois foi substituído por

uma versão que passou para o estado

erar novas versões nem derivar MIPs de processos, mas seus

relacionamentos e dos seus MIPs gerados

ilustra a máquina de estados definida para um MIPModel desde sua

do OutDated

Figura 20 - Diagrama de Estados do MIPModel

Para exemplificar em detalhes o ciclo de vida de um MIPModel, a

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

: Indica que o MIPModel está estável e disponível para

pode gerar MIPs de processos,

seja necessário modificar um MIPModel

versão será criada e irá substituí-lo quando estiver estável.

Um MIPModel no estado

e não é permitida a criação de novas versões para ele.

: O MIPModel está em desuso, pois foi substituído por

uma versão que passou para o estado D

erar novas versões nem derivar MIPs de processos, mas seus

e dos seus MIPs gerados

uina de estados definida para um MIPModel desde sua

OutDated.

Diagrama de Estados do MIPModel

Para exemplificar em detalhes o ciclo de vida de um MIPModel, a

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

: Indica que o MIPModel está estável e disponível para

pode gerar MIPs de processos,

seja necessário modificar um MIPModel que está

lo quando estiver estável.

Um MIPModel no estado

e não é permitida a criação de novas versões para ele.

: O MIPModel está em desuso, pois foi substituído por

Defined. Um MIPModel no estado

erar novas versões nem derivar MIPs de processos, mas seus

e dos seus MIPs gerados são mantidos intactos.

uina de estados definida para um MIPModel desde sua

Diagrama de Estados do MIPModel

Para exemplificar em detalhes o ciclo de vida de um MIPModel, a

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

: Indica que o MIPModel está estável e disponível para

pode gerar MIPs de processos, não pode ser editado

está no estado

lo quando estiver estável.

Um MIPModel no estado Pending possui uma versão no

e não é permitida a criação de novas versões para ele.

: O MIPModel está em desuso, pois foi substituído por

. Um MIPModel no estado

erar novas versões nem derivar MIPs de processos, mas seus

são mantidos intactos.

uina de estados definida para um MIPModel desde sua

Diagrama de Estados do MIPModel.

Para exemplificar em detalhes o ciclo de vida de um MIPModel, a

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

: Indica que o MIPModel está estável e disponível para

não pode ser editado

no estado Defined,

possui uma versão no

e não é permitida a criação de novas versões para ele.

: O MIPModel está em desuso, pois foi substituído por

. Um MIPModel no estado

erar novas versões nem derivar MIPs de processos, mas seus

são mantidos intactos.

uina de estados definida para um MIPModel desde sua

Para exemplificar em detalhes o ciclo de vida de um MIPModel, a

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

63

: Indica que o MIPModel está estável e disponível para

não pode ser editado. Caso

efined, uma nova

possui uma versão no

: O MIPModel está em desuso, pois foi substituído por

. Um MIPModel no estado Outdated

erar novas versões nem derivar MIPs de processos, mas seus

uina de estados definida para um MIPModel desde sua

Para exemplificar em detalhes o ciclo de vida de um MIPModel, a Figura 21

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

63

: Indica que o MIPModel está estável e disponível para

. Caso

uma nova

possui uma versão no

: O MIPModel está em desuso, pois foi substituído por

utdated

erar novas versões nem derivar MIPs de processos, mas seus

uina de estados definida para um MIPModel desde sua

Figura 21

apresenta um diagrama de atividades com todas as possibilidades de ações disponíveis para

Page 64: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

Figura 21 - Diagrama de atividades do MIPModelDiagrama de atividades do MIPModelDiagrama de atividades do MIPModelDiagrama de atividades do MIPModel

64

64

Page 65: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

65

O exemplo inicia com a atividade CreateMIPModel, que cria um objeto de

MIPModel denominado M1.1 no estado Draft. O objeto M1.1 pode então ser editado e as

alterações na sua estrutura são salvas pela atividade SaveMIPModel.

Quando M1.1 estiver pronto para ser salvo como definido, o evento SaveAsDefined

pode ser disparado, causando uma bifurcação no fluxo de atividades: a atividade

ToBecomeDefined altera o estado do objeto M1.1 para Defined, e também é feito um teste

para verificar se o MIPModel possui alguma versão antecessora. Caso exista um predecessor

para M1.1, representado no diagrama pelo objeto M1.0, a atividade ToBecomeOutdated é

executada para alterar o estado do predecessor de Pending para Outdated. Em seguida, há

possibilidade de realizar duas atividades: MIPInstantiation e CreateNewVersion.

A atividade MIPInstantiation permite a criação de uma nova instância de M1.1, ou

seja, gera um MIP derivado de M1.1, e pode ser executada diversas vezes. A partir dessa

atividade, pode-se também ativar a atividade CreateNewVersion.

Uma nova versão do MIPModel pode ser solicitada através da atividade

CreateNewVersion, que muda o estado do MIPModel atual (M1.1) para Pending e cria uma

cópia do objeto com estado Draft, representada no exemplo pelo objeto M1.2.

Em seguida, é possível derivar novos MIPs até que seja executada a atividade

ToBecomeOutdated, que muda o estado do objeto M1.1 para Outdated e então finaliza o seu

ciclo de vida, já que ele é substituído pela versão M1.2 no estado Defined.

4.2. MODELO DE DADOS PARA O DOMÍNIO ORGANIZACIONAL.

No Domínio Organizacional, é necessário que a ferramenta disponibilize

funcionalidades para criar e manter apenas um plano de medição, o OrgMIP, e também

permitir análise dos indicadores organizacionais. A Figura 22 apresenta a estrutura de classes

elaborada para permitir a implementação do processo de medição proposto no Domínio

Organizacional.

Conforme especificado na seção 3.2.2, o Plano de Implementação Organizacional -

OrgMip – é composto por Metas de Negócio (objetos da classe OrBusinessGoal), que estão

relacionadas com Metas de Medição da classe OrgMeasurementGoal, que por si geram

Questões quantitativas (objetos da classe OrgQuestion).

Page 66: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

66

Figura 22 - Diagrama de classes de implementação do Processo de Medição no Domínio Organizacional.

Semelhante às Metas de Medição no Domínio de Processos, a definição de Metas de

Medição Organizacionais deve conter o objeto de interesse, o propósito, sobre qual ponto-de-

vista e dados contextuais.

Os resultados da medição são visualizados através de Indicadores Organizacionais

(classe OrgIndicator), que estão relacionados com as Questões. Assim como os indicadores

no Domínio de Processos, a definição de um indicador deve conter sua identificação,

descrição, procedimentos de análise e qual seu tipo de alvo para medição (atributos name,

description, analysisProcedure e targetType, respectivamente). As métricas necessárias para

gerar o indicador são definidas através do relacionamento com a classe MetricDefinition, e o

formato de apresentação do indicador pode ser Tabela, diagrama de Pizza, Barra ou linha

(classes Table, Pie, Bar e Line, especializações de Format).

Indicadores Organizacionais auxiliam a compreensão e análise de resultados

relacionados à medição em atributos da organização ou relacionados a métricas de processos

executados, com o objetivo de permitir comparação de resultados. Portanto, diferente dos

indicadores de um MIP apresentados anteriormente, o atributo targetType de um indicador

organizacional tem apenas dois valores possíveis: organização ou processo.

Page 67: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

67

A análise de um Indicador Organizacional, juntamente com suas lições aprendidas e

observações gerais de contexto, são registradas na classe OrgIndicatorAnalysis. Um Indicador

Organizacional pode ser analisado diversas vezes, por isso cada análise deve ter sua data

registrada no atributo date.

Se o atributo targetType do indicador for processos, cada análise do indicador é

relacionada com processos da classe Process, permitindo assim flexibilidade para seleção de

processos nas análises comparativas.

4.3. PROTÓTIPO DA FERRAMENTA

Para avaliar a proposta desse trabalho, desenvolveu-se um protótipo da ferramenta de

apoio ao Processo de Medição. O protótipo foi integrado ao ambiente WebAPSEE com três

módulos principais: MIPModel, MIP e Organizacional, detalhados nas subseções a seguir.

4.3.1. Módulo MIPModel.

O módulo MIPModel é relativo ao caso de uso UC1 – Gerenciar MIPModels. Como

mostra a Figura 23, o módulo MIPModel permite a definição de modelos de plano de medição

conforme a especificação da proposta, ou seja, através da seleção de Metas de Negócio, Metas

de Medição, Questões, Indicadores e Relatórios Gerenciais nas abas Business Goals,

Measuremet Goals, Questions, Indicators e Reports, respectivamente.

Figura 23 - Tela principal do módulo MIPModel.

Page 68: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

68

O MIPModel de exemplo da Figura 23 está no estado Draft, portanto é possível

realizar alterações no modelo, e conforme a máquina de estados para MIPModels especificada

anteriormente, as atividades Save e Save as Defined estão disponíveis. A partir do momento

que o MIPModel é salvo como Defined o módulo permite acesso apenas para leitura do

MIPModel, bloqueando quaisquer tentativas de alteração.

Em cada aba do formulário é possível incluir na base de dados o elemento

correspondente, adicioná-lo ao MIPModel, visualizar os elementos adicionados e também

remover elementos. A remoção de um determinado elemento é feita apenas em relação ao

MIPModel, pois os elementos incluídos permanecem na base de dados para compor o

catálogo disponível para criação de MIPModels e também de MIPs.

Para manter a rastreabilidade entre os elementos, conforme solicita o requisito F4,

antes de adicionar um elemento ao MIPModel é necessário informar os elementos do níveis

anteriores, exceto para o nível de Metas de Medição por ser o primeiro nível. Como exemplo,

a tela a) da Figura 24 mostra que na aba Indicators é necessário informar a Meta de Negócio

antes de adicionar um Indicador, para em seguida selecionar uma Meta de Medição que esteja

relacionada com a Meta de Negócio, e finalmente acessar as Questões já relacionadas

anteriormente com a Meta de Medição selecionada.

Em relação à definição de indicadores, foram disponibilizadas na ferramenta 3 tipos

de operações para geração do indicador:

• Desvio: Calcula o índice de desvio entre estimativas e métricas e apresenta os

resultados conforme o formato escolhido para o indicador. No formato Tabela, o

índice de desvio é calculado pela subtração entre as métricas coletadas e suas

estimativas, enquanto que os formatos Barra e Linha mostram a porcentagem de

desvio. Essa operação não é disponível para o formato de gráfico em Pizza.

• Distribuição: Calcula a porcentagem do somatório ou média de uma métrica em

relação aos elementos-alvo do indicador. Os formatos possíveis de apresentação

dos resultados são Tabela, gráfico de Barra e Pizza.

• Listagem: Disponível apenas no formato Tabela, a listagem recupera todas as

estimativas e métricas coletadas dos alvos do indicador.

Page 69: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

como tipo de alvo atividades

valores de esforço estimados e realizad

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

permitindo assim que um MIPModel seja reutilizado n

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

elementos.

Figura 24 –

A tela

como tipo de alvo atividades

valores de esforço estimados e realizad

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

permitindo assim que um MIPModel seja reutilizado n

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

elementos.

– Tela a) - Aba

A tela b) da Figura 24

como tipo de alvo atividades

valores de esforço estimados e realizad

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

permitindo assim que um MIPModel seja reutilizado n

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

Aba Indicators

Figura 24 mostra um exemplo de definição de um Indicador que tem

como tipo de alvo atividades realizadas no processo de software,

valores de esforço estimados e realizad

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

permitindo assim que um MIPModel seja reutilizado n

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

Indicators. Tela b) - Definição de um indicador no MIPModel

mostra um exemplo de definição de um Indicador que tem

realizadas no processo de software,

valores de esforço estimados e realizados através de um gráfico de barras

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

permitindo assim que um MIPModel seja reutilizado n

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

Definição de um indicador no MIPModel

mostra um exemplo de definição de um Indicador que tem

realizadas no processo de software,

através de um gráfico de barras

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

permitindo assim que um MIPModel seja reutilizado n

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

Definição de um indicador no MIPModel

mostra um exemplo de definição de um Indicador que tem

realizadas no processo de software, e mostrará o desvio ente os

através de um gráfico de barras

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

permitindo assim que um MIPModel seja reutilizado na construção de outro com

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

a)

Definição de um indicador no MIPModel

mostra um exemplo de definição de um Indicador que tem

mostrará o desvio ente os

através de um gráfico de barras.

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

a construção de outro com

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

a) b)

69

Definição de um indicador no MIPModel.

mostra um exemplo de definição de um Indicador que tem

mostrará o desvio ente os

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

a construção de outro com

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

69

mostra um exemplo de definição de um Indicador que tem

mostrará o desvio ente os

Além de permitir a definição e edição de modelos de plano de medição, o módulo

MIPModel também disponibiliza a funcionalidade de copiar um plano de medição já definido,

a construção de outro com

características inicialmente semelhantes mas que será adaptado pela inclusão ou remoção de

Page 70: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

70

4.3.2. Módulo MIP

O módulo MIP foi desenvolvido para prover funcionalidades dos casos de uso

relacionados com um MIP, além de parte dos casos de uso que dizem respeito à análise e

visualização dos resultados, como detalhado a seguir.

Caso de uso UC2 – Selecionar MIP de Projeto

Implementado pela funcionalidade Choose Process MIP, que disponibiliza uma lista

de MIPModels no estado Defined ou Pending e uma lista de processos modelados no

ambiente WebAPSEE para criar o plano de medição de um determinado processo. Ao

selecionar um MIPModel o usuário tem acesso à sua descrição e recomendações da

aplicabilidade (atributo apliedTo) do MIPModel.

Após selecionar o processo de software e o MIPModel mais adequado dentre os

disponíveis, a ação de seleção pode ser acionada para instanciar um MIP derivado do

MIPModel determinado e relacionar o MIP criado com o processo de software.

Caso de uso UC3 – Configurar MIP

O módulo MIP disponibiliza o acesso aos MIPs instanciados para adaptação e

integração dos Indicadores com os elementos do processo.

Através de interface gráfica semelhante à de definição de MIPModels (vide tela a) da

Figura 25), pode-se visualizar os elementos definidos no MIPModel de origem, além de

incluir novos elementos e relacionamentos de acordo com as necessidades específicas do

projetos. Em conformidade com o requisito F3, é possível remover elementos e

relacionamentos do MIP somente se não constarem no MIPModel que o originou.

A configuração necessária para integrar o MIP com seu processo de software

relacionado (requisito F1) é executada através da ação Select Target disponível na aba

Indicators, ilustrada na Figura 25. Por meio dessa ação seleciona-se quais são os elementos-

alvo de um determinado indicador, ou seja, que elementos do processo precisam ser medidos

para gerar o indicador como desejado. Como exemplifica a tela b) da Figura 25, a seleção dos

alvos do indicador é feita com o auxílio dos filtros All, By Type e Selected, conforme descrito

na seção 4.1.

Page 71: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

Figura 26

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

seja gerado (requisito F5).

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

utilizou

formato do Microsoft Excel (

Figura 25 - Software.

Caso de uso UC

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

Figura 26, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

seja gerado (requisito F5).

Foi escolhido o formato de planilhas elet

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

utilizou-se a API jXLS

formato do Microsoft Excel (

Configuração do indicador para integração do MIP com o Processo de

Caso de uso UC5

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

seja gerado (requisito F5).

Foi escolhido o formato de planilhas elet

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

se a API jXLS [24]

formato do Microsoft Excel (

Configuração do indicador para integração do MIP com o Processo de

– Analisar Medição

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

Foi escolhido o formato de planilhas elet

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

[24] para exportar os dados dos indicadores e criar arquivos

formato do Microsoft Excel (XLS).

Configuração do indicador para integração do MIP com o Processo de

Analisar Medição

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

Foi escolhido o formato de planilhas elet

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

para exportar os dados dos indicadores e criar arquivos

Configuração do indicador para integração do MIP com o Processo de

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

Foi escolhido o formato de planilhas eletrônicas para gerar os indicadores

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

para exportar os dados dos indicadores e criar arquivos

Configuração do indicador para integração do MIP com o Processo de

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

rônicas para gerar os indicadores

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

para exportar os dados dos indicadores e criar arquivos

a)

Configuração do indicador para integração do MIP com o Processo de

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

rônicas para gerar os indicadores

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

para exportar os dados dos indicadores e criar arquivos

a)

71

Configuração do indicador para integração do MIP com o Processo de

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

rônicas para gerar os indicadores devido à

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

para exportar os dados dos indicadores e criar arquivos no

b)

71

Para viabilizar a análise dos resultados da medição, o módulo MIP disponibiliza uma

interface gráfica para acesso e geração dos indicadores gráficos. Como pode ser visto na

, o acesso aos indicadores é possível através da navegação entre as Metas de

Negócio, de Medição e Questões aos quais está relacionado, permitindo então que o indicador

à

facilidade e funcionalidades disponíveis para geração e manipulação de gráficos. Para tanto,

no

Page 72: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

72

Ao selecionar um indicador, têm-se acesso também à sua descrição e detalhes de

procedimento de análise definidos, como mostrado na Figura 26. De posse dessas

informações, pode-se então prosseguir com a análise dos resultados, registrando-a através da

aba Analysis, assim como prováveis lições aprendidas e observações de contexto (abas

Learned Lessons e Observations).

Caso de uso UC6 – Visualizar Relatórios Gerenciais

A visualização dos Relatórios Gerenciais configurados no MIP do processo é

disponibilizada no módulo MIP na mesma tela de análise dos indicadores, como mostra a

Figura 26.

Assim como para os indicadores, o acesso aos relatórios configurados é feito após a

seleção de uma questão do plano de medição. Os relatórios configurados para a questão são

então listados, e ao selecionar um relatório o usuário visualiza também o detalhamento da

configuração dele, ou seja, quais indicadores constam no relatório, se inclui procedimentos de

análise, a análise, lições aprendidas e observações, e para quem ou para qual grupo de pessoas

o relatório é destinado. Os Relatórios Gerenciais também são gerados no formato do

Microsoft Excel (XLS).

Figura 26 - Visualização e Análise dos resultados no Domínio de Processos.

1 81 0

3 0

5 0

2 01 5

01 02 03 04 05 06 07 08 09 0

1 0 0

A n á l i s eR e q u i s i t o sP r o j e t oC o d i f i c a c a oR e v i s ã oT e s t e

Page 73: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

73

4.3.3. Módulo Organizacional

O módulo organizacional tem como objetivo viabilizar a definição do Plano de

Implementação de Medição Organizacional – OrgMIP – e também a visualização e análise

dos resultados de medição. A seguir são apresentados em detalhes os casos de uso

implementados no módulo.

Caso de Uso UC4 - Gerenciar OrgMIP

Em conformidade com a especificação descrita na seção 4.2, o módulo

organizacional implementa o caso de uso UC4 permitindo a definição do OrgMIP pela

inclusão de Metas de Negócio, de Medição, Questões, Indicadores Organizacionais e

Relatórios Gerenciais relativos ao Domínio Organização.

Para definição e atualização do OrgMIP, o módulo organizacional disponibiliza

interface gráfica semelhante às utilizadas para definição de MIPModels e MIPs, onde pode-se

incluir elementos na base de dados e também adicionar os elementos ao OrgMIP, mantendo a

rastreabilidade dos relacionamentos entre eles (requisito F4).

Caso de uso UC5 – Analisar Medição

Assim como no módulo MIP, a análise da medição no Domínio Organizacional é

feita através da análise dos indicadores definidos. Através da interface gráfica ilustrada pela

tela a) da Figura 27, o acesso aos indicadores é feito navegando-se entre as Metas de Negócio,

de Medição e Questões.

De acordo com o que foi especificado para Indicadores Organizacionais na seção 4.2,

um indicador pode ser analisado diversas vezes enquanto for útil pra organização. Por isso, ao

selecionar um indicador o usuário visualiza a lista de análises já realizadas para ele, além de

sua descrição e seus procedimentos de análise.

A tela b) da Figura 27 mostra o formulário de análise para um indicador cujo

targetType é processos. Para esse tipo de Indicador Organizacional, em cada análise devem

ser selecionados os processos que serão os alvos do indicador, para em seguida gerar o

indicador no formato xls. Na mesma tela registra-se a análise em si, lições aprendidas e

observações gerais de apoio à compreensão da análise, além da data em que ocorreu. É

possível também visualizar e editar uma análise passada através da mesma tela.

Page 74: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

mesma tela de análise do indicador, como mostra a

de que os

indicadores para comparação de processos são relacionados aos seu

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

organizacional.

organizacionais apresentam resultados de apenas um ind

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

indicador.

4.4.

modificações arquiteturais no ambiente.

sistema WebAPSEE se divide em 3 camadas princip

Figura 27

Caso de uso UC

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

mesma tela de análise do indicador, como mostra a

que os Indicadores Organizacionais

indicadores para comparação de processos são relacionados aos seu

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

organizacional.

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

organizacionais apresentam resultados de apenas um ind

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

indicador.

4.4. MODIFICAÇÕES NO

Para integrar o protótipo da ferramenta

modificações arquiteturais no ambiente.

sistema WebAPSEE se divide em 3 camadas princip

Figura 27 - Visualização e Análise dos

Caso de uso UC6

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

mesma tela de análise do indicador, como mostra a

Indicadores Organizacionais

indicadores para comparação de processos são relacionados aos seu

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

organizacionais apresentam resultados de apenas um ind

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

MODIFICAÇÕES NO

Para integrar o protótipo da ferramenta

modificações arquiteturais no ambiente.

sistema WebAPSEE se divide em 3 camadas princip

Visualização e Análise dos

– Visualizar Relatórios Gerenciais

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

mesma tela de análise do indicador, como mostra a

Indicadores Organizacionais

indicadores para comparação de processos são relacionados aos seu

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

organizacionais apresentam resultados de apenas um ind

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

MODIFICAÇÕES NO AMBIENTE

Para integrar o protótipo da ferramenta

modificações arquiteturais no ambiente.

sistema WebAPSEE se divide em 3 camadas princip

Visualização e Análise dos resultados no Domínio Organizacional.

Visualizar Relatórios Gerenciais

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

mesma tela de análise do indicador, como mostra a

Indicadores Organizacionais podem ser analisados diversas vezes, e também porque

indicadores para comparação de processos são relacionados aos seu

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

organizacionais apresentam resultados de apenas um ind

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

AMBIENTE WEBAPSEE.

Para integrar o protótipo da ferramenta

modificações arquiteturais no ambiente. Conforme demonstrado na

sistema WebAPSEE se divide em 3 camadas princip

a) Acesso aos Indicadores Organizacionais

resultados no Domínio Organizacional.

Visualizar Relatórios Gerenciais

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

mesma tela de análise do indicador, como mostra a tela b) da

podem ser analisados diversas vezes, e também porque

indicadores para comparação de processos são relacionados aos seu

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

organizacionais apresentam resultados de apenas um indicador: o mesmo selecionado para

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

WEBAPSEE.

Para integrar o protótipo da ferramenta ao WebAPSEE

Conforme demonstrado na

sistema WebAPSEE se divide em 3 camadas principais [29]:

a) Acesso aos Indicadores Organizacionais

b) Análise de Indicador Comparativo de Processo

resultados no Domínio Organizacional.

Visualizar Relatórios Gerenciais

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

da Figura 27

podem ser analisados diversas vezes, e também porque

indicadores para comparação de processos são relacionados aos seus alvos em cada an

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

icador: o mesmo selecionado para

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

WEBAPSEE.

WebAPSEE foi necessário realizar

Conforme demonstrado na Figura 28

:

a) Acesso aos Indicadores Organizacionais

b) Análise de Indicador Comparativo de Processo

resultados no Domínio Organizacional.

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

Figura 27. Isso é devido ao fato

podem ser analisados diversas vezes, e também porque

s alvos em cada an

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

icador: o mesmo selecionado para

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

foi necessário realizar

Figura 28, a arquitetura do

a) Acesso aos Indicadores Organizacionais

b) Análise de Indicador Comparativo de Processo

74

resultados no Domínio Organizacional.

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

evido ao fato

podem ser analisados diversas vezes, e também porque

s alvos em cada análise.

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

icador: o mesmo selecionado para

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

foi necessário realizar

, a arquitetura do

b) Análise de Indicador Comparativo de Processo

74

O acesso aos Relatórios Gerenciais no módulo organizacional é disponibilizado na

evido ao fato

podem ser analisados diversas vezes, e também porque

álise.

Portanto, em um determinado instante podem existir diversas versões de um mesmo indicador

Diferentes do que ocorre no Domínio de Projetos, Relatórios Gerenciais

icador: o mesmo selecionado para

análise. Os relatórios disponíveis na tela de análise são os relacionados à mesma questão do

foi necessário realizar

, a arquitetura do

Page 75: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

75

A) Camada Servidora, que provê serviços de persistência, checagem de consistência

para modelagem, controle e armazenamento de artefatos e execução de modelos de

processos de software;

B) Camada Cliente, que oferece infra-estrutura para acesso aos serviços da camada

servidora;

C) Camada de Ferramentas Clientes, que possui as ferramentas que interagem

diretamente com a GUI1 para entrada de dados, modelagem de processos e visualizações

de informações obtidas do servidor.

Figura 28 - Camadas que compõem a Arquitetura do WebAPSEE [29]

A fim de atender as demandas de serviços específicos da ferramenta de suporte ao

modelo de Processo de Medição proposto, os seguintes componentes foram alterados na

arquitetura do ambiente WebAPSEE:

• Na camada C, os formulários da ferramenta foram adicionados ao componente

WebAPSEE Forms. No componente WebAPSEE Reports foram adicionados

métodos para visualização dos indicadores e relatórios gerenciais da ferramenta.

• Na camada B foram adicionados novos métodos no Reports Client para realizar

as chamadas dos indicadores e relatórios da ferramenta.

1GUI - Graphical User Interface

Page 76: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

76

• Na camada A foram adicionadas ao componente Model classes de negócio

relativas aos dados persistentes requeridos pela ferramenta em cada um de seus

módulos.

Para estimar e coletar métricas, serão utilizados os formulários atuais do ambiente,

mas deverão ser integrados com o MIP do processo para que disponibilizem as métricas

conforme definido no plano de medição. No protótipo atual esta integração não está

implementada, mas esse fato não impede o uso da ferramenta proposta porque os formulários

de estimativa e coleta provêem acesso a todas as métricas definidas no ambiente.

Outra alteração sugerida é a possibilidade dos agentes coletarem métricas relativas

aos artefatos que desenvolvem, descentralizando desse modo a tarefa de coleta. Para tanto,

será necessário incluir na agenda do desenvolvedor acesso ao formulário de coleta, integrando

a agenda com o MIP do processo da atividade em execução. Atualmente esta funcionalidade

não está implementada, portanto só o gerente coleta métricas.

4.5. CONSIDERAÇÕES FINAIS DO CAPÍTULO.

Este capítulo apresentou o protótipo de apoio ao Processo de Medição proposto,

sendo que o protótipo foi integrado ao ambiente WebAPSEE.

Foram apresentados os modelos de classes para definição da abordagem de medição

nos domínios definidos no capítulo anterior – Domínio de Processos e Domínio

Organizacional, evidenciando como os modelos satisfazem os requisitos definidos para a

ferramenta. Os módulos desenvolvidos – MIPModel, MIP e OrgMIP - foram descritos com

base nos casos de uso definidos anteriormente.

Por fim, apresentou-se as modificações realizadas no ambiente WebAPSEE para

permitir o desenvolvimento e integração do protótipo da abordagem. Além disso, foram

descritas as modificações ainda não implementadas no protótipo atual mas que constam como

trabalho futuro.

Page 77: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

77

CAPÍTULO 5 AVALIAÇÃO DA PROPOSTA

Este capítulo apresenta a avaliação da proposta dessa dissertação através de um

experimento onde foram utilizados dados de execução de um processo real, da análise da

aderência aos modelos CMMI e MPS.BR e também através da comparação com trabalhos

relacionados. As seções a seguir descrevem essas avaliações respectivamente.

5.1. EXPERIMENTO.

Na avaliação do trabalho, um processo real de manutenção adaptativa de uma

organização de desenvolvimento de software foi executado no ambiente. No período de

execução do presente trabalho de dissertação tal organização possuía avaliação nível 2 do

CMM.

O estudo de caso iniciou a partir de entrevistas com dois funcionários da organização

com cargo de líder de projetos em desenvolvimento de software, sendo que os dois líderes

pertencem a grupos de desenvolvimento distintos. O objetivo principal da entrevista foi

conhecer o processo de desenvolvimento institucionalizado da organização, como o processo

trata da medição e como ela é executada.

Com as entrevistas verificou-se que a organização possui Planos de Medição e

Análise padronizados em documentos eletrônicos tanto para projetos quanto para o nível

organizacional, como sugere a abordagem proposta neste trabalho. Os Planos de Medição e

Análise incluem a definição de metas de negócio, metas de medição, questões, indicadores de

resultados e a geração de relatórios gerenciais.

As atividades de medição da organização estão previstas no processo de

desenvolvimento, sendo que uma pessoa é alocada como responsável por coletar as métricas

planejadas no Plano de Medição e também por consolidar os resultados na forma de

indicadores e relatórios gerencias. Algumas das métricas são inseridas em um sistema de

coleta pelos próprios desenvolvedores enquanto que outras devem ser solicitadas as

responsáveis. Um dos líderes de projeto entrevistados era o responsável no seu grupo pelas

atividades de medição, fato que possibilitou a obtenção de conhecimento detalhado sobre as

atividades de medição da organização.

Para a execução do estudo de caso, foram obtidos junto à organização os dados

referentes aos custos e prazos estimados e realizados para cada atividade de um processo de

Page 78: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

78

manutenção já finalizado, com o compromisso de manter os valores sob sigilo. Além disso,

obteve-se acesso ao Plano de Medição a nível de projetos de software, porém não a

organização não permitiu o acesso à especificação do seu processo padrão de

desenvolvimento.

Como mostra a Figura 29, as atividades do processo de exemplo foram modeladas e

executadas na ferramenta Manager do ambiente WebAPSEE. O processo inicia com a

atividade Reunião Inicial do Projeto envolvendo todos os participantes. Após a execução da

atividade, um analista de requisitos tem a responsabilidade de registrar as decisões tomadas na

reunião na atividade Elaborar Ata da Reunião, enquanto outro analista planeja o

gerenciamento de configuração para o projeto na atividade Planejar Configuração. Em

paralelo, a atividade Elicitar Requisitos é iniciada.

Figura 29 - Execução do processo de exemplo.

Elicitar Requisitos é uma atividade descomposta em outras atividades modeladas

como ilustrado na Figura 30. Ela compreende a elaboração e revisão do Documento de Visão

do projeto e da especificação dos Casos de Uso envolvidos. Por último, os requisitos são

importados para uma ferramenta de Gestão de Requisitos.

Page 79: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

79

Figura 30 - Atividade Elicitar Requisitos.

Com a finalização da atividade Importar Requisitos para Ferramenta de Gestão

de Requisitos, de acordo com o processo ilustrado na Figura 29 o Gerente deve realizar a

atividade Elaborar Planejamento do Projeto para que atividade Desenvolver Alterações

seja iniciada.

Como mostra a Figura 31, a execução da atividade Desenvolver Alterações inicia

com a codificação de formulários no sistema por dois desenvolvedores. Na seqüência, ao

mesmo tempo em que é feita a revisão e formatação dos formulários são desenvolvidos novos

relatórios de gestão na ferramenta. Ao final da atividade Desenvolver Relatório de Gestão

um agente codifica versões desses relatórios no formato PDF1.

1 Portable Document Format

Page 80: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

80

Figura 31 - Atividade Desenvolver Alterações.

Seguindo o processo modelado, ao finalizar a atividade Desenvolver Alterações a

aplicação deve ser testada para que então o projeto seja homologado (atividades Testar

Aplicação e Homologar Projeto, respectivamente) Após a homologação, o sistema é

implantado no ambiente de operação, conforme as atividades mostradas na Figura 32. Depois

da atividade Implantar, são realizados novos testes na aplicação ao mesmo tempo que

ocorrências de falhas são corrigidas (conexão start-start entre as atividades Teste e Corrigir

Ocorrências de Falhas). Após a correção de falhas, um agente com papel de Gerente realiza

ajustes na homologação.

Figura 32 - Atividade Implantar Projeto.

Page 81: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

81

Ao final do processo, o gerente deve fazer uma avaliação final do projeto e

desenvolver o artefato Relatório de Avaliação Final, contendo indicadores dos resultados e

lições aprendidas.

Elaborou-se um modelo de Plano de Implementação de Medição – MIPModel –

simplificado, visto que o processo não é para desenvolver um sistema de software novo, mas

sim um processo de manutenção num sistema que a equipe já possuía conhecimento prévio do

domínio de problema. Nas tabelas a seguir é apresentado um resumo contendo as Metas de

Negócio (Tabela 13), de Medição (Tabela 14), Questões (Tabela 15) e Indicadores elaborados

Tabela 16).

Tabela 13 - Metas de Negócio elaboradas no estudo de caso.

Metas de Negócio

1 Produzir software de qualidade.

2 Melhorar a produtividade.

3 Cumprir os compromissos de prazo e custo assumidos.

Tabela 14 - Metas de Medição elaboradas no estudo de caso e Metas de Negócio relacionadas.

Metas de Medição Meta(s) de Negócio

1

Analisar taxa de defeitos em produtos em manutenção.

Descrição:

Analisar a taxa de defeitos detectados no produto como forma de aferir sua qualidade, sob o ponto-de-vista do cliente, em projetos de manutenção.

1

2

Analisar o tamanho de artefatos e esforço despendido.

Descrição:

Conhecer o tamanho de cada artefato desenvolvido e o esforço necessário para produzi-lo, com o objetivo de manter uma base de dados históricos sobre produtividade.

1, 2, 3

3

Avaliar esforço e rendimento em atividades de teste.

Descrição:

Avaliar as atividades de teste quanto ao esforço e ao rendimento obtido na detecção de defeitos, com o objetivo de identificar formas de aumentar sua eficácia.

1

4

Melhorar acurácia de estimativas que afetem prazo e custo. Descrição:

Analisar o erro das estimativas com o objetivo de conhecer sua acurácia e identificar oportunidades para melhorá-la.

3

Page 82: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

82

Tabela 15 - Questões no estudo de caso e Metas de Medição relacionadas.

Questão Meta de Medição

1 Qual a tava de defeitos observada em cada artefato desenvolvido? 1

2 Qual a produtividade observada por tipo de atividade? 2

3 Qual a produtividade observada em atividades de desenvolvimento? 2

4 Qual o tamanho de cada artefato desenvolvido? 2

5 Qual o esforço gasto para o desenvolvimento de cada artefato? 2

6 Qual o esforço dedicado às atividades de teste? 3

7 Qual a taxa de defeitos encontrados em atividades de teste antes e depois da implantação do produto? 3

8 Qual a fração de defeitos detectados em atividades de teste? 3

9 Qual a fração do esforço de um projeto que é empregada nas atividades de teste? 3

10 Qual o índice de desvio das estimativas de esforço, custo, prazo e tamanho realizadas, comparando-se os valores estimados e obtidos? 4

Tabela 16 - Indicadores no estudo de caso e Questões relacionadas.

Indicador Questão

1 Listagem de defeitos observados por artefato 1

2 Distribuição de esforço por tipo de atividade. 2

3 Distribuição de esforço em atividades de desenvolvimento. 3

4 Listagem do tamanho de artefatos. 4

5 Listagem do esforço gasto por artefato. 5

6 Listagem do esforço em atividades de teste. 6

7 Distribuição do esforço por tipo de atividade. 6,9

8 Distribuição de defeitos detectados por tipo de atividade. 8

9 Listagem da taxa de defeitos encontrados em testes antes da implantação. 7

10 Listagem da taxa de defeitos encontrados em testes depois da implantação. 7

11 Índice de desvio de custo por atividade. 10

12 Índice de desvio de custo por tipo de atividade. 10

13 Índice de desvio de esforço por atividade. 10

14 Índice de desvio de esforço por tipo de atividade. 10

15 Índice de desvio de prazo por atividade. 10

16 Índice de desvio de prazo por tipo de atividade. 10

17 Índice de desvio de tamanho por atividade. 10

18 Índice de desvio de tamanho por tipo de atividade. 10

A partir dos dados disponibilizados, elaborou-se um indicador que apresenta o desvio

de custo do projeto por tipo de atividade em formato de gráfico de barras (Figura 33). O

indicador gerado, cujo gráfico está ilustrado na Figura 34, evidenciou que as atividades do

tipo Requirements e Verification e Validation foram superestimadas em mais de 20% em

Page 83: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

83

relação ao custo realmente despendido. Dentre as causas relatadas por um integrante do

projeto com perfil de gerente estão a necessidade de treinamentos sobre o método de

estimativa utilizado na organização e a falta de uma base histórica para auxiliar as estimativas.

Figura 33 – Elaboração do Indicador “Desvio de Custo por Tipo de Atividade”.

Figura 34 - Indicador Desvio de Custo por Tipo de Atividade.

Com a execução simulada do processo de exemplo no WebAPSEE integrado com a

ferramenta definida para apoiar a medição, os seguintes benefícios do uso da abordagem

proposta foram identificados:

Desvio de Custo por Tipo de Atividade

-40%

-30%

-20%

-10%

0%

10%

Coding Management Requirements Testing Verificationand Validation

Tipo de Atividade

Des

vio

Page 84: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

84

• Fornece apoio à Gerência para avaliação do processo.

A ferramenta disponibiliza para análise os dados resultantes contextualizados pelas

metas de negócio, a definição detalhada das metas medição, e questões que

levantaram a necessidade da coleta dos dados (vide a Figura 26 e a Figura 27 no

capítulo anterior). Além disso, os indicadores possuem descrição e procedimentos de

análise definidos, que também são disponibilizados. De posse dessas informações o

gerente registra a análise dos indicadores na própria ferramenta, e se desejar pode

informar lições aprendidas e observações de contexto dos resultados.

• Diminui tempo de resposta para geração de Relatórios de Avaliação.

Os relatórios configurados podem ser gerados a qualquer momento. Como são

gerados no formato do Microsoft Excel, os relatórios podem ser manipulados

livremente para quaisquer ajustes.

• Permite a padronização e recuperação de Planos de Medição.

São definidos os modelos de Plano de Medição (MIPModels) para serem

instanciados em processos, e os planos de medição (MIPs) são registrados na

ferramenta para consulta posterior. Com a execução dos planos de medição, o

MIPModel de origem pode ser aperfeiçoado, e a organização pode também elaborar

novos MIPModels adequados aos processos que executa. No exemplo dado, o

MIPModel elaborado pode ser usado para instanciar planos de medição para projetos

simples, enquanto outro MIPModel pode ser elaborado para projetos complexos.

• Favorece a reutilização de lições aprendidas.

As lições aprendidas registradas na análise dos resultados podem ser reutilizadas no

planejamento das próximas atividades e novos projetos. As lições aprendidas são

contextualizadas pelos indicadores que estão relacionados, ao plano de medição, e

por fim, ao processo no qual o plano de medição foi instanciado. Essa

contextualização favorece a reutilização das lições diminuindo o risco de

interpretações equivocadas.

No exemplo simulado, a análise e lições aprendidas do indicador da Figura 34

poderiam ser usadas juntamente com o histórico dos valores obtidos para melhorar a acurácia

das estimativas de custos em outros projetos.

Page 85: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

85

Em relação ao modelo proposto para integração do Processo de Medição a um PSEE,

alguns potenciais benefícios foram identificados como hipóteses que precisam ser avaliadas

empiricamente em um trabalho futuro. São eles:

• Permite a escolha de métricas úteis à organização, visto que as métricas são

definidas a partir dos objetivos de negócio e de medição, tanto em nível

organizacional quanto de projetos. Desse modo, métricas são coletadas para

satisfazer necessidades reais de informação.

• Permite a coleta e análise correta dos resultados devido à definição detalhada dos

objetivos de medição e procedimentos de análise dos indicadores. Nem sempre quem

coleta participou da elaboração do plano de medição do projeto, portanto essas

informações favorecem a compreensão dos resultados no contexto correto.

• Fornece apoio efetivo à Gerência através dos Relatórios Gerenciais configurados

para comunicar resultados de forma a apoiar tomada de decisões.

5.2. ADERÊNCIA DA PROPOSTA AOS MODELOS CMMI E MPS.BR.

Para analisar o apoio que a proposta fornece para implantação de processos de

medição, verificou-se as recomendações preconizadas pelos modelos de qualidade CMMI e

MPS.BR, apresentados nas seções 2.3.1 e 2.3.2, respectivamente.

Como mostra a Tabela 17, para os níveis em que o processo de medição é

implantado (nível 2 do CMMI e nível F do MPS.BR), avaliou-se como a proposta atende às

praticas especificas e resultados esperados.

Em relação à especificação de métricas, o modelo atende parcialmente por não

permitir a definição de métricas calculadas automaticamente a partir de outras métricas, nem

o uso de escalas do tipo Nominal e Ordinal. Logo, essas deficiências constituem pontos de

melhoria futura. A proposta atende também parcialmente a comunicação dos resultados

porque emite os Relatórios Gerenciais configuração, mas a divulgação deles para os

interessados pode ser feita pelo gerente através de meios externos à ferramenta.

Acerca dos níveis Definido (2) do CMMI e E do MPS.BR deve-se ressaltar que

através da definição de MIPModels a proposta fornece auxílio para a institucionalização do

processo de medição. Os níveis mais altos desses modelos são referentes ao controle

estatístico e ao uso dos resultados para previsão de tendências, estando fora do escopo desse

trabalho.

Page 86: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

Práticas Específicas para Medição n

Nível 2

PE 1.1 - Estabelecer objetivos de medição.

PE 1.2 - Especificar medidas.

PE 1.3 - Especificar procedimentos de coleta e armazenamento de dados.

PE 1.4 - Especificar procedimentos de análise.

PE 2.1 - Coletar dados de medições.

PE 2.2 - Analisar dados de medições.

PE 2.3 - Armazenar dados e resultados.

PE 2.4 - Comunicar resultados.

Específicas para Medição no CMMI –

Nível 2

Estabelecer objetivos de medição.

MED1estabelecidos a partir das neinformação e objetivos da organização.

Especificar MED2orientado pelos objetivos deidentificado e/ou definido, priorizado, documentado, revisado

Especificar procedimentos de coleta e armazenamento de

MED3 armazenamento de medidas

Especificar procedimentos de análise.

MED4 medição realizada são

Coletar dados de

MED5 analisadosAnalisar dados

Armazenar dados MED6 são armazenados

Comunicar MED7 para apoiar decisões eobjetiva para comunicação aos interessados

Resultado Esperados da Medição nMPS.BR

MED1 - Objetivos e atividades de medição são estabelecidos a partir das neinformação e objetivos da organização.

MED2 - Um conjunto adequado de medidas, orientado pelos objetivos deidentificado e/ou definido, priorizado, documentado, revisado

MED3 - Os procedimentos para a coleta e o armazenamento de medidas

MED4 - Os procedimentos para a análise da medição realizada são

MED5 - Os dados requeridos são coletados e analisados.

MED6 - Os dados e os resultados de análises são armazenados.

MED7 - As informaçõpara apoiar decisões eobjetiva para comunicação aos interessados

Tabela 17 –

Esperados da Medição nMPS.BR – Nível F

Objetivos e atividades de medição são estabelecidos a partir das necessidades de informação e objetivos da organização.

Um conjunto adequado de medidas, orientado pelos objetivos de medição, é identificado e/ou definido, priorizado, documentado, revisado e atualizado.

Os procedimentos para a coleta e o armazenamento de medidas são especificados

ocedimentos para a análise da medição realizada são especificados.

Os dados requeridos são coletados e

Os dados e os resultados de análises

As informações produzidas são usadas para apoiar decisões e para fornecer uma base objetiva para comunicação aos interessados

Apoio fornecido

Esperados da Medição no Atendimento

Objetivos e atividades de medição são cessidades de

informação e objetivos da organização.

Um conjunto adequado de medidas, medição, é

identificado e/ou definido, priorizado, Parcial

Os procedimentos para a coleta e o são especificados.

ocedimentos para a análise da

Os dados requeridos são coletados e

Os dados e os resultados de análises

es produzidas são usadas para fornecer uma base

objetiva para comunicação aos interessados. Parcial

Apoio fornecido ao nível 2 do CMMI e ao nível F

Atendimento

Através da definição de Metas de Negócio e Metas de Medição.

Parcial

Permite aprocedimentos de coleta. Não permite a definição para cálculo automático de medidas secundáriasmétricas com escala Nominal ou alfanuméricos.

Os procedimentos de coleta são especificados na definição de cada medida. Para todos os processos, o armazenamento dos dados é na base de métricas do WebAPSEE.

Procedimentos de Análise são definidos para cada indicador de resultados.

As métricas são estimadas e coletadformulários

A análise dos resultados é registrada para cada indicador.

Os processos, planos de mediçanálise dos resultados são armazenados na base do ambiente.

Parcial

A ferramenta gera os Relatórios Gerenciais configurados no plano de medição, mas o gerente é quem repassa as informações ao públicorelatório.

ao nível 2 do CMMI e ao nível F

Como atende

Através da definição de Metas de Negócio e Metas de Medição.

Permite a definição de medidas primárias procedimentos de coleta. Não permite a definição para cálculo automático de medidas secundáriasmétricas com escala Nominal ou alfanuméricos.

Os procedimentos de coleta são especificados na definição de cada medida. Para todos os processos, o armazenamento dos dados é na base de métricas do WebAPSEE.

Procedimentos de Análise são definidos para cada indicador de resultados.

As métricas são estimadas e coletadformulários próprios no ambiente

A análise dos resultados é registrada para cada indicador.

Os processos, planos de mediçanálise dos resultados são armazenados na base do ambiente.

A ferramenta gera os Relatórios Gerenciais configurados no plano de medição, mas o gerente é quem repassa as informações ao públicorelatório.

ao nível 2 do CMMI e ao nível F do MPS.BR.

Como atende

Através da definição de Metas de Negócio e Metas de

definição de medidas primárias procedimentos de coleta. Não permite a definição para cálculo automático de medidas secundáriasmétricas com escala Nominal ou Ordinal

Os procedimentos de coleta são especificados na definição de cada medida. Para todos os processos, o armazenamento dos dados é na base de métricas do

Procedimentos de Análise são definidos para cada indicador de resultados.

As métricas são estimadas e coletadpróprios no ambiente.

A análise dos resultados é registrada para cada

Os processos, planos de medição, dados coletados e análise dos resultados são armazenados na base do

A ferramenta gera os Relatórios Gerenciais configurados no plano de medição, mas o gerente é quem repassa as informações ao público

86

Através da definição de Metas de Negócio e Metas de

definição de medidas primárias e seus procedimentos de coleta. Não permite a definição para cálculo automático de medidas secundárias, nem

Ordinal com caracteres

Os procedimentos de coleta são especificados na definição de cada medida. Para todos os processos, o armazenamento dos dados é na base de métricas do

Procedimentos de Análise são definidos para cada

As métricas são estimadas e coletadas através de

A análise dos resultados é registrada para cada

ão, dados coletados e análise dos resultados são armazenados na base do

A ferramenta gera os Relatórios Gerenciais configurados no plano de medição, mas o gerente é quem repassa as informações ao público-alvo de cada

86

Através da definição de Metas de Negócio e Metas de

seus procedimentos de coleta. Não permite a definição para

, nem com caracteres

Os procedimentos de coleta são especificados na definição de cada medida. Para todos os processos, o armazenamento dos dados é na base de métricas do

Procedimentos de Análise são definidos para cada

A análise dos resultados é registrada para cada

ão, dados coletados e análise dos resultados são armazenados na base do

A ferramenta gera os Relatórios Gerenciais configurados no plano de medição, mas o gerente é

alvo de cada

Page 87: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

87

5.3. TRABALHOS RELACIONADOS.

Esta seção apresenta uma comparação da abordagem apresentada com três

ferramentas de auxilio a processos de medição. São elas: REMEX, Amadeus, MedPlan e

Metrics.

A ferramenta REMEX [21] é um ambiente cuja funcionalidade específica é a

definição de atividades de planos de medição, conforme o paradigma GQM. REMEX utiliza

Raciocínio Baseado em Casos para construção de automática de um plano de medição através

da reutilização de planos e/ou atividades de planos anteriores, diminuindo o esforço durante o

planejamento de medição. Ao contrário da proposta deste trabalho, REMEX não está

integrada a um ambiente automatizado de desenvolvimento, o que permitiria a interação direta

das atividades de um plano de medição com o processo de software e seus elementos.

O sistema Amadeus [43], inserido no PSEE Arcadia, permite a análise de processos

baseada em métricas, mas não possui mecanismo para definição do processo de medição.

Permite também adição de novas técnicas de análise, que são baseadas em métodos

estatísticos.

As ferramentas MedPlan e Metrics [42] estão integradas ao ambiente de

desenvolvimento TABA. A ferramenta MedPlan apóia a elaboração de planos de medição da

organização e de projetos. Diferente da abordagem elaborada neste trabalho, a ferramenta

MedPlan permite a definição de somente um plano padrão de medição, baseado no método

GQM, que deve ser executado em todos os projetos de software. Assim como na proposta

desta dissertação, o plano padrão de medição pode ser adaptado para um determinado projeto

através da adição de novos elementos GQM, mas não é permitida a remoção das definições

organizacionais contidas no plano padrão.

Através da ferramenta Metrics o gerente pode coletar métricas de um projeto de

acordo com o plano de medição definido na ferramenta MedPlan, e gerar um relatório do

plano de medição e seus resultados. Não é permitido que a tarefa de informar métricas seja

realizada também pelos desenvolvedores, e que o gerente configure relatórios gerenciais

elaborados de acordo com a necessidade de informação, como é proposto neste trabalho. Uma

métrica pode ser visualizada através de uma representação gráfica, que difere dos indicadores

que fazem parte da abordagem apresentada já que estes podem consolidar resultados de uma

ou mais métricas. Adicionalmente, Metrics fornece apoio à avaliação post-morten através do

envio de questionários de avaliação aos participantes do projeto, além da avaliação da

Page 88: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

88

aderência às áreas de processo do CMMI através de checklists. O apoio às atividades de

análise pela proposta aqui apresentada é fornecido apenas ao gerente, que pode analisar os

indicadores dos resultados e identificar lições aprendidas.

5.4. CONSIDERAÇÕES FINAIS DO CAPÍTULO.

Neste capítulo a proposta foi analisada através de três abordagens: experimento,

aderência a modelos de qualidade e comparação com trabalhos relacionados.

No experimento foi executado um processo com dados reais de custo e prazo, e um

Plano de Implementação de Medição (MIP) foi instanciado a partir do MIPModel elaborado.

Foram destacados benefícios fornecidos pela ferramenta proposta, além da necessidade de

avaliação empírica para validar as hipóteses com potenciais benefícios da metodologia para

medição apresentada nesse trabalho.

Em seguida, foi apresentado como a metodologia e a ferramenta propostas provêem

apoio para executar as práticas do CMMI e alcançar os resultados esperados pelo MPS.BR.

Com essa análise foram descobertos necessidades de melhoria referentes ao cadastro de

métricas no ambiente e divulgação dos resultados.

Por fim, foram apresentadas três ferramentas de apoio ao processo de medição,

destacando-se suas características, pontos fortes e fracos em relação à proposta dessa

dissertação.

Page 89: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

89

CAPÍTULO 6 CONCLUSÕES

Medição tornou-se um processo tão importante quanto necessário nas organizações

que desenvolvem software [31], pois fornece dados quantitativos para apoiar a gerência de

processos no cenário atual caracterizado por rápidas mudanças, grande exigência de

produtividade e qualidade do produto de software.

Implantar um processo de medição não é uma tarefa fácil, ainda mais quando se

considera a quantidade de métricas para os diversos atributos de processo e seus elementos

propostas na literatura especializada. Para obter conhecimento útil, é necessário que as

atividades de medição e métricas selecionadas estejam de acordo com as necessidades de

informação da organização e do projeto.

Este trabalho apresentou uma abordagem automatizada de medição e análise para

processos de software orientada a objetivos organizacionais. A abordagem tem potencial de

promover melhoria continua de qualidade ao permitir o planejamento de coleta de métricas de

acordo com as necessidades organizacionais e dos projetos, a configuração e geração de

indicadores gráficos (juntamente com procedimentos de análise) para facilitar a compreensão

dos resultados, e configuração de relatórios gerenciais com resultados consolidados para

fornecer em tempo hábil auxílio à tomada de decisão.

A subseção a seguir apresenta algumas limitações do trabalho relacionadas tanto com

o modelo proposto quanto à sua implementação atual. Na seqüência, a seção 6.3 descreve

atividades futuras para continuação do trabalho, enquanto que a seção 6.4 apresenta as

considerações finais.

6.1. ANÁLISE CRÍTICA DA PROPOSTA.

Devido às inúmeras possibilidades para elaboração de indicadores, foram

desenvolvidas na ferramenta três operações pré-definidas para consolidação dos valores a

serem apresentados por indicadores: Desvio, Listagem e Distribuição. Embora o meta-modelo

tenha sido projetado para permitir adição de novas operações, sua implementação atual não

fornece auxílio nesta atividade, pois cada operação deve ser codificada como um método em

Java e registrada na classe Operation.

A implementação atual adota uma solução simplificada para o aspecto de segurança:

Apenas os usuários configurados como gerentes no WebAPSEE têm acesso à definição dos

Page 90: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

90

MIPModels, MIPs, OrgMIP e os relatórios produzidos pela ferramenta. Investigações

adicionais devem ser conduzidas em função da necessidade de fornecer acesso adequado aos

perfis dos interessados nos resultados da medição, como por exemplo: gerentes de negócio,

gerentes de processos e os próprios desenvolvedores.

No protótipo desenvolvido até a presente data, o módulo de geração dos Relatórios

Configurados ainda não está em operação. Este módulo está em desenvolvimento, e uma das

dificuldades encontradas reside no fato de que o conteúdo dos relatórios é dinâmico,

possuindo um ou mais indicadores e informações de indicadores de acordo com a

configuração. A solução de gerar relatórios no formato Microsoft Excel tem como benefício

permitir que o gerente manipule os gráficos e dados gerados, mas apresenta dificuldades em

gerar relatórios cujos conteúdos não possuam um formato padrão.

Em relação à escala e ao tempo de resposta o elemento crítico corresponde à geração

dos Relatórios Gerenciais configurados. Neste aspecto, a quantidade de indicadores contidos

em um relatório influencia significantemente no seu tempo de geração, em virtude da

necessidade de navegação em uma extensa rede de objetos. Uma avaliação criteriosa com

mais estudos de caso, após o desenvolvimento desse módulo, pode resultar em melhoria na

implementação.

6.2. TRABALHOS FUTUROS.

Entre as atividades futuras previstas para o trabalho consta o desenvolvimento de

melhorias e evolução do protótipo atual que não foram desenvolvidas devido a restrição de

tempo para conclusão deste trabalho. As melhorias são:

• Integração do formulário de coleta com o plano de medição do processo (MIP);

• Inserção de formulário de coleta na agenda do desenvolvedor, para que colete

métricas de artefatos conforme definido no MIP do processo;

• Desenvolvimento de relatórios de propósito geral relativos aos planos de

medição (caso de uso UC7);

• Extensão do mecanismo de definição de métricas para que permita o cálculo

automático de métricas secundárias e também o uso de escalas do tipo Nominal e

Ordinal;

• Desenvolvimento de uma abordagem automatizada para comunicação e

divulgação dos Relatórios Gerenciais.

Page 91: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

91

Pretende-se avaliar o impacto que mudanças no processo – já permitidas pelo

WebAPSEE - podem causar nas metas definidas no seu plano de medição, e como prover ao

gerente apoio para monitorar e gerenciar esses impactos.

Ainda como atividade futura, será avaliado como obter melhor proveito do registro

de lições aprendidas e observações de contexto através da gerência desse conhecimento. O

propósito é auxiliar a disseminação e utilização mais abrangente da experiência obtida, ou

seja, desenvolver uma solução automatizada para propiciar que o valor do conhecimento

adquirido seja agregado não só ao projeto a que pertence, mas também nos próximos projetos

e nas decisões e estratégicas de negócio da organização.

A experimentação da ferramenta em uma organização deve ser realizada para que a

abordagem seja avaliada numa escala maior de complexidade. O objetivo é obter feedback

quanto a qualidade e efetividade no auxílio à gerência de processos, avaliar empiricamente os

potenciais benefícios da abordagem, e assim identificar novas oportunidades e pontos de

melhoria.

Por fim, está previsto o estudo, análise e aplicação de mecanismos e técnicas para

avaliar correlação entre os elementos e valores medidos, com o objetivo de auxiliar o gerente

na avaliação dos resultados para tomada de decisões.

6.3. CONSIDERAÇÕES FINAIS DO TRABALHO.

A abordagem apresentada nesta dissertação fornece auxílio à prática de

recomendações feitas para processos de medição e análise nos níveis iniciais de modelos de

maturidade, como os modelos CMMI e MPS.BR descritos no texto.

Espera-se que o modelo proposto possa servir como base para implantação de

processos de medição em organizações, de modo que passem a usufruir dos benefícios que as

práticas de medição podem oferecer. Através da solução elaborada com a definição de

modelos de Plano de Implementação de Medição (MIPModels), a abordagem oferece auxílio

para que as organizações evoluam seus processos de medição ao longo do tempo sem perda

de informações passadas.

Deve-se destacar que a integração do processo de medição com um PSEE tem o

grande benefício de desfrutar de todo o mecanismo e estrutura que o ambiente possui para

gerenciamento de processos, permitindo que as atividades de medição sejam inseridas no

processo de software sem aumentar a complexidade do planejamento e modelagem de suas

atividades. Por exemplo, a base de métricas obtida pela execução do modelo proposto pode

Page 92: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

92

ser usada em conjunto com técnicas avançadas de análise para executar práticas de níveis

mais altos de qualidade, como por exemplo, as áreas Desempenho dos Processos

Organizacionais e Controle Quantitativo de Projetos do CMMI.

Por fim, ressalta-se a necessidade da implantação da proposta deste trabalho em mais

estudos de casos para validar os benefícios identificados e analisar oportunidades de

aperfeiçoamento.

Page 93: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

93

REFERÊNCIAS

[1] Basili, V. R. Software Modeling and Measurement: The Goal/Question/Metric Paradigm. Technical Report CS-TR-2956, Department of Computer Science, University of Maryland, College Park, MD 20742, September 1992.

[2] Basili, V. R., Caldieira, G., Rombach, H. D. Goal Question Metric Paradigm. Encyclopedia of Software Engineering. John Wiley & Sons, Inc., 1994,.p. 528-532.

[3] Basili, V. R., Rombach, H. D. The TAME Project: Towards Improvement-Oriented Software Environments. IEEE Transactions on Software Engineering, 1988,SE-14(6).

[4] Basili, V. R., Weiss, D. A Methodology for Collecting Valid Software Engineering Data. IEEE Transactions on Software Engineering, Vol. 10, No. 3, Nov, 1984, pp. 728-738.

[5] Boehm, B. W., Brown, J. R., Lipow, M. Quantitative Evaluation of Software Quality. In: International Conference on Software Engineering, 2, 1976, Proceedings of…, p. 592.

[6] Briand, L. C., Differding C., Rombach, D. Practical Guidelines for Measurement-based Process Improvement. Software Process – Improvement and Practice, v.2, 1996, p. 253-280.

[7] Briand, L. C., El Emam, K., Morasca S. On the Application of Measurement Theory to Software Engineering. Empirical Software Engineering - An International Journal, v.1, 1996.

[8] Chrissis, M. B., Konrad, M., Shrum, S. CMMI: Guidelines for Process Integration and Product Improvement, Addison Wesley, 2003.

[9] Costa, A. J. S., Sales, E. O. Uma Proposta para Reutilização de Processos para o Ambiente WebAPSEE. Trabalho de Conclusão de Curso (Graduação em Bacharelado em Ciência da Computação). Departamento de Informática, Universidade Federal do Pará, 2006.

[10] Daskalantonakis, M.K. A Practical View of Software Measurement and Implementation Experiences within Motorola. In: Applying Software Metrics, IEEE Computer Society Press, 1992, pp. 168-180.

[11] Derniame, J., Kaba, B., Wastell, D. Software Process: Principles, Mehodology and Technology. Lecture Notes in Computer Science, 1500. Springer, 1998.

[12] DoD - Department of Defense and US Army. A Foundation for Objective Project Management (P1045/D5.0). Washington, D.C., 2000. Disponível em http://www.psmsc.com.

[13] Eman, K. E., Drouin, J., Melo W., SPICE – The Theory and Practice of Software Process Improvement and Capability Determination, IEEE Computer Society Press, 1998.

Page 94: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

94

[14] Falbo, R. A. Integração de Conhecimento em um ambiente de desenvolvimento de software. Tese de Doutorado. Rio de Janeiro: COPPE-UFRJ, 1998.

[15] Fenton, N. E. Software Measurement: A Necessary Scientific Basis. IEEE Transactions on Software Engineering, vol 20 n. 3, 1994, p. 199-206.

[16] Fenton, N. E., Neil, M. Software metrics: Roadmap. ICSE - Future of Software Engineering Track. 2000, p. 357-370.

[17] Fenton, N. E., Pfleeger, S. L. Software Metrics – A Rigorous & Practical Approach. PWS Publishing Company, 2ª Edição, 1997.

[18] Florac, W. A., Carleton, A. D. Measuring the Software Process: Statistical Process Control for Software Process Improvement. Addison Wesley, 1999.

[19] Fulggetta, A. Software Process: A Roadmap. In Proceedings of the Conference on The Future of Software Engineering, Limerick-Ireland, 2000, p. 25-34.

[20] Goethert, W., Hayes,W. Experiences in Implementing Measurement Programs. Technical Report CMU/SEI-2001-TN-026, Pittsburgh, Software Engineering Institute, Carnegie Mellon University. 2001. Disponível em http://www.sei.cmu.edu.

[21] Greese von Wangenheim, C., Rodrigues, M. R. Planejamento de programas de mensuração baseados em reutilização. XI Conferência Internacional de Qualidade de Software. Curitiba, Brasil, 2000.

[22] Hetzel, W. Making Software Measurement Work: Building an Effective Software Measurement Program. QED Publishing, 1993.

[23] ISO/IEC 12207:1995, Information Technology – Software Life-Cycle Processes. 1995.

[24] JXLS. JXLS Project Documentation, 2007. Disponível em http://jxls.sourceforge.net.

[25] Kan, S. H. Metrics and Models in Software Quality Engineering, Addison-Wesley, 2ª Edição, 2003.

[26] Kitchenham., B., Pfleeger, S. L., Fenton, N. Towards a Framework for Software Measurement Validation. IEEE Transactions on Software Engineering, vol. 21, nº 12. December, 1995. p. 929-944.

[27] Kogure, M., Akao, Y. Quality Funcion Deployment and CWQC in Japan. Quality Progress, Outubro, 1983, p. 25-29.

[28] Lima, A. M., Costa, A. J. S., França, B. B. N., Lima Reis, C. A. , Reis, R. Q. Gerência Flexível de Processos de Software com o Ambiente WebAPSEE. 19º. Simpósio Brasileiro de Engenharia de Software – Sessão de Ferramentas, Outubro, 2006.

[29] Lima, A. M., Lima Reis, C. A. , Reis, R. Q. Análise do Ambiente WebAPSEE no atendimento aos requisitos de Gerência de Processos de Software. XX Semana Paraense de Informática, SEPAI/CTIC. Belém, PA. Outubro de 2006.

Page 95: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

95

[30] Lima Reis, C.A. Uma Abordagem Flexível para Execução de Processos de Software Evolutivos. Tese de Doutorado. Porto Alegre: PPGCC-UFRGS, 2003.

[31] Mcgarry, J., Card, D., Jones, C., et al. Practical Software Measurement: Objective Information for Decision Makers, Addison-Wesley, 2001.

[32] Nascimento, L. M. A., Costa, A. J. S., França, B. B. N., Lima Reis, C. A. , Reis, R. Q. Uma abordagem para Medição em um Ambiente de Desenvolvimento de Software Centrado em Processos. Conferência Latino-Americana de Informática, San José, Costa Rica, 2007.

[33] Natali, A. C., Falbo, R. A. Gerência de Conhecimento de Qualidade de Software. 2nd Ibero-American Symposium on Software Engineering and Knowledge Engineering, Salvador, Brasil, 2002.

[34] Park, R.E., Goethert, W.B., Florac, W.A. Goal-Driven Software Measurement – A Guidebook. Handbook CMU/SEI-96-HB-002, Pittsburgh, Software Engineering Institute, Carnegie Mellon University, 1996. Disponível em http://www.sei.cmu.edu.

[35] Pfleeger, S., Rombach,D. Measurement based Process Improvement. In: IEEE Software. Julho, 1994, p. 8-11.

[36] Pfleeger, S. Engenharia de Software-Teoria e Prática. Prentice Hall, 2ª Edição, 2004.

[37] Reis,R.Q., Lima Reis,C.A., Nunes, D.J. Automação no Gerenciamento do Processo de Engenharia de Software. Escola Norte de Informática, 2002.

[38] Roche, J., Jackson, M. “Software measurement methods: recipes for sucess?”. Journal on Information and Software Technology, v.36, 1994, p. 173-189.

[39] Rombach, H. D., Ulery, B. T. Improving software maintenance through measurement. Proceedings of the IEEE, v. 77, No.4, 1989, p. 581-595.

[40] Rombach, H. D. Practical Benefits of Goal-Oriented Measurement. Software Reliability and Metrics. Elsevier Applied Science, 1991.

[41] SEI - Software Engineering Institute. CMMI for Development, v1.2. CMU/SEI-2008-TR-008, Pittsburgh, Carnegie Mellon University. 2006. Disponível em http://www.sei.cmu.edu.

[42] Schnaider, L., Santos, G., Montoni, M., Rocha, A. R. Uma abordagem para Medição e Análise em Projetos de Desenvolvimento de Software. III Simpósio Brasileiro de Qualidade de Software. Brasília, Brasil, 2004.

[43] Selby, R. W., Porter, A. A., Schmidt, D. C., Berney, J. Metric-Driven Analysis and Feedback Systems for Enabling Empirically Guided Software Development. 13th International Conference on Software Engineering, 1991. p.288-298.

[44] Softex - Associação para Promoção da Excelência do Software Brasileiro. MPS.BR – Guia Geral, v1.2, 2007. Disponível em www.softex.br.

Page 96: UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE … · MPS.BR Melhoria do Processo de Software Brasileiro OrgMIP Organizational Measurement Implementation Plan

96

[45] Softex - Associação para Promoção da Excelência do Software Brasileiro. MPS.BR – Guia de Implementação Parte 2, v1.1, 2007. Disponível em www.softex.br.

[46] Solingen, R., Berghout, E. The Goal/Question/Metric Method: A Practical Guide for Quality Improvement of Software Development. McGraw-Hill, 1999.

[47] WebAPSEE. Documento de Referência do ambiente WebAPSEE. v.1.0, 2006. Disponível em www.webapsee.com.