DGERT   APCER
Relações de compromisso

Maturidade na Capacidade de Medição - O Modelo CMMI como Linha Orientadora


O modelo de capacitação e maturidade de processos de engenharia de software e sistemas CMMI (Capability Maturity Model Integration) do Software Engineering Institute (SEI) fornece um guia de orientação na evolução de um programa de medição para a melhoria de processos associados a sistemas e/ou software.

  
No modelo CMMI pode-se encontrar a seguinte distribuição de áreas de processo por categorias de áreas de processo (representação contínua) e por níveis de maturidade (representação segmentada), estando assinaladas as áreas de processo com maior relevância na medição dos processos de desenvolvimento de software e sistemas (ver quadro). 
 

Neste artigo iremos descrever algumas considerações associadas aos processos do nível 2 da representação segmentada do modelo CMMI, isto é, as áreas de processo de Planeamento de Projecto e Medição e Análise.

Planeamento de projecto

Esta área de processo tem por finalidade estabelecer e manter os planos que definem as actividades do projecto. Associado a esta área de processo encontramos o seguinte objectivo específico:

Objectivo Específico 1: Estabelecer Estimativas


As estimativas (métricas à priori, identificando expectativas no que respeita a atributos do plano de projecto) associadas a atributos de planeamento do projecto são estabelecidas e mantidas.


O estabelecimento de estimativas envolve actividades como:

a) Estimar o Âmbito do Projecto. Estabelecer uma WBS (Work Breakdown Structure) de alto nível, de forma a estimar o âmbito do projecto.

b) Estabelecer Estimativas dos Atributos dos Produtos de Trabalho e das Tarefas (abordagem técnica, dimensão e complexidade das tarefas e dos produtos de trabalho, modelos de estimação, estimativas dos atributos).


Como exemplos de medidas, poderemos ter:

  • Número de funções;
  • Linhas de código;
  • Pontos de função;
  • Número de classes e objectos;
  • Número de requisitos;
  • Número de interfaces;
  • Número de páginas;
  • Número de inputs e outputs;
  • Número de riscos técnicos;
  • Volume de dados.


c) Determinar Estimativas de Esforço e Custo. Estimar o esforço e o custo do projecto para os produtos de trabalho e tarefas baseadas num método de estimação pré-estabelecido.


Medição e análise


Esta área de processo, tem por finalidade desenvolver e sustentar a capacidade de medição que é utilizada para suportar as necessidades de gestão de informação. Uma iniciativa de medição envolve o seguinte:

  • Especificar os objectivos de medição e análise de forma a estarem alinhados com informação necessária e objectivos de negócio;
  • Definir as medidas que irão ser utilizadas, os processos de recolha de dados, os mecanismos de armazenamento, os processos de análise e, os processos de produção e emissão de relatórios e de feedback;
  • Implementar a recolha, armazenamento, análise e apresentação da informação;
  • Providenciar resultados objectivos que podem ser utilizados na tomada de decisões de negócio e são tomadas as acções correctivas apropriadas.
  • Ao desenvolvermos actividades associada à medição e análise, há que ter em conta as seguintes considerações:

a) Estabelecer Objectivos de Medição

  • Documentar a finalidade de cada medição e análise;
  • Especificar o tipo de acções que deverá ser tomada, tendo por base os resultados dos dados analisados;
  • Colocar continuamente a seguinte questão: qual o valor desta medida;
  • Envolver os utilizadores finais das medidas;
  • Manter a rastreabilidade entre os objectivos estabelecidos na definição da medida e a informação necessária e os objectivos de negócio.

b) Especificar Medições

  • Identificar medições candidatas, baseadas nos objectivos documentados e refinar em medidas quantitativas;
  • Definir a forma como os dados podem e irão ser derivados a partir de outras medidas. Por exemplo: densidade de defeitos, abrangência de peer reviews?;

c) Especificar Recolha de Dados e Procedimentos de Armazenamento

  • Especificar a forma como recolher e armazenar os dados para cada medida requerida: tornar especificações explícitas de como, quando e onde os dados serão recolhidos;
  • Desenvolver procedimentos que assegurem que os dados recolhidos são válidos; assegurar que os dados armazenados são facilmente acedidos, pesquisados e restaurados sempre que necessário.


d) Especificar Procedimentos de Análise

  • Definir os procedimentos de análise;
  • Assegurar que os resultados transmitidos são facilmente compreendidos e interpretados.

e) Recolher Dados de Medição

  • Recolher os dados de medição como definido;
  • Gerar dados para as medidas derivadas;
  • Desempenhar verificações de integridade, o mais próximo possível dos dados de origem.

f) Analisar os Dados de Medição

  • Conduzir análises iniciais;
  • Interpretar os resultados e tirar conclusões preliminares a partir de um determinado critério;
  • Conduzir medições e análises adicionais, de forma a obter confiança nos resultados;
  • Rever os resultados iniciais com todos os envolvidos (stakeholders);
  • Melhorar as definições, procedimentos de recolha de dados, e técnicas de análise, de forma a assegurar resultados significativos que suportem os objectivos de negócio.

g) Armazenar os Dados de Medição e os Resultados da Análise

  • A informação armazenada deverá conter ou referenciar informação necessária para a compreensão das medidas; para avaliar a sua aplicabilidade; e para providenciar contexto suficiente para a interpretação dos dados, critério de medição e resultados de análise.

h) Comunicar os Resultados de Medição

  • Manter os envolvidos actualizados de forma periódica relativamente aos resultados das medições;
  • Prestar assistência aos envolvidos relevantes (referenciados no plano do projecto) para a compreensão e interpretação dos resultados das medições.

i) Estabelecer Grupo de Medição e Análise

  • Considerar a criação de um grupo de trabalho de medição, responsável pelo suporte das actividades de medição e análise de múltiplos projectos.

j) Incorporar Ferramentas de Medição e Análise

  • Incorporar ferramentas utilizadas no desempenho de actividades de medição e análise, tais como: packages estatísticos, de gráficos e de base de dados; folhas de cálculo; packages que suportem a recolha de dados via rede e Internet.


Exemplos de medidas básicas


Apresenta-se de seguida uma lista de possíveis medidas base a recolher ao longo do ciclo de vida dos projectos:

  • Tamanho e/ou complexidade estimada (um nível relativo de dificuldade ou complexidade deverá ser atribuído a cada atributo de tamanho);
  • Exemplos de atributos para estimar sistemas: número de portas lógicas, número de interfaces.
  • Exemplos de medições de tamanho para software: pontos de função, linhas de código (LOC), número de requisitos.
  • Determinar o esforço e o custo, utilizando dados históricos ou modelos de estimação;
  • Estabelecer o calendário dos projectos, com base em estimações de tamanho e complexidade;
  • Identificar riscos associados com o custo, recursos, calendário e aspectos técnicos do projecto;
  • Comparar os milestones actuais completados versus os comprometimentos estabelecidos.
  • Monitorar comprometimentos e dependências críticas versus os documentados no plano do projecto;
  • Rastrear problemas/defeitos (aberto/fechado por produto/actividade);


Exemplos de medidas associadas à efectividade dos processos


É necessário assegurar que seguimos os processos definidos e que seremos capazes de determinar se os processos estão a funcionar como o esperado. Estas medições permitem-nos responder à seguinte questão: "quão bem está a trabalhar o processo?" Alguns exemplos, associados à gestão de requisitos, poderão ser:

Número de pedidos de alteração por mês, comparados com os números iniciais de requisitos num projecto;
Tempo despendido na alteração de requisitos.

Produzido em 2006


 

Topo
Pesquisa
Agenda
Destaques