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.