Modelo de Maturidade de Software – Modelos de medição de software PSM e CMM


PSM (Practical Software Measurement)

O PSM é um modelo para mensuração de projetos de software criado em 1994, sob o patrocínio do DoD (Departamento da Defesa Norte-Americano). O modelo foi elaborado e vem sendo atualizado por renomeados profissionais da área de Software Process Improvement, tais como John McGarry, David Card e Beth Layman.

O PSM foi utilizado como base para elaboração da Process Área Meansurement and Analysis do CMMI (Capability Maturity Model – Integration ou Modelo de Maturidade em Capacitação – Integração) é uma evolução do CMM e procura estabelecer um modelo único para o processo de melhoria corporativo, integrando diferentes modelos e disciplinas).

O que é o PSM?

PSM é um modelo que estrutura a atividade de mensuração em um projeto de software; é um processo para medir e melhorar processos, projetos e produtos de software.

Objetivos do PSM

ATENÇÃO: Um de seus diferenciais é que suporta integração de medidas organizacionais em seu processo de desenvolvimento e gerenciamento.


Utilização do PSM

O PSM foi utilizado como base para elaboração da Process Area Meansurement and Analysis do CMMI (o CMMI é uma evolução do CMM e procura estabelecer um modelo único para o processo de melhoria corporativo, integrando diferentes modelos e disciplinas).

Exemplos de organizações que participam ativamente do desenvolvimento do PSM são: Força Aérea, Exército e Marinha norte-americanos; Software Productivity Consortium; Boeing; GTE; Raytheon-Hughes; Lockheed-Martin; MITRE; Software Engineering Institute; Teraquest, TRW.


Modelos do PSM

O PSM é um modelo que estrutura a atividade de mensuração em um projeto de software é um processo para medir e melhorar processos, projetos e produtos de software. Em nível prático o PSM procura resolver dois problemas:


Modelo de informação

O Modelo de Informação do PSM define uma estrutura para a definição das medidas que deverão ser utilizadas no projeto. Cada especificação é escrita por um membro do PSM e inclui os conceitos abaixo:

Exemplo simples:

Com o objetivo de obter estimativas de produtividade no desenvolvimento de software, poderíamos ter a aplicação do seguinte Modelo de Informação:

Para cada projeto obter:

A partir dos resultados obtidos para os projetos, obter:


Conjunto de medidas do PSM

As medidas devem ser obtidas a partir das necessidades de informação. O PSM inclui um conjunto de medidas já utilizadas com sucesso pela indústria. As medidas correspondem a categorias previamente definidas. Assim, as métricas selecionadas serão agrupadas nas seguintes áreas:

Prazo e Progresso – relacionados ao cumprimento dos prazos do projeto.

Exemplos: funcionalidades implantadas esforço despendido, milestones alcançados no prazo e fora do prazo, funcionalidades testadas, solicitações de mudanças, revisões.

Recursos e custo – relacionados à adequação entre o trabalho a ser executado e os recursos alocados ao projeto.

Exemplos: Esforço do desenvolvimento; custo de pessoal; esforço médio para solução de defeitos; overhead organizacional, overhead de atividades não planejadas, viagens etc.

Tamanho e Estabilidade do Produto – informações relacionadas à estabilidade das funcionalidades ou à capacidade requerida do software.

Exemplos: tamanho em função da técnica de estimativas; estabilidade em função do número de mudanças/acréscimo/remoção de requisitos.

Qualidade do produto – relacionada à capacidade do software produzido de atender sem falhas às necessidades do usuário.

Exemplos: ciclo de vida do software; taxa de retrabalho; densidade de defeitos; complexidade do produto.

Performance do Processo – relacionada à capacidade do processo de atender às necessidades apresentadas por cada projeto.

Exemplos: produtividade; efetividades dos testes; efetividade de processos de revisões/inspeções; taxa de retrabalho; percentual de esforço por fase de desenvolvimento.

Eficácia da Tecnologia – trata da viabilidade e adequação das alternativas técnicas propostas, incluindo reuso, maturidade e qualidade dos componentes.

Satisfação do Cliente – relaciona-se ao grau em que os produtos e serviços ofertados atendem às expectativas dos clientes.

Exemplos: número e tipo de reclamações; questionário de satisfação; tempo de resposta para atividades de suporte ao cliente.


SW-CMM (Capability Maturity Model for Software)

SW-CMM (Capability Maturity Model for Software) é uma conjunto de melhores práticas para os processos de desenvolvimento e manutenção de software. Com o SW-CMM, é possível avaliar e identificar pontos de melhoria. O SW-CMM mede a maturidade do processo em cinco níveis:

O SW-CMM, portanto, é um modelo de capacitação de processos de software, desenvolvido pelo SEI (Software Engineering Institute) e patrocinado pelo Departamento de Defesa Americano (DoD), para a avaliação da capacidade dos fornecedores de software.

Histórico do CMM

Diversidade de Modelos e Padrões em diversas áreas:

Problemas encontrados:


CMMI

O que é?

O CMMI (Capability Maturity Model Integration) foi criado com a finalidade de integrar os diversos modelos CMM.

Quando foi criado?

Em 1999, foi publicado o esboço (draft), versão 0.2: CMMI-SE/SW (Capability Maturity Model -Integrated – System / Software Engineering).

Quais versões?

Versões do CMMI:


Níveis de maturidade do SW-CMM

Um nível de maturidade é um patamar evolutivo bem definido, que visa a alcançar um processo de software maduro. Os níveis são uma forma de priorizar as ações de melhoria, de tal forma que se aumente a maturidade do processo de software, no nível 2, por exemplo, são focados aspectos gerenciais dos projetos. Vamos aprofundar melhor em cada nível.

1 – Inicial: Processo imprevisível e sem controle

SW-CMM: Nível 1 (Inicial)

2 – Repetível: Processo disciplinado

SW-CMM: Nível 2 (Repetível)

3 – Definido: Processo consistente e padronizado

SW-CMM: Nível 3 (Definido)

4 – Gerenciado: Processo previsível e controlado

SW-CMM: Nível 4 (Gerenciado)

5 – Otimizado: Processo continuamente melhorado

SW-CMM: Nível 5 (Otimizado)

A melhoria contínua do processo é estabelecida por meio de sua avaliação quantitativa e da implantação planejada e controlada de novas tecnologias.


Atividade proposta

Discuta com os colegas quais as ações que devem ser tomadas para que as organizações sejam homologadas com grau 5 no CMM.

Chave de resposta: O CMMI procura estabelecer um modelo único para o processo de melhoria corporativo, integrando diferentes modelos e disciplina.

 


Referências

PFLEEGER, Shari Lawrence. Engenharia de software – teoria e prática. 2. ed. São Paulo: Pearson (Livros Universitários), 2003.

PRESSMAN, Roger S. Engenharia de software – uma abordagem profissional. 7. ed. São Paulo: MCGRAW-HILL BRASIL, 2011.

SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson (Livros Universitários), 2011.

 


 

Lista de Exercícios de Modelo de Maturidade de Software – Lista 6


 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.