Download - TSP _pps
Team Software Process
Integrantes
Breno
Leonn
Luiz Fernando de Freitas Matos - 09/0010221
Matheus Freire - 09/0038843
Ramaiane Medeiros - 09/012962
Rodrigo Medeiros – 09/0129962
Tiago dos Santos Querubim - 09/0134206
Vinicius Maia de Brito - 09/0039505
Marcos Ramos - 10/0051481
Guilherme C. Muniz 090006844
AgendaVisão Geral• Motivação
O que é TSP?
• Conceitos e estruturas
O Design do TSPi• O Processo do TSP
Lançamento• Estratégia
Planejamento• Desenvolvimento
Postmortem• Papeis
Equipe• Conclusão
Visão geral
● O TSP (Team Software Process) é uma estrutura para a melhoria quantitativa de processo de software que ajuda equipes a desenvolver produtos de software de modo eficaz
● Combina técnica do CMMi (Capability Maturity Model Integration) e do Six Sigma.
● Supõe que os membros da equipe tenham sido treinados no PSP
Visão geral● Equipes auto gerenciáveis;
● Cada membro tem papéis definidos;
● O planejamento do projeto é feito em conjunto com todos os membros;
● Tomar decisões é papel da equipe e não só do gerente;
Visão Geral● O processo pode ser adaptado para uma melhor busca de
resultados
Visão geral
● De acordo com o SEI (Software Engineering Institute), o TSP foi adotado por diversas organizações (pequenas, médias e grandes) e os resultados variam de:○ Acréscimo de 25% na produtividade○ Redução do custo e da variação no cronograma em +/-
10%○ Redução do custo de teste em 80%
Disponível em: http://www.sei.cmu.edu/tsp/
Motivação● O PSP e o CMM visam a melhoria dos processos de
desenvolvimento de software.
● O CMM visa a melhoria da capacidade de toda uma organização em desenvolver aplicações com baixo número de erros
● O PSP é um processo para elaboração de projetos individuais
Motivação
● Engenheiros de software que conheciam as praticas do PSP, ao tentarem aplicá-las não encontravam um ambiente de trabalho propicio.
● Assim, surgiu a necessidade de um processo que envolvesse a equipe, não só o individuo.
O que é TSP?● É um guia para equipes de
desenvolvimento;
● Práticas maduras e disciplinadas;
● Produção de software seguro e confiável em menor tempo e menor custo;
● Baseada em conceitos do CMM e PSP;
Conceitos e estruturaA gerência agrega princípios de equipes integradas
de desenvolvimento e métodos do CMM para construir equipes eficazes:
● Constrói, orienta e dá suporte à equipe;
● Cria o ambiente de trabalho ideal;
● Identifica e soluciona gargalos do funcionamento da equipe;
● Extrai a máxima capacidade da equipe como um todo.
Conceitos e estruturaEquipe
○ Planeja o próprio trabalho;
○ Acompanha o progresso;
○ Gerencia as tarefas diárias;
○ Arquiva dados e materiais para uso posterior;
○ Gere a qualidade do produto;
Membros
○ Possuem papéis bem definidos;
○ Cooperam no planejamento do projeto;
○ Têm autonomia para a tomada de decisões.
Conceitos e estrutura● O TSP é um conjunto de scripts de
processos, formulários, métodos e métricas;
● Juntos, estes elementos procuram: ○ Criar equipes eficazes;○ Estabelecer metas e planos para a
equipe;○ Acompanhar e reportar o trabalho;
● TSPi○ Versão simplificada;○ Equipes menores;
O Design do TSPi● Estrutura baseada no PSP;
● Desenvolvimento incremental;
● Métricas padronizadas de qualidade e performance;
● Métricas precisas para equipes e indivíduos;
O Design do TSPi● Uso de avaliações de papéis e de
equipes;
● Exigência da disciplina de processo;
● Aconselhamento nos problemas do trabalho em equipe;
O Processo do TSPi
O Processo do TSPi
O processo de desenvolvimento do TSPi é iterativo:● A cada iteração uma nova versão operacional do produto é disponibilizada;
● Incremento das funcionalidade do produto;
● O processo inclui Scripts, Formulários e Padrões;
LançamentoEquipes não podem ser criadas sem
parâmetros, um lançamento inicial permite:
● Estabelecer as relações de trabalho;
● Definição e distribuir os papéis dos membros;
● Acordar as metas.
Estratégia
● Planejar o trabalho a ser feito antes de
conhecer o produto em detalhes;● Proporcionando a equipe conhecimento
do que deve ser feito;● Para se acompanhar o trabalho é necessário existir um
plano;● Sem um plano a equipe será pressionada com o prazos
dados pela gerência ou pelo cliente;● Para se planejar é necessário uma estratégia;
Planejar antes
Estratégia
● É a definição de como os recursos serão alocados para se atingir determinado objetivo;
o que é?
Estratégia● Sendo o TSPi iterativo a cada novo ciclo a
estrategia é redefinida;
● A equipe decide o conteúdo de cada ciclo ou negocia este conteúdo com o usuário/cliente.
Planejamento
Com um plano:● Há mais eficiência;● Sabe-se o que fazer e quando fazer;● Passos importantes não são deixados de lado;● Cumprimento dos compromissos;● É possível assumir compromissos realistas;● Melhor qualidade do trabalho;● Você sabe onde está ao longo do
desenvolvimento.
necessidade de planejar
Planejamento
1. Listar os produtos a serem desenvolvidos no ciclo e estimar seus tamanhos;
2. Produzir uma lista de tarefas;
3. Produzir um cronograma;
4. Produzir o plano de qualidade;
5. Produzir os planos individuais dos desenvolvedores;
6. Balancear da carga;
7. Produzir e distribuir o planos;
passos
Planejamento
● Com planos balanceados:○ Os esforços de todos os membros possuem mesmo
peso;○ Não é necessário esperar pelos outros;○ Os recursos são usados de maneira mais
eficientemente;○ Consegue-se o menor prazo possível;○ O balanceamento deve ser feito pelos
desenvolvedores;○ São os únicos que podem planejar em detalhes.
planos balanceados
Desenvolvimento
-Requisitos–Design–Implementação–Teste
Fases
Postmortem
● O Postmortem é uma forma de aprendizado e melhoria;
● Comparação entre o planejado e o executado;
● Identificar possíveis melhorias no produto e/ou no processo;
● Mudanças no processo para o próximo projeto ou ciclo, de forma a melhorar o que foi produzido.
Papéis● Distribui a carga de trabalho;
● Permite o desenvolvimento de diferentes habilidades pelos envolvidos;
● Torna explicita as responsabilidades das tarefas;
● Torna explicita a necessidade de tarefas que normalmente são ignoradas pelas equipes;
Papéis• Cada membro da equipe atua como desenvolvedor e
assume um dos papéis do TSPi;
● Papéis devem ser escolhidos / distribuídos:
○ Conforme o interesse;
○ De acordo com as habilidades;
• Convém haver rodízio de papéis a cada novo ciclo / projeto;
• Cada pessoa deve se especializar em dois ou três papéis.
PapéisOs papéis do TSPi são:
● Líder de Equipe;
● Gerente de Desenvolvimento;
● Gerente de Planejamento;
● Gerente de Qualidade e/ou Processo;
● Gerente de Suporte
Equipe
Geralmente por causa de problemas no trabalho em equipe, e não por razões técnicas. Um dos principais problemas é a dificuldade em lidar com a pressão
● Uso de “atalhos”;● Uso de métodos ruins (ou nenhum);● Aposta em ferramentas ao invés de pessoas;
O TSPi ajuda sugere a definição de uma estratégia e de um planejamento
● Saber o que fazer;● Resistir a cronograma irrealistas;
Porque os projetos falham
Equipe
● É um grupo composto de 2 ou mais pessoas com um objetivo em comum, com comunicação frequente e tarefas divididas. Atingir o objetivo é tarefa de todos do grupo.
O que é uma equipe?
Equipe
Liderança ineficiente● Plano abandonados;● Disciplina pessoal negligenciada;
Falta de compromisso ou cooperação● Um ou mais membros não cooperam no trabalho;● Podem ser necessárias ações drásticas;
Falta de participação● Um ou mais membros não contribuem para alcançar o objetivo.
Trabalho em pares se torna ineficaz● Relutância ou competição
Problemas comuns nas equipes
Problemas comuns nas equipesProcrastinação e falta de confiança própria● Falha em definir objetivos e prazos● Resultado de liderança inexperiente, falta de objetivos claros, ou
falta de processo e planejamentoQualidade pobre● Falta de documentação, revisões e inspeções, práticas de
implementação pouco rigorosasInjeção de requisitos● Usuários ou desenvolvedores acrescentando funcionalidade no
meio do projeto
Equipe
EquipeTamanho da equipe
● 4 a 8 pessoas;
● Equipes grandes dificultam o estabelecimento de relações próximas, afetando a sinergia do grupo;
Equipes coesas
● Equipe mais produtiva do que a soma de trabalhos individuais;
● Satisfação individual maior ao atingir objetivos;
Equipe
O trabalho a ser feito é claro e distinto:● Está explícito;● Faz sentido para toda a equipe;● A equipe sabe o que deve ser feito.
A equipe tem controle sobre as tarefas● Ela controla o processo;● Ela é capaz de fazer a tarefas
Condições para trabalho em equipe
Condições para trabalho em equipe
A equipe é bem definida● Todos se conhecem;● O trabalho de todos é visível;● Os papéis são conhecidos por todos;
Equipe
Equipe
Coesão da equipe – A equipe age como uma unidade física e emocional – Comunicação aberta e freqüente; – Respeito e apoio mútuos;
Desafios – Específicos e mensuráveis – Cada membro aceita os objetivos como próprios
Feedback:O progresso é acompanhadoFramework de trabalho comum: Processo, papéis etc.
Equipes eficazes
Equipe
Processo iterativo de convergência:
● Entendimento e acordo comum dos objetivos;
● Entendimento sobre a estratégia e o plano de desenvolvimento;
● Identificação do que é desconhecido e das discordâncias;
● Acordo sobre suas resoluções;
A cada passo a equipe aumenta a coesão.
Equipes eficazes
Equipe
• Propondo um conjunto de objetivos iniciais – A cada ciclo, devem ser revistos e ajustados pela equipe• Identificação antecipada de papéis pré-definidos – Distribuição de responsabilidades• Processo definido para o planejamento• Comunicação interna – Reuniões periódicas – Informação disponível (processos, planos, métricas) facilitam a
comunicação precisa• Comunicação externa – Reporte periódico
Como o TSPi Constrói Times
Equipe
Comunicação entre os membrosVisibilidade, saber ouvi e negociar.
Estabelecimento e cumprimento de compromissosO compromisso tem que ser livremente assumido, é público e
deve ser planejado.
Participação nas atividades da equipeObter a atenção da equipe, pedir e aceitar ajuda
Deveres no trabalho em equipe
Equipe
• Para a construção de equipes efetivas, é necessário
– Aceitar a responsabilidade por um papel e desempenhá-lo o melhor possível
– Participar no estabelecimento de metas e planos da equipe e esforçar-se por cumprir essas metas e seguir o plano
– Construir e manter uma equipe efetiva e cooperativa
Deveres na construção da equipe
Conclusão
Membros de uma equipe trabalhando e cooperando juntos para o desenvolvimento do software poderão acarretar em melhores resultados;
Um trabalho em equipe efetivo requer metas, papéis, ambiente adequado, processo de trabalho, plano de trabalho, compromisso e comunicação;
Seguindo essas metas produtividade da equipe pode aumentar.
Bibliografia e referências
Humphrey, Watts. The Team Software Process Body of Knowledge. Software Engineering Institute.
McAndrews, Donald. The Team Software ProcessSM (TSPSM): An Overview and Preliminary Results of Using Disciplined Practices. Scientific Commons, 1998.