Esse artigo faz parte da revista Engenharia de Software 21 edição especial. Clique aqui para ler todos os artigos desta edição



Gerência de Projetos

Métricas de Software

Como utilizá-las no gerenciamento de projetos de software

De que trata o artigo:

O artigo trata da utilização de métricas de software no gerenciamento de projetos, sendo fortes aliadas na estimativa, acompanhamento e apoio em tomada de decisões durante a construção de produtos de software, visando uma melhor qualidade de todo este processo.

Para que serve:

Métricas de software servem para apresentar medidas, preferencialmente quantitativas, que reflitam características específicas de processos e de produtos em construção, podendo ser utilizadas em diferentes dimensões, como esforço, tamanho, complexidade, dentre outras.

Em que situação o tema é útil:

A coleta adequada de métricas, com suas respectivas análises, pode auxiliar o Engenheiro de Software na tomada de decisões ao longo do desenvolvimento de um projeto, visando a melhoria da qualidade do processo e do produto em construção.

 

 

A garantia da qualidade é uma das principais preocupações da indústria de desenvolvimento de software, pois atualmente a maior parte das empresas atuantes no mercado utiliza esse tipo de aplicação para gerir seus negócios, produtos e relacionamentos com clientes, necessitando maior confiabilidade e qualidade. Existem diversas medidas de garantia de qualidade fundamentais para o sucesso de qualquer tipo de aplicação de software, dentre elas, uma das mais simples e menos custosa, é a medição de software. Nesse sentido, a medição de software auxilia a tomada de decisão, pois através de dados quantitativos, é capaz de informar que aspectos do produto atendem ou não ao padrão de qualidade especificado, além de permitir a avaliação dos benefícios de novos métodos e ferramentas de engenharia de software, o entendimento e aperfeiçoamento do processo de produção, a avaliação do retorno do investimento e tornar o gerenciamento de projetos baseado em fatos e não “achismos”, por exemplo.

Para medir software, são utilizadas diversas métricas que são como tipos de medições aplicadas a um sistema de software, documentação ou processo relacionado. Através dessas métricas é possível determinar o esforço ou tempo para realização de uma tarefa ou o tamanho do produto, por exemplo. Além disso, as métricas de software são facilmente calculadas, entendidas e testadas e independem do observador que as aplica, sendo também uma boa fonte para estudos estatísticos acerca do ciclo de vida do software.

Dentro desse contexto, este artigo tem por objetivo apresentar algumas métricas de software e sua importância no processo de desenvolvimento. Para isso, algumas métricas serão aplicadas em pequenos exemplos, permitindo ao leitor compreender e analisar seus benefícios imediatos.

 

Utilização de métricas

Existem dois tipos de métricas no contexto de desenvolvimento de produtos de software: as métricas diretas, que são realizadas em termos de atributos observáveis, como por exemplo, esforço, tamanho e custo, e as métricas indiretas ou derivadas, que podem ser obtidas através de outras métricas, como por exemplo, complexidade, confiabilidade, e facilidade de manutenção. Quanto ao contexto, podem ser aplicadas em produtos ou em processos. Quando as métricas incidem diretamente no produto de software, são chamadas de métricas de predição, quando em processos de software, são comumente chamadas de métricas de controle e sua aplicação normalmente é realizada em processos já maduros e controlados.

Para obter resultados significativos, as métricas devem ser aplicadas em um ciclo constante, que envolve as etapas de planejamento, medição, análise de resultados, tomada de decisão e implementação das decisões. Desta maneira, pode-se construir uma base histórica do artefato medido que permitirá ao engenheiro de software analisar que processos, ferramentas e métodos melhor se aplicam àquele tipo de produto. Alguns cuidados também devem ser tomados no processo de medição, como o momento e a escolha do conjunto de métricas mais relevantes a serem aplicadas, e a comparação entre produtos através da aplicação de métricas (pois nenhum produto é igual a outro). O escopo, os desenvolvedores e o ambiente são fatores que podem influenciar o processo de desenvolvimento. Assim, comparações devem ser cuidadosamente analisadas.

As métricas podem e devem ser aplicadas durante as fases de desenvolvimento do software, o que garante ainda mais seu impacto positivo no produto final.

Segundo alguns especialistas, para medir artefatos de software através de métricas significativas, as medições devem ser definidas de acordo com objetivos específicos. Nesse sentido, o GQM (Goal/Question/Metric), desenvolvido por Basili em 1988,

 é uma abordagem para aplicação de métricas afim de aprimorar o processo de desenvolvimento de software (e, consequentemente, os produtos de software gerados) enquanto mantém os objetivos de negócio e objetivos técnicos da organização nivelados. É uma abordagem top-down que estabelece uma medição sistemática para objetivos relacionados ao processo de desenvolvimento, em que a equipe começa estabelecendo os objetivos organizacionais, define metas de medição, insere questões com o propósito de abordar os objetivos especificados e identifica as métricas que fornecem respostas para as questões definidas.

O GQM define um modelo de três níveis, ilustrado na Figura 1.

 

Figura 1 – Níveis do modelo do GQM

...

Quer ler esse conteúdo completo? Tenha acesso completo