SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
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

X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareAlexandreBartie
 
Trabalho sobre a ISO/IEC 15504
Trabalho sobre a ISO/IEC 15504Trabalho sobre a ISO/IEC 15504
Trabalho sobre a ISO/IEC 15504Ricardo Zalla
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação mavenAndré Justi
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
 
Desenhando a arquitetura do software!
Desenhando a arquitetura do software!Desenhando a arquitetura do software!
Desenhando a arquitetura do software!Isaac de Souza
 
Fatores de Qualidade de MacCall e ISO/IEC 9126
Fatores de Qualidade de MacCall e ISO/IEC 9126Fatores de Qualidade de MacCall e ISO/IEC 9126
Fatores de Qualidade de MacCall e ISO/IEC 9126Elaine Cecília Gatto
 
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 SoftwareDanilo Sousa
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Elaine Cecília Gatto
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisDaniel Ferreira
 

Mais procurados (20)

ISO 15504
ISO 15504ISO 15504
ISO 15504
 
Mps.br
Mps.brMps.br
Mps.br
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Padrões de Projeto (GoF)
Padrões de Projeto (GoF)Padrões de Projeto (GoF)
Padrões de Projeto (GoF)
 
Trabalho sobre a ISO/IEC 15504
Trabalho sobre a ISO/IEC 15504Trabalho sobre a ISO/IEC 15504
Trabalho sobre a ISO/IEC 15504
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Desenhando a arquitetura do software!
Desenhando a arquitetura do software!Desenhando a arquitetura do software!
Desenhando a arquitetura do software!
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
Fatores de Qualidade de MacCall e ISO/IEC 9126
Fatores de Qualidade de MacCall e ISO/IEC 9126Fatores de Qualidade de MacCall e ISO/IEC 9126
Fatores de Qualidade de MacCall e ISO/IEC 9126
 
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
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Introdução ao Teste de Software
Introdução ao Teste de SoftwareIntrodução ao Teste de Software
Introdução ao Teste de Software
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
 

Destaque

PSP - Personal Software Process
PSP - Personal Software ProcessPSP - Personal Software Process
PSP - Personal Software ProcessRafael Queiroz
 
[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
 
Banco de dados oracle
Banco de dados oracleBanco de dados oracle
Banco de dados oracleEduardo Lopes
 
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 Processdiego_aacc
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Proceso de Software Personal - PSP
Proceso de Software Personal - PSPProceso de Software Personal - PSP
Proceso de Software Personal - PSPChristian 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
 
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 dadosRaquel Stela de Sá
 

Destaque (18)

PSP - Personal Software Process
PSP - Personal Software ProcessPSP - Personal Software Process
PSP - Personal Software Process
 
[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
 
CMM e CMMI
CMM e CMMICMM e CMMI
CMM e CMMI
 
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 (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
 

TSP - Processo de Desenvolvimento de Software em Equipe

  • 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.