eXtreme
Programming (XP)
Desenvolvimento ágil
INSTITUTO FEDERAL DE EDUCAÇÃO,
CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
Programação ágil – Extreme
Programming [XP]
• A constante necessidade de se obter resultados
favoráveis na economia mundial tem obrigado a
indústria a reunir esforços para dinamizar o seu
processo produtivo.
• O Extreme Programming – uma metodologia ágil,
que visa um rápido desenvolvimento, atende às
reais necessidades do cliente e, ainda, permite
modificações, à medida que novas necessidades
apareçam.
I
N
T
R
O
D
U
Ç
Ã
O
Programação ágil – Extreme
Programming [XP]
• Extreme Programming (XP) é uma metodologia de
desenvolvimento de software que se destina
também a melhorar a qualidade do software e a
capacidade de resposta à evolução das
necessidades dos clientes.
I
N
T
R
O
D
U
Ç
Ã
O
Programação ágil – Extreme
Programming [XP]
• Com XP, um projeto de desenvolvimento de
aplicativo é realizado em pequenos
incrementos. Você pode implementar o
aplicativo parcial, que deverá permitir que
as pessoas executem algum nível de
trabalho, mesmo que o aplicativo ainda não
faça tudo que você pretende para ele no
fim.
I
N
T
R
O
D
U
Ç
Ã
O
A criação
• O Extreme Programming é um modelo de desenvolvimento de
software, criado entre 1996-1997, por Kent Bech, no
Departamento de Computação da montadora de carros
Chrysler.
• O XP é um conjunto bem definido de regras, que vem
ganhando um grande número de adeptos por oferecer
condições para que os desenvolvedores respondam com
eficiência a mudanças no projeto, mesmo nos estágios finais
do ciclo de vida do processo, devido a cinco lemas adotados
por seus seguidores, que correspondem a cinco conceitos a
partir das quais os projetos podem ser melhorados. São eles:
Comunicação, Simplicidade, FeedBack, Coragem e Respeito.
Valores do XP
•Simplicidade
•Comunicação
•Feedback
•Respeito
•Coragem
Metodologia
Princípios básicos
• Feedback rápido: Quanto mais demorado o retorno, menor o
aprendizado produzido por ele.
• Simplicidade assumida: Desenvolver a solução mais simples
que possa funcionar. Não construir complexidade
desnecessária.
• Mudança incremental: Grandes mudanças tendem a não
funcionar: os problemas são normalmente resolvidos com
uma série de pequenas mudanças naquilo que faz diferença.
• Aceitar mudanças: A mudança é inevitável. Ao invés de
combater a mudança, aceita-la como normal e saudável para
o projeto.
• Trabalho de qualidade: Se as pessoas que estão no projeto
não gostam da qualidade do trabalho que estão fazendo, a
tendência do projeto e fracassar.
Práticas de Programação Extrema
• Planejamento (Jogo de Planejamento - Planning Game): 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.
• Fases pequenas (Small Releases): 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.
A
S
P
R
I
N
C
I
P
A
I
S
Práticas de Programação Extrema
• Testes de Aceitação (Customer Tests): São testes construídos
pelo cliente e conjunto de analistas e testadores, para aceitar
um determinado requisito do sistema.
• Reuniões em pé (Stand-up Meeting): 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.
• Padronização do Código (Coding Standards): 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.
A
S
P
R
I
N
C
I
P
A
I
S
(Continuação...)
Práticas de Programação Extrema
• Metáfora (Metaphor): Procura facilitar a comunicação com
o cliente, entendendo a realidade dele. É preciso traduzir as
palavras do cliente para o significado que ele espera dentro
do projeto.
• Semana de 40 horas (Sustainable Pace): Trabalhar com
qualidade, buscando ter ritmo de trabalho saudável (40
horas/semana, 8 horas/dia), sem horas extras, exeto
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.
A
S
P
R
I
N
C
I
P
A
I
S
(Continuação...)
Ciclo de vida
Concluindo
• 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.
• Constatamos também que o que garante o sucesso de um
projeto não é somente a adoção de uma metodologia
comprovadamente eficaz, a adaptação ou a mesclagem de
várias delas, mas sim a incorporação integral nas rotinas de
desenvolvimento por parte da equipe e a crença de que tais
princípios, valores e práticas terão o resultado esperado no
final do projeto.
PERGUNTAS?
• Espaço aberto para debate, opiniões e
dúvidas sobre Extreme Programming [XP]
• Blog:
www.ProfDanielBrandao.wordpress.com
• E-mail:
professorDanielBrandao@gmail.com

Extreme programming (xp) - Resumo

  • 1.
    eXtreme Programming (XP) Desenvolvimento ágil INSTITUTOFEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO
  • 2.
    Programação ágil –Extreme Programming [XP] • A constante necessidade de se obter resultados favoráveis na economia mundial tem obrigado a indústria a reunir esforços para dinamizar o seu processo produtivo. • O Extreme Programming – uma metodologia ágil, que visa um rápido desenvolvimento, atende às reais necessidades do cliente e, ainda, permite modificações, à medida que novas necessidades apareçam. I N T R O D U Ç Ã O
  • 3.
    Programação ágil –Extreme Programming [XP] • Extreme Programming (XP) é uma metodologia de desenvolvimento de software que se destina também a melhorar a qualidade do software e a capacidade de resposta à evolução das necessidades dos clientes. I N T R O D U Ç Ã O
  • 4.
    Programação ágil –Extreme Programming [XP] • Com XP, um projeto de desenvolvimento de aplicativo é realizado em pequenos incrementos. Você pode implementar o aplicativo parcial, que deverá permitir que as pessoas executem algum nível de trabalho, mesmo que o aplicativo ainda não faça tudo que você pretende para ele no fim. I N T R O D U Ç Ã O
  • 5.
    A criação • OExtreme Programming é um modelo de desenvolvimento de software, criado entre 1996-1997, por Kent Bech, no Departamento de Computação da montadora de carros Chrysler. • O XP é um conjunto bem definido de regras, que vem ganhando um grande número de adeptos por oferecer condições para que os desenvolvedores respondam com eficiência a mudanças no projeto, mesmo nos estágios finais do ciclo de vida do processo, devido a cinco lemas adotados por seus seguidores, que correspondem a cinco conceitos a partir das quais os projetos podem ser melhorados. São eles: Comunicação, Simplicidade, FeedBack, Coragem e Respeito.
  • 6.
  • 7.
  • 8.
    Princípios básicos • Feedbackrápido: Quanto mais demorado o retorno, menor o aprendizado produzido por ele. • Simplicidade assumida: Desenvolver a solução mais simples que possa funcionar. Não construir complexidade desnecessária. • Mudança incremental: Grandes mudanças tendem a não funcionar: os problemas são normalmente resolvidos com uma série de pequenas mudanças naquilo que faz diferença. • Aceitar mudanças: A mudança é inevitável. Ao invés de combater a mudança, aceita-la como normal e saudável para o projeto. • Trabalho de qualidade: Se as pessoas que estão no projeto não gostam da qualidade do trabalho que estão fazendo, a tendência do projeto e fracassar.
  • 9.
    Práticas de ProgramaçãoExtrema • Planejamento (Jogo de Planejamento - Planning Game): 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. • Fases pequenas (Small Releases): 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. A S P R I N C I P A I S
  • 10.
    Práticas de ProgramaçãoExtrema • Testes de Aceitação (Customer Tests): São testes construídos pelo cliente e conjunto de analistas e testadores, para aceitar um determinado requisito do sistema. • Reuniões em pé (Stand-up Meeting): 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. • Padronização do Código (Coding Standards): 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. A S P R I N C I P A I S (Continuação...)
  • 11.
    Práticas de ProgramaçãoExtrema • Metáfora (Metaphor): Procura facilitar a comunicação com o cliente, entendendo a realidade dele. É preciso traduzir as palavras do cliente para o significado que ele espera dentro do projeto. • Semana de 40 horas (Sustainable Pace): Trabalhar com qualidade, buscando ter ritmo de trabalho saudável (40 horas/semana, 8 horas/dia), sem horas extras, exeto 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. A S P R I N C I P A I S (Continuação...)
  • 12.
  • 13.
    Concluindo • Estando cientede 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. • Constatamos também que o que garante o sucesso de um projeto não é somente a adoção de uma metodologia comprovadamente eficaz, a adaptação ou a mesclagem de várias delas, mas sim a incorporação integral nas rotinas de desenvolvimento por parte da equipe e a crença de que tais princípios, valores e práticas terão o resultado esperado no final do projeto.
  • 14.
    PERGUNTAS? • Espaço abertopara debate, opiniões e dúvidas sobre Extreme Programming [XP] • Blog: www.ProfDanielBrandao.wordpress.com • E-mail: professorDanielBrandao@gmail.com