tsp _pps

43
Team Software Process

Upload: pedrin101010

Post on 27-Nov-2015

32 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: TSP _pps

Team Software Process

Page 2: TSP _pps

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

Page 3: TSP _pps

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

Page 4: TSP _pps

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

Page 5: TSP _pps

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;

Page 6: TSP _pps

Visão Geral● O processo pode ser adaptado para uma melhor busca de

resultados

Page 7: TSP _pps

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/

Page 8: TSP _pps

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

Page 9: TSP _pps

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.

Page 10: TSP _pps

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;

Page 11: TSP _pps

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.

Page 12: TSP _pps

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.

Page 13: TSP _pps

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;

Page 14: TSP _pps

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;

Page 15: TSP _pps

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;

Page 16: TSP _pps

O Processo do TSPi

Page 17: TSP _pps

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;

Page 18: TSP _pps

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.

Page 19: TSP _pps

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

Page 20: TSP _pps

Estratégia

● É a definição de como os recursos serão alocados para se atingir determinado objetivo;

o que é?

Page 21: TSP _pps

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.

Page 22: TSP _pps

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

Page 23: TSP _pps

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

Page 24: TSP _pps

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

Page 25: TSP _pps

Desenvolvimento

-Requisitos–Design–Implementação–Teste

Fases

Page 26: TSP _pps

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.

Page 27: TSP _pps

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;

Page 28: TSP _pps

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.

Page 29: TSP _pps

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

Page 30: TSP _pps

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

Page 31: TSP _pps

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?

Page 32: TSP _pps

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

Page 33: TSP _pps

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

Page 34: TSP _pps

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;

Page 35: TSP _pps

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

Page 36: TSP _pps

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

Page 37: TSP _pps

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

Page 38: TSP _pps

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

Page 39: TSP _pps

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

Page 40: TSP _pps

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

Page 41: TSP _pps

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

Page 42: TSP _pps

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.

Page 43: TSP _pps

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.