Grupo: Franclin M. 
Gustavo M. 
Hudson S.
Programação Ágil – Extreme 
Programming [XP] - Conceito 
A Programação Extrema, ou “XP”, é 
uma metodologia de desenvolvimento 
de software que se destina a 
melhorar a qualidade do software e a 
capacidade de resposta à evolução 
das necessidades dos clientes.
Programação Ágil – Extreme 
Programming [XP] - Criação 
O Extreme Programming é um modelo de 
desenvolvimento de software, criado por Kent 
Bech, em Chrysler, entre 1996-1997; um 
conjunto bem definido de regras, que vem 
ganhando adeptos por oferecer condições para 
que os desenvolvedores respondam com 
eficiência mudanças do projeto, mesmo nos 
estágios finais do processo, devido a lemas 
adotados, que correspondem a cinco conceitos 
das quais os projetos podem ser melhorados. 
São eles: Comunicação, Simplicidade, 
FeedBack, Coragem e Respeito.
Programação Ágil – Extreme 
Programming [XP] - Criação 
Programação eXtrema (XP) é uma técnica 
revolucionária de desenvolvimento de 
software. Tais objetivos são alcançados 
através de um pequeno conjunto 
de VALORES, PRINCIPIOS E PRATICAS 
que diferem substancialmente da forma 
tradicional de se desenvolver software.
Programação Ágil – Extreme 
Programming [XP] - Princípios 
Feedback rápido 
Presumir simplicidade 
Mudanças incrementais 
Abraçar mudanças 
Trabalho de alta qualidade.
Programação Ágil – Extreme 
Programming [XP] - Práticas 
Planejamento; 
Fases pequenas; 
Testes de aceitação; 
Reuniões em pé; 
Padronização de código; 
Metáfora; 
Semana de 40 horas; 
Entre outros;
Programação Ágil – Extreme 
Programming [XP] - Práticas 
Planejamento: O desenvolvimento é feito em iterações 
semanais. No início da semana, desenvolvedores e 
cliente reúnem-se para priorizar as funcionalidades. 
Essa reunião recebe o nome de Jogo do Planejamento. 
Nela, o cliente identifica prioridades e os 
desenvolvedores as estimam. O cliente é essencial 
neste processo e assim ele fica sabendo o que está 
acontecendo e o que vai acontecer no projeto.
Programação Ágil – Extreme 
Programming [XP] 
Fases pequenas: A liberação de pequenas 
versões funcionais do projeto auxilia muito no 
processo de aceitação por parte do cliente, que já 
pode testar uma parte do sistema que está 
comprando. As versões chegam a ser ainda 
menores que as produzidas por outras 
metodologias incrementais, como o RUP.
Programação Ágil – Extreme 
Programming [XP] 
Testes de Aceitação: São testes 
construídos pelo cliente e conjunto de 
analistas e testadores, para aceitar um 
determinado requisito do sistema. 
Reuniões em pé: Reuniões em pé para não 
se perder o foco nos assuntos, produzindo 
reuniões rápidas, apenas abordando tarefas 
realizadas e tarefas a realizar pela equipe.
Programação Ágil – Extreme 
Programming [XP] 
Padronização do Código: A equipe de 
desenvolvimento precisa estabelecer 
regras para programar e todos devem 
seguir estas regras. Desta forma 
parecerá que todo o código fonte foi 
editado pela mesma pessoa, mesmo 
quando a equipe possui 10 ou 100 
membros.
Programação Ágil – Extreme 
Programming [XP] 
Metáfora: Procura facilitar a comunicação 
como cliente, entendendo a realidade dele. É 
preciso traduzir as palavras do cliente para o 
significado que ele espera dentro do projeto.• 
Semana de 40 horas: Trabalhar com 
qualidade, buscando ter ritmo de trabalho 
saudável (40horas/semana), sem horas 
extras, exceto quando trouxerem muita 
produtividade. As horas devem ser bem 
aproveitadas, para isto o ambiente de trabalho 
e a motivação da equipe devem estar sempre 
em harmonia.
Programação Ágil – Extreme 
Programming [XP] – Ciclo de 
Vida 
O ciclo de vida de um projeto XP 
consiste em pôr as práticas e 
estratégias da XP em funcionamento de 
maneira ordenada. Ele consiste de uma 
pequena fase inicial de desenvolvimento 
seguida por um longo período de 
refinamento e suporte à produção. O 
ciclo de vida pode ser dividido nas 
seguintes fases:
Programação Ágil – Extreme 
Programming [XP] – Ciclo de 
Vida 
Exploração; 
Planejamento; 
Interações; 
Produção; 
Manutenção; 
Morte;
Programação Ágil – Extreme 
Programming [XP] – Papéis 
Cliente: Responsável por escrever 
“histórias”; muitas vezes é um 
programador ou é representado por um 
programador do grupo; trabalha no mesmo 
espaço físico do grupo; feedback do cliente 
é essencial. 
Treinador: O mais experiente do grupo; 
identifica quem é bom no que; lembra a 
todos as regras do XP; faz programação 
pareada; chama a atenção para 
oportunidades de melhorias; seu papel 
diminui à medida em que o time fica mais 
maduro.
Programação Ágil – Extreme 
Programming [XP] - Papéis 
Acompanhador: A “consciência” do time; 
mantém histórico do progresso; faz estimativas 
para o futuro e coleta estatísticas sobre o 
andamento do projeto, como: 
• Número de histórias definidas e implementadas. 
• Número de unit tests. 
• Número de testes funcionais definidos e funcionando. 
• Número de classes, métodos, linhas de código. 
Programador: - foco central da metodologia, 
sem hierarquia.
Programação Ágil – Extreme 
Programming [XP] - Vídeo
Programação Ágil – Extreme 
Programming [XP] - 
Conclusão 
Estando ciente de que este tema tratado é amplo, pode-se 
concluir que a inclusão do Extreme Programming no 
dia a dia do desenvolvimento de software enriquece a 
comunidade de programação, independente do 
segmento das empresas nos quais os profissionais 
desempenham suas atividades, garantindo a evolução 
dos negócios e dinamismo na economia atual.
Programação Ágil – Extreme 
Programming [XP] - 
Referencias 
http://pt.slideshare.net/manoelp/extreme-programmingsepai2004- 
manoel-pimentel-presentation? 
related=2 
http://www.youtube.com/watch?v=qWato84Ii40
FIM!

Trabalho xp

  • 1.
    Grupo: Franclin M. Gustavo M. Hudson S.
  • 2.
    Programação Ágil –Extreme Programming [XP] - Conceito A Programação Extrema, ou “XP”, é uma metodologia de desenvolvimento de software que se destina a melhorar a qualidade do software e a capacidade de resposta à evolução das necessidades dos clientes.
  • 3.
    Programação Ágil –Extreme Programming [XP] - Criação O Extreme Programming é um modelo de desenvolvimento de software, criado por Kent Bech, em Chrysler, entre 1996-1997; um conjunto bem definido de regras, que vem ganhando adeptos por oferecer condições para que os desenvolvedores respondam com eficiência mudanças do projeto, mesmo nos estágios finais do processo, devido a lemas adotados, que correspondem a cinco conceitos das quais os projetos podem ser melhorados. São eles: Comunicação, Simplicidade, FeedBack, Coragem e Respeito.
  • 4.
    Programação Ágil –Extreme Programming [XP] - Criação Programação eXtrema (XP) é uma técnica revolucionária de desenvolvimento de software. Tais objetivos são alcançados através de um pequeno conjunto de VALORES, PRINCIPIOS E PRATICAS que diferem substancialmente da forma tradicional de se desenvolver software.
  • 5.
    Programação Ágil –Extreme Programming [XP] - Princípios Feedback rápido Presumir simplicidade Mudanças incrementais Abraçar mudanças Trabalho de alta qualidade.
  • 6.
    Programação Ágil –Extreme Programming [XP] - Práticas Planejamento; Fases pequenas; Testes de aceitação; Reuniões em pé; Padronização de código; Metáfora; Semana de 40 horas; Entre outros;
  • 7.
    Programação Ágil –Extreme Programming [XP] - Práticas Planejamento: O desenvolvimento é feito em iterações semanais. No início da semana, desenvolvedores e cliente reúnem-se para priorizar as funcionalidades. Essa reunião recebe o nome de Jogo do Planejamento. Nela, o cliente identifica prioridades e os desenvolvedores as estimam. O cliente é essencial neste processo e assim ele fica sabendo o que está acontecendo e o que vai acontecer no projeto.
  • 8.
    Programação Ágil –Extreme Programming [XP] Fases pequenas: A liberação de pequenas versões funcionais do projeto auxilia muito no processo de aceitação por parte do cliente, que já pode testar uma parte do sistema que está comprando. As versões chegam a ser ainda menores que as produzidas por outras metodologias incrementais, como o RUP.
  • 9.
    Programação Ágil –Extreme Programming [XP] Testes de Aceitação: São testes construídos pelo cliente e conjunto de analistas e testadores, para aceitar um determinado requisito do sistema. Reuniões em pé: Reuniões em pé para não se perder o foco nos assuntos, produzindo reuniões rápidas, apenas abordando tarefas realizadas e tarefas a realizar pela equipe.
  • 10.
    Programação Ágil –Extreme Programming [XP] Padronização do Código: A equipe de desenvolvimento precisa estabelecer regras para programar e todos devem seguir estas regras. Desta forma parecerá que todo o código fonte foi editado pela mesma pessoa, mesmo quando a equipe possui 10 ou 100 membros.
  • 11.
    Programação Ágil –Extreme Programming [XP] Metáfora: Procura facilitar a comunicação como cliente, entendendo a realidade dele. É preciso traduzir as palavras do cliente para o significado que ele espera dentro do projeto.• Semana de 40 horas: Trabalhar com qualidade, buscando ter ritmo de trabalho saudável (40horas/semana), sem horas extras, exceto quando trouxerem muita produtividade. As horas devem ser bem aproveitadas, para isto o ambiente de trabalho e a motivação da equipe devem estar sempre em harmonia.
  • 13.
    Programação Ágil –Extreme Programming [XP] – Ciclo de Vida O ciclo de vida de um projeto XP consiste em pôr as práticas e estratégias da XP em funcionamento de maneira ordenada. Ele consiste de uma pequena fase inicial de desenvolvimento seguida por um longo período de refinamento e suporte à produção. O ciclo de vida pode ser dividido nas seguintes fases:
  • 14.
    Programação Ágil –Extreme Programming [XP] – Ciclo de Vida Exploração; Planejamento; Interações; Produção; Manutenção; Morte;
  • 15.
    Programação Ágil –Extreme Programming [XP] – Papéis Cliente: Responsável por escrever “histórias”; muitas vezes é um programador ou é representado por um programador do grupo; trabalha no mesmo espaço físico do grupo; feedback do cliente é essencial. Treinador: O mais experiente do grupo; identifica quem é bom no que; lembra a todos as regras do XP; faz programação pareada; chama a atenção para oportunidades de melhorias; seu papel diminui à medida em que o time fica mais maduro.
  • 16.
    Programação Ágil –Extreme Programming [XP] - Papéis Acompanhador: A “consciência” do time; mantém histórico do progresso; faz estimativas para o futuro e coleta estatísticas sobre o andamento do projeto, como: • Número de histórias definidas e implementadas. • Número de unit tests. • Número de testes funcionais definidos e funcionando. • Número de classes, métodos, linhas de código. Programador: - foco central da metodologia, sem hierarquia.
  • 17.
    Programação Ágil –Extreme Programming [XP] - Vídeo
  • 18.
    Programação Ágil –Extreme Programming [XP] - Conclusão Estando ciente de que este tema tratado é amplo, pode-se concluir que a inclusão do Extreme Programming no dia a dia do desenvolvimento de software enriquece a comunidade de programação, independente do segmento das empresas nos quais os profissionais desempenham suas atividades, garantindo a evolução dos negócios e dinamismo na economia atual.
  • 19.
    Programação Ágil –Extreme Programming [XP] - Referencias http://pt.slideshare.net/manoelp/extreme-programmingsepai2004- manoel-pimentel-presentation? related=2 http://www.youtube.com/watch?v=qWato84Ii40
  • 20.