SlideShare uma empresa Scribd logo
Saymon Oliveira
Bruno Alexandre
Francisco Balbino
Reginaldo Faria
TSP - Team Software Process
O TSP foi um dos grandes passos para o melhoramento do desenvolvimento de
software, pois este processo de desenvolvimento de software objetiva construir e orientar
equipes com a finalidade de faze-los atingir melhores resultados:
Figura 1: Processo do TSP
fonte: do Autor
Quando surgiu?
A sua primeira versão surgiu em 1996 e foi projetado por Watts Humphrey que a chamou
de TSPO, a qual foi projetada para equipes treinadas em PSP.
Objetivo?
Seu objetivo era proporcionar um processo de desenvolvimento como auxilio aos
engenheiros para garantir qualidade. Para isso Watts testou com duas equipes distintas afim de
analisar o resultado e conseguir identificar lacunas onde mostraram que as equipes precisavam
de maior atenção e orientou-as após este experimento.
Objetivos do TSP
• Maximizar a qualidade de software, minimizar os custos.
• Integrando independentes equipes de alta performance que planejam e registram seus
objetivos definidos.
• Mostrar gerentes como para monitorar e motivar suas equipes e ajudá-los a alcançar a
sua produtividade máxima.
• Acelerar a melhoria contínua dos Processos.
• Fornecer um guia para a melhoria em organizações maduras.
Intuito do TSP
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,
guia equipes no lançamento e execução de projetos, criando um ambiente de trabalho em grupo
que suporte o trabalho individual disciplinado e mantenha-o direcionado à equipe, aumentando
a produtividade, desempenho, reduz custos de desenvolvimento total e também de
manutenção. Este tipo de desenvolvimento é orientado essencialmente à prática.
TSP uso do PSP
O TSP faz uso do PSP (Personal Software Process) para guiar o trabalho individual dos
desenvolvedores de software, mostrando-lhes como medir seu trabalho e utilizar estes dados
para melhorar seu desempenho. Basicamente os métodos do PSP são utilizados pelos
desenvolvedores no seu trabalho rotineiro.
Conceitos e Estrutura
• Equipes auto-gerenciadas;
• 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, metas e responsabilidades definidos;
• Todos os membros participam do planejamento do projeto e da tomada de decisões-
chave;
• Deve-se definir um processo comum para o trabalho dos membros da equipe;
• Todos os membros da equipe devem participar na produção do plano, e todos devem
conhecer o seu papel no plano;
• Todo o trabalho desenvolvido pelos membros da equipa deverá estar de acordo com o
plano;
• Comunicação entre equipe de forma frequente;
• A equipe deve formar um grupo focado nos seus objetivos;
• O TSP fornece a orientação explícita que as organizações precisam para construir
equipes eficazes.
Estrutura e Conceito
•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;
maturidade;
Estrutura e Conceitos
O TSP provê um conjunto de
–scripts de processos
–formulários
–métodos
–métricas
•Estes elementos guiam os desenvolvedores em
–criar equipes eficazes
–estabelecer metas e planos para a equipe
–acompanhar e reportar o trabalho
Desenvolvimento em ciclos
Além disso, a metodologia TSP conduz o desenvolvimento de software através de vários
ciclos rápidos até atingir o produto final. Cada ciclo guia a equipe através de sete passos:
lançamento, estratégia, planejamento, requisitos, projeto, implementação, teste e postmortem.
Em cada ciclo os desenvolvedores repetem os mesmos passos como mostrado na Figura
abaixo e aumentam o produto construído no ciclo anterior.
Cada ciclo de desenvolvimento do TSP é composto por oito fases, mas este número pode variar
dependendo da necessidade da equipe. Estas fases são lançamento, desenvolvimento de
estratégia, planejamento, requisitos, projeto, implementação, testes e avaliação.
Lançamento
Na fase de lançamento são definidos os seguintes tópicos:
quem serão os membros da equipe;
• qual o papel de cada membro na equipe;
• o objetivo da equipe;
• o produto que se deseja produzir. Os papéis que cada um desempenha dentro da equipe
podem mudar nos ciclos seguintes visto que algum membro pode não se identificar com o papel
que lhe foi designado. São definidas reuniões semanais para se observar o andamento do
projeto e o desempenho da equipe.
Estratégia
Busca-se estratégia para realizar os trabalhos durante o ciclo. Cria-se um modelo conceitual,
estimativas de tamanho e tempo de desenvolvimento do produto.
Se o tempo ultrapassar o que foi previsto para o ciclo, a estratégia deverá ser revista e um novo
módulo funcional do produto deverá ser definido para ser desenvolvido durante o ciclo.
A fase de estratégia é realizada antes que o planejamento, pois nesta fase serão gerados
artefatos que serão úteis na fase de planejamento. Nesta fase a equipe começa a produzir o
plano de gerência de configuração. Este plano é fundamental para o controle da versão do
produto.
Planejamento
É necessário um plano detalhado, com ele sabe-se com exatidão o que deve ser feito e quando
será feito.
Quando não se usa o planejamento, a equipe leva muito tempo para desenvolver o projeto.
O planejamento ainda é uma fase que requer tempo e paciência. Entretanto, como o TSP
utiliza-se da estratégia de desenvolvimento cíclico e são desenvolvidas pequenas versões, os
planos são simples [HUMPHREY, 1999].
Um dos problemas do cumprimento de tarefas é o trabalho não balanceado. Em uma equipe
sincronizada, todos os membros terminam suas tarefas em uma ordem correta e no mesmo
tempo. No TSP, a equipe desenvolve o planejamento, distribuindo as tarefas de forma
balanceada. Este balanceamento sempre é verificado nas fases de avaliação dos ciclos de
desenvolvimento. Na fase de estratégia, gerou-se o modelo conceitual do projeto.
Requisitos
Na fase de requisitos, a equipe desenvolve a especificação de requisitos do software. Este
artefato prevê exatamente o que o produto será. Através dele é que será feita a avaliação final
do produto. Será constatado se o produto final é realmente o que o cliente desejava. Uma das
causas da insatisfação do cliente é a
Entre eles estão:
• Requisitos funcionais: entradas, saídas, cálculos e casos de uso;
• Requisitos de Interface Externa: usuário, hardware, software, comunicações;
• Restrições de Projeto: formato de arquivos, linguagens, padrões, compatibilidade e assim por
diante;
• Requisitos Não-Funcionais: segurança, conversão, rastreabilidade, usabilidade e assim por
diante;
• Outros requisitos: banco de dados, instalação etc. No TSP, o objetivo principal do documento
de requisitos é documentar os acordos da equipe em relação às funcionalidades e interfaces
externa.
Projeto
O projeto trata-se de uma fase onde a equipe irá decidir como construir o produto. Não somente
descrever idéias gerais, mas produzir uma especificação completa e precisa de como o produto
será construído.
No TSP, a construção do projeto consiste dos seguintes passos:
• Decidir a estrutura do produto como um todo;
• Alocar as funcionalidades do produto em componentes;
• Produzir a especificação externa dos componentes e;
• Decidir quais os componentes e as funcionalidades que serão desenvolvidas em cada ciclo.
Implementação
A fase de implementação é a geração do código fonte do produto. Esta implementação deve
seguir o que foi proposto na fase de projeto. Os principais passos na fase de implementação
são: planejamento de implementação, projeto detalhado, inspeção do projeto detalhado,
codificação, inspeção de código, unidade de testes, revisão da qualidade dos componentes e
lançamento dos componentes. Uma das características da fase de implementação no TSP é a
utilização de padrões.
Os padrões de implementação utilizados são:
• padrões de revisão;
• padrões de nomeação, interface e mensagens;
• padrões de codificação;
• padrões de tamanho;
• padrões de defeitos;
• prevenção de defeitos.
Integração e Testes
Os módulos desenvolvidos no ciclo são testados e integrados para formar o produto final. O
objetivo é verificar se tais módulos produzirão um produto de qualidade. As principais atividades
de testes no TSP são:
• Utilizar as partes desenvolvidas e testadas para construir o produto final;
• Utilizar a integração e testes no produto, para verificar se este está apropriadamente
construído, que todos os módulos estão presentes e que funcionam perfeitamente juntos;
• Testar o produto para avaliar se ele atende aos requisitos. Durante estas atividades, também é
desejado:
• Identificar módulos com baixa qualidade e enviá-los para o gerente de qualidade/processo
para revisão e correção;
• Identificar módulos que já foram enviados para o gerente de qualidade/processo, que ainda
possuem baixa qualidade e reenviá-los novamente para verificação e correção.
Análise
A análise é a fase final do TSP. Nela todo o trabalho da equipe é revisto para garantir que tudo o
que foi planejado foi realmente cumprido. Também é verificado se todos os dados foram
registrados pelos membros da equipe. É analisado o que foi desenvolvido no ciclo e quais são
as melhorias para o próximo ciclo ou para o próximo produto.
Através da análise, serão definidas melhorias tanto no processo de desenvolvimento quanto no
processo gerencial da equipe. Toda a análise tem como objetivo prover um método par avaliar
todo o processo de desenvolvimento e estipular melhorias
Pontos Fortes
• Formação de uma equipe coesa, que busca um objetivo comum;
• Suas práticas melharam o gerenciamento do projeto;
• Completamente alinhado com o SW-CMM (pode ser definido como sendo uma soma de
"melhores práticas" para diagnóstico e avaliação de maturidade do desenvolvimento de
softwares em uma organização) , funcionando como catalisador.
Pontos Fracos
• Requer treinamento prévio em Personal Software Process(PSP);
• Não possui modelos de documentos;
• Foca mais em um processo operacional do que descrições textuais;
• Não entra em detalhes sobre a execução das atividades.

Mais conteúdo relacionado

Mais procurados

O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
Camilo de Melo
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
Rudson Kiyoshi Souza Carvalho
 
Modelo de Declaracao do escopo do projeto
Modelo de Declaracao do escopo do projetoModelo de Declaracao do escopo do projeto
Modelo de Declaracao do escopo do projeto
Fernando Palma
 
Normas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de SoftwareNormas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de Software
Danilo Sousa
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
Camilo Ribeiro
 
Feature Driven Development - FDD
Feature Driven Development - FDDFeature Driven Development - FDD
Feature Driven Development - FDD
Guilherme Campos Camargo
 
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de ProjetosGerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
CEULJI/ULBRA Centro Universitário Luterano de Ji-Paraná
 
CMM e CMMI
CMM e CMMICMM e CMMI
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
Elias Nogueira
 
Modelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de SoftwareModelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de Software
Daniela Franciosi
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
Rogerio P C do Nascimento
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
Fabricio Schlag
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
Annelise Gripp
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
Robson Silva Espig
 
Cmmi apresentação
Cmmi apresentaçãoCmmi apresentação
Cmmi apresentação
Nilton Rodrigues Pereira
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Fernando Palma
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
elliando dias
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
Álvaro Farias Pinheiro
 
O que é OKR (Objectives and Key Results)?
O que é OKR (Objectives and Key Results)?O que é OKR (Objectives and Key Results)?
O que é OKR (Objectives and Key Results)?
Felipe Castro
 
Cmmi e mps.Br
Cmmi e mps.BrCmmi e mps.Br
Cmmi e mps.Br
Jefferson Bessa
 

Mais procurados (20)

O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Modelo de Declaracao do escopo do projeto
Modelo de Declaracao do escopo do projetoModelo de Declaracao do escopo do projeto
Modelo de Declaracao do escopo do projeto
 
Normas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de SoftwareNormas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de Software
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
 
Feature Driven Development - FDD
Feature Driven Development - FDDFeature Driven Development - FDD
Feature Driven Development - FDD
 
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de ProjetosGerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
 
CMM e CMMI
CMM e CMMICMM e CMMI
CMM e CMMI
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Modelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de SoftwareModelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de Software
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Cmmi apresentação
Cmmi apresentaçãoCmmi apresentação
Cmmi apresentação
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 
O que é OKR (Objectives and Key Results)?
O que é OKR (Objectives and Key Results)?O que é OKR (Objectives and Key Results)?
O que é OKR (Objectives and Key Results)?
 
Cmmi e mps.Br
Cmmi e mps.BrCmmi e mps.Br
Cmmi e mps.Br
 

Destaque

[QUATIC 2012] PSP PAIR: Personal Software Process Performance Analysis and Im...
[QUATIC 2012] PSP PAIR: Personal Software Process Performance Analysis and Im...[QUATIC 2012] PSP PAIR: Personal Software Process Performance Analysis and Im...
[QUATIC 2012] PSP PAIR: Personal Software Process Performance Analysis and Im...
Strongstep - Innovation in software quality
 
Software Embutido
Software EmbutidoSoftware Embutido
Software Embutido
Jaime Teixeira
 
Tsp
TspTsp
Banco de dados oracle
Banco de dados oracleBanco de dados oracle
Banco de dados oracle
Eduardo Lopes
 
Psp (personal software process)
Psp (personal software process)Psp (personal software process)
Psp (personal software process)
Luis Angel Robles Aguilar
 
Construção da Arquitetura de Processos: Foco na Proposta de Valor, Governança...
Construção da Arquitetura de Processos: Foco na Proposta de Valor, Governança...Construção da Arquitetura de Processos: Foco na Proposta de Valor, Governança...
Construção da Arquitetura de Processos: Foco na Proposta de Valor, Governança...
Mauricio Bitencourt
 
Psp Personal Software Process
Psp  Personal Software ProcessPsp  Personal Software Process
Psp Personal Software Process
diego_aacc
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
rosimaracorsino
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
Jorge Ávila Miranda
 
Proceso de Software Personal - PSP
Proceso de Software Personal - PSPProceso de Software Personal - PSP
Proceso de Software Personal - PSP
Christian Mora
 
TÉCNICAS DE COLETA DE DADOS.
TÉCNICAS DE COLETA DE DADOS.TÉCNICAS DE COLETA DE DADOS.
TÉCNICAS DE COLETA DE DADOS.
Diego Ventura
 
Teorias Behavioristas
Teorias BehavioristasTeorias Behavioristas
Behaviorismo
BehaviorismoBehaviorismo
TCC - Terapia Cognitiva Comportamental
TCC - Terapia Cognitiva ComportamentalTCC - Terapia Cognitiva Comportamental
TCC - Terapia Cognitiva Comportamental
Glaucia Lima de Magalhaes
 
Trabalho slides behavorismo 2014
Trabalho slides behavorismo 2014Trabalho slides behavorismo 2014
Trabalho slides behavorismo 2014
Magistério Magistério
 
Técnicas para a coleta de dados
Técnicas para a coleta de dadosTécnicas para a coleta de dados
Técnicas para a coleta de dados
Raquel Stela de Sá
 

Destaque (16)

[QUATIC 2012] PSP PAIR: Personal Software Process Performance Analysis and Im...
[QUATIC 2012] PSP PAIR: Personal Software Process Performance Analysis and Im...[QUATIC 2012] PSP PAIR: Personal Software Process Performance Analysis and Im...
[QUATIC 2012] PSP PAIR: Personal Software Process Performance Analysis and Im...
 
Software Embutido
Software EmbutidoSoftware Embutido
Software Embutido
 
Tsp
TspTsp
Tsp
 
Banco de dados oracle
Banco de dados oracleBanco de dados oracle
Banco de dados oracle
 
Psp (personal software process)
Psp (personal software process)Psp (personal software process)
Psp (personal software process)
 
Construção da Arquitetura de Processos: Foco na Proposta de Valor, Governança...
Construção da Arquitetura de Processos: Foco na Proposta de Valor, Governança...Construção da Arquitetura de Processos: Foco na Proposta de Valor, Governança...
Construção da Arquitetura de Processos: Foco na Proposta de Valor, Governança...
 
Psp Personal Software Process
Psp  Personal Software ProcessPsp  Personal Software Process
Psp Personal Software Process
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Proceso de Software Personal - PSP
Proceso de Software Personal - PSPProceso de Software Personal - PSP
Proceso de Software Personal - PSP
 
TÉCNICAS DE COLETA DE DADOS.
TÉCNICAS DE COLETA DE DADOS.TÉCNICAS DE COLETA DE DADOS.
TÉCNICAS DE COLETA DE DADOS.
 
Teorias Behavioristas
Teorias BehavioristasTeorias Behavioristas
Teorias Behavioristas
 
Behaviorismo
BehaviorismoBehaviorismo
Behaviorismo
 
TCC - Terapia Cognitiva Comportamental
TCC - Terapia Cognitiva ComportamentalTCC - Terapia Cognitiva Comportamental
TCC - Terapia Cognitiva Comportamental
 
Trabalho slides behavorismo 2014
Trabalho slides behavorismo 2014Trabalho slides behavorismo 2014
Trabalho slides behavorismo 2014
 
Técnicas para a coleta de dados
Técnicas para a coleta de dadosTécnicas para a coleta de dados
Técnicas para a coleta de dados
 

Mais de Saymon Cristian Alves Oliveira

Terceirização de TI
Terceirização de TITerceirização de TI
Terceirização de TI
Saymon Cristian Alves Oliveira
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Saymon Cristian Alves Oliveira
 
Inteligência Artificial - Busca com informação
Inteligência Artificial - Busca com informaçãoInteligência Artificial - Busca com informação
Inteligência Artificial - Busca com informação
Saymon Cristian Alves Oliveira
 
Backtracking
BacktrackingBacktracking
Mais sobre ead
Mais sobre ead Mais sobre ead
Softwares de autoria
Softwares de autoriaSoftwares de autoria
Softwares de autoria
Saymon Cristian Alves Oliveira
 
Calculo de volume de um silo utilizando integral
Calculo de volume de um silo utilizando integralCalculo de volume de um silo utilizando integral
Calculo de volume de um silo utilizando integral
Saymon Cristian Alves Oliveira
 

Mais de Saymon Cristian Alves Oliveira (8)

Terceirização de TI
Terceirização de TITerceirização de TI
Terceirização de TI
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
 
Criptografias - WEP vs WPA
Criptografias - WEP vs WPACriptografias - WEP vs WPA
Criptografias - WEP vs WPA
 
Inteligência Artificial - Busca com informação
Inteligência Artificial - Busca com informaçãoInteligência Artificial - Busca com informação
Inteligência Artificial - Busca com informação
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Mais sobre ead
Mais sobre ead Mais sobre ead
Mais sobre ead
 
Softwares de autoria
Softwares de autoriaSoftwares de autoria
Softwares de autoria
 
Calculo de volume de um silo utilizando integral
Calculo de volume de um silo utilizando integralCalculo de volume de um silo utilizando integral
Calculo de volume de um silo utilizando integral
 

Team Software Process (TSP)

  • 1. Saymon Oliveira Bruno Alexandre Francisco Balbino Reginaldo Faria TSP - Team Software Process O TSP foi um dos grandes passos para o melhoramento do desenvolvimento de software, pois este processo de desenvolvimento de software objetiva construir e orientar equipes com a finalidade de faze-los atingir melhores resultados: Figura 1: Processo do TSP fonte: do Autor Quando surgiu? A sua primeira versão surgiu em 1996 e foi projetado por Watts Humphrey que a chamou de TSPO, a qual foi projetada para equipes treinadas em PSP. Objetivo? Seu objetivo era proporcionar um processo de desenvolvimento como auxilio aos engenheiros para garantir qualidade. Para isso Watts testou com duas equipes distintas afim de analisar o resultado e conseguir identificar lacunas onde mostraram que as equipes precisavam de maior atenção e orientou-as após este experimento.
  • 2. Objetivos do TSP • Maximizar a qualidade de software, minimizar os custos. • Integrando independentes equipes de alta performance que planejam e registram seus objetivos definidos. • Mostrar gerentes como para monitorar e motivar suas equipes e ajudá-los a alcançar a sua produtividade máxima. • Acelerar a melhoria contínua dos Processos. • Fornecer um guia para a melhoria em organizações maduras. Intuito do TSP 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, guia equipes no lançamento e execução de projetos, criando um ambiente de trabalho em grupo que suporte o trabalho individual disciplinado e mantenha-o direcionado à equipe, aumentando a produtividade, desempenho, reduz custos de desenvolvimento total e também de manutenção. Este tipo de desenvolvimento é orientado essencialmente à prática. TSP uso do PSP O TSP faz uso do PSP (Personal Software Process) para guiar o trabalho individual dos desenvolvedores de software, mostrando-lhes como medir seu trabalho e utilizar estes dados para melhorar seu desempenho. Basicamente os métodos do PSP são utilizados pelos desenvolvedores no seu trabalho rotineiro. Conceitos e Estrutura • Equipes auto-gerenciadas; • 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, metas e responsabilidades definidos; • Todos os membros participam do planejamento do projeto e da tomada de decisões- chave; • Deve-se definir um processo comum para o trabalho dos membros da equipe;
  • 3. • Todos os membros da equipe devem participar na produção do plano, e todos devem conhecer o seu papel no plano; • Todo o trabalho desenvolvido pelos membros da equipa deverá estar de acordo com o plano; • Comunicação entre equipe de forma frequente; • A equipe deve formar um grupo focado nos seus objetivos; • O TSP fornece a orientação explícita que as organizações precisam para construir equipes eficazes. Estrutura e Conceito •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; maturidade; Estrutura e Conceitos O TSP provê um conjunto de –scripts de processos –formulários –métodos –métricas •Estes elementos guiam os desenvolvedores em –criar equipes eficazes –estabelecer metas e planos para a equipe –acompanhar e reportar o trabalho
  • 4. Desenvolvimento em ciclos Além disso, a metodologia TSP conduz o desenvolvimento de software através de vários ciclos rápidos até atingir o produto final. Cada ciclo guia a equipe através de sete passos: lançamento, estratégia, planejamento, requisitos, projeto, implementação, teste e postmortem. Em cada ciclo os desenvolvedores repetem os mesmos passos como mostrado na Figura abaixo e aumentam o produto construído no ciclo anterior. Cada ciclo de desenvolvimento do TSP é composto por oito fases, mas este número pode variar dependendo da necessidade da equipe. Estas fases são lançamento, desenvolvimento de estratégia, planejamento, requisitos, projeto, implementação, testes e avaliação. Lançamento Na fase de lançamento são definidos os seguintes tópicos: quem serão os membros da equipe; • qual o papel de cada membro na equipe; • o objetivo da equipe;
  • 5. • o produto que se deseja produzir. Os papéis que cada um desempenha dentro da equipe podem mudar nos ciclos seguintes visto que algum membro pode não se identificar com o papel que lhe foi designado. São definidas reuniões semanais para se observar o andamento do projeto e o desempenho da equipe. Estratégia Busca-se estratégia para realizar os trabalhos durante o ciclo. Cria-se um modelo conceitual, estimativas de tamanho e tempo de desenvolvimento do produto. Se o tempo ultrapassar o que foi previsto para o ciclo, a estratégia deverá ser revista e um novo módulo funcional do produto deverá ser definido para ser desenvolvido durante o ciclo. A fase de estratégia é realizada antes que o planejamento, pois nesta fase serão gerados artefatos que serão úteis na fase de planejamento. Nesta fase a equipe começa a produzir o plano de gerência de configuração. Este plano é fundamental para o controle da versão do produto. Planejamento É necessário um plano detalhado, com ele sabe-se com exatidão o que deve ser feito e quando será feito. Quando não se usa o planejamento, a equipe leva muito tempo para desenvolver o projeto. O planejamento ainda é uma fase que requer tempo e paciência. Entretanto, como o TSP utiliza-se da estratégia de desenvolvimento cíclico e são desenvolvidas pequenas versões, os planos são simples [HUMPHREY, 1999]. Um dos problemas do cumprimento de tarefas é o trabalho não balanceado. Em uma equipe sincronizada, todos os membros terminam suas tarefas em uma ordem correta e no mesmo tempo. No TSP, a equipe desenvolve o planejamento, distribuindo as tarefas de forma balanceada. Este balanceamento sempre é verificado nas fases de avaliação dos ciclos de desenvolvimento. Na fase de estratégia, gerou-se o modelo conceitual do projeto. Requisitos Na fase de requisitos, a equipe desenvolve a especificação de requisitos do software. Este artefato prevê exatamente o que o produto será. Através dele é que será feita a avaliação final do produto. Será constatado se o produto final é realmente o que o cliente desejava. Uma das causas da insatisfação do cliente é a Entre eles estão: • Requisitos funcionais: entradas, saídas, cálculos e casos de uso; • Requisitos de Interface Externa: usuário, hardware, software, comunicações;
  • 6. • Restrições de Projeto: formato de arquivos, linguagens, padrões, compatibilidade e assim por diante; • Requisitos Não-Funcionais: segurança, conversão, rastreabilidade, usabilidade e assim por diante; • Outros requisitos: banco de dados, instalação etc. No TSP, o objetivo principal do documento de requisitos é documentar os acordos da equipe em relação às funcionalidades e interfaces externa. Projeto O projeto trata-se de uma fase onde a equipe irá decidir como construir o produto. Não somente descrever idéias gerais, mas produzir uma especificação completa e precisa de como o produto será construído. No TSP, a construção do projeto consiste dos seguintes passos: • Decidir a estrutura do produto como um todo; • Alocar as funcionalidades do produto em componentes; • Produzir a especificação externa dos componentes e; • Decidir quais os componentes e as funcionalidades que serão desenvolvidas em cada ciclo. Implementação A fase de implementação é a geração do código fonte do produto. Esta implementação deve seguir o que foi proposto na fase de projeto. Os principais passos na fase de implementação são: planejamento de implementação, projeto detalhado, inspeção do projeto detalhado, codificação, inspeção de código, unidade de testes, revisão da qualidade dos componentes e lançamento dos componentes. Uma das características da fase de implementação no TSP é a utilização de padrões. Os padrões de implementação utilizados são: • padrões de revisão; • padrões de nomeação, interface e mensagens; • padrões de codificação; • padrões de tamanho; • padrões de defeitos; • prevenção de defeitos. Integração e Testes Os módulos desenvolvidos no ciclo são testados e integrados para formar o produto final. O objetivo é verificar se tais módulos produzirão um produto de qualidade. As principais atividades
  • 7. de testes no TSP são: • Utilizar as partes desenvolvidas e testadas para construir o produto final; • Utilizar a integração e testes no produto, para verificar se este está apropriadamente construído, que todos os módulos estão presentes e que funcionam perfeitamente juntos; • Testar o produto para avaliar se ele atende aos requisitos. Durante estas atividades, também é desejado: • Identificar módulos com baixa qualidade e enviá-los para o gerente de qualidade/processo para revisão e correção; • Identificar módulos que já foram enviados para o gerente de qualidade/processo, que ainda possuem baixa qualidade e reenviá-los novamente para verificação e correção. Análise A análise é a fase final do TSP. Nela todo o trabalho da equipe é revisto para garantir que tudo o que foi planejado foi realmente cumprido. Também é verificado se todos os dados foram registrados pelos membros da equipe. É analisado o que foi desenvolvido no ciclo e quais são as melhorias para o próximo ciclo ou para o próximo produto. Através da análise, serão definidas melhorias tanto no processo de desenvolvimento quanto no processo gerencial da equipe. Toda a análise tem como objetivo prover um método par avaliar todo o processo de desenvolvimento e estipular melhorias Pontos Fortes • Formação de uma equipe coesa, que busca um objetivo comum; • Suas práticas melharam o gerenciamento do projeto; • Completamente alinhado com o SW-CMM (pode ser definido como sendo uma soma de "melhores práticas" para diagnóstico e avaliação de maturidade do desenvolvimento de softwares em uma organização) , funcionando como catalisador. Pontos Fracos • Requer treinamento prévio em Personal Software Process(PSP); • Não possui modelos de documentos; • Foca mais em um processo operacional do que descrições textuais; • Não entra em detalhes sobre a execução das atividades.