2.6 Trabalhos Relacionados
3.1.1 Projeto da estrutura da aplicação do GQM
Como foi descrito na seção 2.5, o resultado da aplicação da abordagem GQM é um sistema de medição que se concentra em um conjunto determinado de características. Primeiramente, são especificados os objetivos a serem alcançados, depois são formu- ladas questões que definam cada um dos objetivos e, para finalizar, são especificadas quais métricas devem ser coletadas para responder às questões formuladas.
A quantificação de cada um dos cinco fatores críticos, mostrados no gráfico da Figura 3.3, constitui um objetivo para a abordagem GQM neste trabalho. Para atingir esses objetivos, uma série de questões e métricas é formulada e essas métricas são usadas como guia para quantificar cada um dos cinco fatores frente às escalas explicitadas no gráfico.
A definição das métricas esclarece quais são as informações específicas necessá- rias. O próximo passo é definir como tais informações serão coletadas. Uma opção é a aplicação de um questionário aos membros da equipe de desenvolvimento contendo perguntas que cubram todas as informações desejadas. O estabelecimento de métricas orienta não só a definição das informações relevantes, como também a elaboração do questionário. Na seção 3.1.2 a atividade de elaboração do questionário é detalhada. A seguir, é mostrada a aplicação da abordagem GQM na quantificação de cada um dos fatores críticos.
Tamanho
Na Tabela 3.3 é mostrada a aplicação da abordagem GQM na quantificação do fator crítico tamanho. O objetivo é descobrir quais são as métricas necessárias para estimar
o tamanho da equipe envolvida no desenvolvimento de software. TAMANHO
Objetivo: Estimar. Característica: Tamanho.
Objeto: Equipe de desenvolvimento. Ponto de Vista: Gerente de processo ou projeto.
Questão: Qual é o tamanho da equipe de desenvolvimento?
Métrica(s): - Tamanho médio da equipe de desenvolvimento por projeto. - Número médio de projetos aos quais cada indivíduo se dedica ao mesmo tempo.
Tabela 3.3: Aplicação de GQM na quantificação do fator crítico tamanho
Dinamismo
Na Tabela 3.4 é mostrada a aplicação da abordagem GQM na quantificação do fator crítico dinamismo como foi proposto em (Basili et al., 1994). O objetivo é descobrir quais são as métricas necessárias para estimar a periodicidade das alterações sofridas pelos requisitos de software em função de alterações sofridas pelo contexto do pro- blema, sob a visão de um gerente de processo.
DINAMISMO Objetivo: Estimar.
Característica: Periodicidade das alterações sofridas pelos requisitos de software em função de alterações sofridas pelo contexto do problema.
Objeto: Requisitos do software.
Ponto de Vista: Gerente de processo ou projeto.
Questão: Qual é a maior causa para mudança nos requisitos do sistema? Métrica(s): - % de mudanças de requisitos ocorridas em função de
alterações sofridas pelo contexto do problema a ser resolvido. - % de mudanças de requisitos ocorridas em função da
visualização de partes prontas do sistema (prototipação). - % de mudanças de requisitos ocorridas em função do levantamento incorreto de requisitos.
Questão: Com que periodicidade ocorre mudança nos requisitos para os casos em que esta mudança é proveniente de alterações sofridas pelo contexto do problema a ser resolvido?
Métrica(s): - % de mudança de requisitos por mês (do total estabelecido até o momento).
Tabela 3.4: Aplicação de GQM na quantificação do fator crítico dinamismo. Cultura
Na Tabela 3.5 é mostrada a aplicação da abordagem GQM na quantificação do fator crítico cultura como foi proposto em (Basili et al., 1994). O objetivo é descobrir quais são as métricas necessárias para estimar o quanto a equipe está acostumada a desenvolver software de forma organizada e estruturada; sob a visão de um gerente de processo.
CULTURA Objetivo: Estimar.
Característica: Hábito de trabalhar de forma organizada. Objeto: Equipe de desenvolvimento.
Ponto de Vista: Gerente de processo ou projeto.
Questão: O ciclo de desenvolvimento de software inclui quais das seguintes fases: análise, especificação, projeto, codificação e teste?
Métrica(s): - % dos projetos que incluem a fase de análise. - % dos projetos que incluem a fase de especificação. - % dos projetos que incluem a fase de projeto. - % dos projetos que incluem a fase de codificação. - % dos projetos que incluem a fase teste.
- % dos projetos que incluem todas estas fases
Questão: Que tipo de técnicas e procedimentos são empregados durante o desenvolvimento de software visando sua estruturação / organização?
Métrica(s): - % dos projetos que possuem documentação na forma de diagramas e/ou modelos.
- % dos projetos onde os desenvolvedores seguem algum padrão para a codificação.
- % dos projetos que documentam a comunicação, as decisões da equipe e as tarefas de cada membro através de documentos e/ou ferramentas.
- % dos projetos onde os desenvolvedores seguem algum padrão para a documentação sobre o desenvolvimento do projeto.
- % dos projetos que utilizam algum tipo de processo definido.
- % dos projetos onde os desenvolvedores utilizam todos os recursos citados pelas métricas anteriores. Questão: O nível de documentação adotado atualmente é
satisfatório?
Métrica(s): - Avaliação subjetiva do gerente de projetos.
Tabela 3.5: Aplicação de GQM na quantificação do fator crítico cultura.
Criticalidade
Na Tabela 3.6 é mostrada a aplicação da abordagem GQM na quantificação do fator crítico criticalidade como foi proposto em (Basili et al., 1994). O objetivo é descobrir quais são as métricas necessárias para estimar a gravidade de perdas ocasionadas em função de falhas presentes no software desenvolvido. A gravidade dessas perdas pode variar desde risco à vida humana até ausência de prejuízo de qualquer tipo.
CRITICALIDADE Objetivo: Estimar.
Característica: Gravidade das perdas ocasionadas por falhas no software a ser desenvolvido para resolver o problema.
Objeto: Problema a ser resolvido pelo desenvolvimento de software. Ponto de Vista: Gerente de processo ou projeto.
Questão: Qual é a criticalidade dos problemas resolvidos pelo desenvolvimento de software?
Métrica(s): - % de problemas onde falhas no sistema implicam em perda de várias vidas.
- % de problemas onde falhas no sistema implicam em perda de uma vida.
- % de problemas onde falhas no sistema implicam em preju- ízos financeiros diretos e indiretos.
- % de problemas onde falhas no sistema implicam em preju- ízos financeiros diretos.
- % de problemas onde falhas no sistema causam transtorno, mas não acarretam prejuízos substanciais.
Tabela 3.6: Aplicação de GQM na quantificação do fator crítico criticalidade. Competência Pessoal
Na Tabela 3.7 é mostrada a aplicação da abordagem GQM na quantificação do fator crítico competência pessoal. O objetivo é descobrir quais são as métricas necessá- rias para estimar a competência pessoal dos integrantes da equipe, isto é, o nível de habilidade de cada indivíduo de acordo com os níveis estabelecidos na Tabela 3.2.
COMPETÊNCIA PESSOAL Objetivo: Estimar
Característica: Competência pessoal dos integrantes da equipe Objeto: Equipe de desenvolvimento
Ponto de Vista: Gerente de processo ou projeto.
Questão: Qual é a porcentagem de profissionais pertencentes à equipe de desenvolvimento que possuem outra área de atuação? Métrica(s): - % de membros da equipe de desenvolvimento cuja a área
de atuação principal não é a área da computação.
Questão: Qual é a divisão do número de membros da equipe entre as diversas atividades de desenvolvimento do software?
Métrica(s): - % de membros da equipe de desenvolvimento que desempe- nham atividades na fase de análise e especificação de
requisitos.
- % de membros da equipe de desenvolvimento que desempe- nham atividades na fase de projeto.
- % de membros da equipe de desenvolvimento que desempe- nham atividades na fase de codificação.
- % de membros da equipe de desenvolvimento que desempe- nham atividades na fase de teste.
- % de membros que desempenham atividades em mais de uma fase do ciclo de vida do software.
- % de membros que desempenham atividades em todas as fases do ciclo de vida do software.
- % de membros da equipe que desempenham atividades gerenciais exclusivamente.
Questão: Qual é o nível de experiência dos membros da equipe? Métrica(s): - Tempo médio de experiência dos indivíduos cuja a área de
atuação principal é a área de computação e que desempenham atividades como análise,especificação de requisitos, projeto, codificação ou teste.
- Tempo médio de experiência dos indivíduos cuja a área de atuação principal é a área de computação e que desempenham atividades gerenciais.
- Tempo médio de experiência dos indivíduos cuja a área de atuação principal é a área de computação e que desempenham atividades como análise, especificação de requisitos, projeto, codificação ou teste; e gerência.
- Tempo médio de experiência dos indivíduos cuja a área de
atuação principal não é a área de computação e que desempenham atividades como análise, especificação de requisitos, projeto,
codificação ou teste.
- Tempo médio de experiência dos indivíduos cuja a área de
atuação principal não é a área de computação e que desempenham atividades gerenciais.
- Tempo médio de experiência dos indivíduos cuja a área de
atuação principal não é a área de computação e que desempenham atividades como análise, especificação de requisitos, projeto,
codificação ou teste; e gerência.
Tabela 3.7: Aplicação de GQM na quantificação do fator crítico competência pessoal.