Guia de Qualidade de Software: CMM, PSP e TSP

Classificado em Tecnologia

Escrito em em português com um tamanho de 6,21 KB

Qualidade em Três Níveis

  • CMM: Nível Organizacional
  • TSP: Capacitação de Equipes
  • PSP: Capacitação de Indivíduos

CMM (Capability Maturity Model)

O CMM define o que deve ser feito. Foi desenhado para ser amplo e duradouro, não entrando em detalhes de técnicas específicas.

O Que é um PSP (Personal Software Process)?

É um processo pessoal para o desenvolvimento de software que utiliza passos definidos, formulários e padrões. Ele fornece uma infraestrutura de medição e análise para a caracterização deste processo e um procedimento definido para a melhoria da performance.

O PSP permite ao desenvolvedor:

  • Estimar e planejar o trabalho a ser feito;
  • Cumprir compromissos e resistir a pressões por prazos irreais;
  • Compreender sua habilidade e estar mais apto a melhorar sua forma de trabalho.

O PSP estabelece:

  • Uma base testada e comprovada para o desenvolvimento e uso de disciplinas pessoais de alcance industrial;
  • Uma disciplina que mostra como o processo pessoal pode ser melhorado;
  • Os dados necessários para a melhoria contínua da produtividade, qualidade e previsibilidade do trabalho do desenvolvedor.

Visão Geral do PSP

O PSP é apresentado em 7 passos consecutivos e complementares. Um ou dois programas são escritos a cada passo, onde dados sobre o trabalho são coletados e analisados para a melhoria contínua:

  • PSP0: A performance atual é medida e estabelecida – Baseline.
  • PSP1: São elaborados planos de tamanho, recursos e tempos gastos no trabalho – Gerenciamento de Projetos.
  • PSP2: É realizado o gerenciamento de defeitos e rendimento (Yield) – Gerenciamento do Processo e da Qualidade.
  • PSP3: Os métodos do PSP são ampliados para projetos maiores – Escalabilidade do Processo.

PSP e CMM

  • O CMM fornece a infraestrutura organizacional para a melhoria contínua dos processos de software.
  • O PSP aplica estes mesmos conceitos ao nível individual.
  • O CMM assume que os desenvolvedores utilizarão métodos pessoais disciplinados.
  • O PSP, por sua vez, assume que existe um gerenciamento efetivo do processo de software.

O Que é o TSP (Team Software Process)?

É uma estrutura para a melhoria quantitativa de processo de software que ajuda equipes a desenvolver produtos de modo eficaz. Baseia-se nos conceitos do CMM e supõe que os membros da equipe tenham sido treinados no PSP.

Conceitos e Estrutura do TSP

  • Equipes autogerenciadas;
  • A gerência provê orientação e suporte;
  • A equipe planeja o próprio trabalho, acompanha o progresso e gerencia as tarefas do dia a dia;
  • Cada membro da equipe tem papéis e responsabilidades definidos;
  • Todos os membros participam do planejamento do projeto e da tomada de decisões-chave;
  • A equipe é proprietária dos seus processos e pode mudá-los sempre que necessário.

Os processos da equipe são baseados em sua experiência, conhecimento e maturidade. O TSP provê um conjunto de scripts de processos, formulários, métodos e métricas. Estes elementos guiam os desenvolvedores em:

  • Criar equipes eficazes;
  • Estabelecer metas e planos para a equipe;
  • Acompanhar e reportar o trabalho.

TSPi: Versão Simplificada

O TSPi é uma versão simplificada do TSP para equipes e projetos menores.

O Design do TSPi:

  • Estrutura simples construída sobre o PSP;
  • Desenvolvimento incremental;
  • Métricas padronizadas de qualidade e performance;
  • Métricas precisas para equipes e indivíduos;
  • Uso de avaliações de papéis e de time;
  • Exigência de disciplina de processo;
  • Aconselhamento nos problemas do trabalho em equipe.

O Processo do TSPi:

Cada ciclo inclui as seguintes fases: Lançamento (Launch), Estratégia, Planejamento, Requisitos, Design, Implementação, Testes e Postmortem. O processo inclui Scripts, Formulários e Padrões.

Fases Detalhadas

Para que o Launch? As equipes não ocorrem por acaso. Um lançamento inicial permite estabelecer as relações de trabalho, definir e distribuir os papéis pelos membros da equipe e chegar a um acordo sobre as metas da equipe.

O que é uma Estratégia? Define como as funções do produto serão definidas, desenhadas, implementadas e testadas.

Planejamento:

  • Liste os produtos a serem desenvolvidos no ciclo e estime seus tamanhos;
  • Produza a lista de tarefas e o cronograma;
  • Produza o plano de qualidade;
  • Produza os planos individuais dos desenvolvedores;
  • Realize o balanceamento da carga;
  • Produza e distribua os planos.

Para que o Postmortem? É uma forma estruturada de aprender e melhorar. Compara-se o planejado com o que realmente aconteceu, procura-se oportunidades de melhoria e mudanças no processo para o próximo projeto ou ciclo.

Gestão e Desafios da Equipe

Os Papéis do TSPi: Líder da Equipe, Gerente de Desenvolvimento, Gerente de Planejamento, Gerente de Qualidade / Processo e Gerente de Suporte.

Por que os projetos falham? Geralmente por causa de problemas no trabalho em equipe, e não por razões técnicas.

Problemas Comuns nas Equipes:

  • Liderança ineficaz;
  • Falta de compromisso ou cooperação;
  • Falta de participação;
  • Qualidade pobre;
  • Procrastinação e falta de confiança própria;
  • Injeção de requisitos;
  • Avaliação de pares ineficaz.

Um trabalho em equipe requer: metas, papéis estabelecidos, ambiente adequado, processo de trabalho, plano e compromisso.

Entradas relacionadas: