# Team Software Process (TSP)

TSP é um processo de desenvolvimento de software, que fornece uma estrutura de processo operacional definida que é projetada para ajudar equipes de gerentes e engenheiros a organizar projetos e produzir software cujos princípios variam em tamanho desde pequenos projetos de milhares de linhas de código (KLOC) para projetos muito grandes com mais de meio milhão de linhas de código. Projetado para ser utilizado por engenheiros de software para a elaboração de projetos em time. O TSP foi desenvolvido por Watts Humphrey e está descrito no seu livro "A Discipline for Software Engineering" (Uma disciplina para Engenharia de Software) de 1995. O TSP foi desenvolvido para orientar o planejamento e desenvolvimento de módulos de software ou pequenos programas, mas pode ser adaptado para outras tarefas.
O TSP tem como objetivo melhorar os níveis de qualidade e produtividade do projeto de desenvolvimento de software de uma equipe, a fim de ajudá-los a melhor atender os custos e programar os compromissos de desenvolvimento de um sistema de software.

## Objetivos

Antes que os engenheiros possam participar do TSP, é necessário que eles já tenham aprendido sobre o PSP, para que o TSP possa funcionar efetivamente. O treinamento também é necessário para outros membros da equipe, o líder da equipe e o gerenciamento. O ciclo de desenvolvimento de software do TSP começa com um processo de planejamento chamado lançamento, conduzido por um coach especialmente treinado e certificado ou provisório. O lançamento foi projetado para iniciar o processo de formação de equipe e, durante esse tempo, as equipes e os gerentes estabelecem metas, definem funções da equipe, avaliam riscos, estimam o esforço, alocam tarefas e produzem um plano de equipe. Durante uma fase de execução, os desenvolvedores rastreiam o esforço planejado e real, a programação e os defeitos que se reúnem regularmente (geralmente semanalmente) para relatar o status e revisar os planos. Um ciclo de desenvolvimento termina com um Post Mortem para avaliar o desempenho, revisar os parâmetros de planejamento e capturar as lições aprendidas para a melhoria do processo.
O papel do coach concentra-se em apoiar a equipe e os indivíduos da equipe como especialistas em processos, sendo independente da responsabilidade direta do gerenciamento de projetos. O papel de líder de equipe é diferente do papel de treinador, os líderes de equipe são responsáveis pela gestão de produtos e resultados do projeto, enquanto o treinador é responsável pelo desenvolvimento individual e de equipe.

## Como o TSP funciona

Antes que os engenheiros possam participar do TSP, é necessário que eles já tenham aprendido sobre o PSP, para que o TSP possa funcionar efetivamente. O treinamento também é necessário para outros membros da equipe, o líder da equipe e o gerenciamento. O ciclo de desenvolvimento de software do TSP começa com um processo de planejamento chamado lançamento, conduzido por um coach especialmente treinado e certificado ou provisório. O lançamento foi projetado para iniciar o processo de formação de equipe e, durante esse tempo, as equipes e os gerentes estabelecem metas, definem funções da equipe, avaliam riscos, estimam o esforço, alocam tarefas e produzem um plano de equipe. Durante uma fase de execução, os desenvolvedores rastreiam o esforço planejado e real, a programação e os defeitos que se reúnem regularmente (geralmente semanalmente) para relatar o status e revisar os planos. Um ciclo de desenvolvimento termina com um Post Mortem para avaliar o desempenho, revisar os parâmetros de planejamento e capturar as lições aprendidas para a melhoria do processo.
O papel do coach concentra-se em apoiar a equipe e os indivíduos da equipe como especialistas em processos, sendo independente da responsabilidade direta do gerenciamento de projetos. O papel de líder de equipe é diferente do papel de treinador, os líderes de equipe são responsáveis pela gestão de produtos e resultados do projeto, enquanto o treinador é responsável pelo desenvolvimento individual e de equipe.

## Últimos desenvolvimentos

O TSP foi adaptado para trabalhar com outros tipos de trabalho de conhecimento , incluindo engenharia de sistemas e serviços.
Mapeamento TSP para práticas CMMI foi documentado em 2010, e pilotado como um caminho alternativo para implementar a melhoria do processo CMMI. Um corpo de conhecimento (BOK) foi lançado em 2010. O guia do programa de orientação de mentores foi lançado em 2010.
De acordo com um estudo realizado pela Capers Jones, a TSP é uma das metodologias de desenvolvimento mais bem sucedidas em termos de calendário, qualidade e orçamento (TCO)

## Publicações

* TSP: Leading a Development Team 2005
* TSP: Coaching Development Teams 2005