SlideShare una empresa de Scribd logo
1 de 14
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

Más contenido relacionado

La actualidad más candente

Seminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XPSeminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XPLays Lopes
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de ScrumLuiz Duarte
 
Processo de certificação CMMI
Processo de certificação CMMIProcesso de certificação CMMI
Processo de certificação CMMIthomasdacosta
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Gerenciamento de projetos - Iniciação
Gerenciamento de projetos - IniciaçãoGerenciamento de projetos - Iniciação
Gerenciamento de projetos - IniciaçãoPaulo Junior
 
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoesGerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoesJucioliver
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 

La actualidad más candente (20)

Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
eXtreme Programming (XP)
eXtreme Programming (XP)eXtreme Programming (XP)
eXtreme Programming (XP)
 
Seminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XPSeminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XP
 
Scrum
ScrumScrum
Scrum
 
Fundamentos do java
Fundamentos do javaFundamentos do java
Fundamentos do java
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de Scrum
 
Aula- Virtualização
Aula- VirtualizaçãoAula- Virtualização
Aula- Virtualização
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Processo de certificação CMMI
Processo de certificação CMMIProcesso de certificação CMMI
Processo de certificação CMMI
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Gerenciamento de projetos - Iniciação
Gerenciamento de projetos - IniciaçãoGerenciamento de projetos - Iniciação
Gerenciamento de projetos - Iniciação
 
Treinamento em gestão de projetos
Treinamento em gestão de projetosTreinamento em gestão de projetos
Treinamento em gestão de projetos
 
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoesGerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
 
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
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Kanban
KanbanKanban
Kanban
 
Scrum
ScrumScrum
Scrum
 

Destacado

Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Conhecendo o eXtreme Programming
Conhecendo o eXtreme ProgrammingConhecendo o eXtreme Programming
Conhecendo o eXtreme ProgrammingDaniel Wildt
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringDaniel Brandão
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosDaniel Brandão
 
eXtreme Programming (xp)
eXtreme Programming (xp)eXtreme Programming (xp)
eXtreme Programming (xp)Renato Pina
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoDaniel Brandão
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasDaniel Brandão
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIDaniel Brandão
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosDaniel Brandão
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisDaniel Brandão
 
Desenvolvimento Ágil de Software com Extreme Programming
Desenvolvimento Ágil de Software com Extreme ProgrammingDesenvolvimento Ágil de Software com Extreme Programming
Desenvolvimento Ágil de Software com Extreme Programmingluizeof
 
Práticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingPráticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingMorvana Bonin
 

Destacado (20)

Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Conhecendo o eXtreme Programming
Conhecendo o eXtreme ProgrammingConhecendo o eXtreme Programming
Conhecendo o eXtreme Programming
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
eXtreme Programming (xp)
eXtreme Programming (xp)eXtreme Programming (xp)
eXtreme Programming (xp)
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, Informação
 
Tipos de dados em MySQL
Tipos de dados em MySQLTipos de dados em MySQL
Tipos de dados em MySQL
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SI
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
Desenvolvimento Ágil de Software com Extreme Programming
Desenvolvimento Ágil de Software com Extreme ProgrammingDesenvolvimento Ágil de Software com Extreme Programming
Desenvolvimento Ágil de Software com Extreme Programming
 
Práticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingPráticas Jedi eXtreme Programming
Práticas Jedi eXtreme Programming
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Fazendo acontecer com Scrum e a Filosofia Ágil.
Fazendo acontecer com Scrum e a Filosofia Ágil.Fazendo acontecer com Scrum e a Filosofia Ágil.
Fazendo acontecer com Scrum e a Filosofia Ágil.
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 

Similar a Extreme programming (xp) - Resumo

Métodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de SoftwareMétodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de Softwarealexandre_malaquias
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMatheus Costa
 
Leds zeppellin infraestrutura de apoio ao desenvolvimento
Leds zeppellin   infraestrutura de apoio ao desenvolvimentoLeds zeppellin   infraestrutura de apoio ao desenvolvimento
Leds zeppellin infraestrutura de apoio ao desenvolvimentoledsifes
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoJerry Medeiros
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 
Extreming Programming XP
Extreming Programming XPExtreming Programming XP
Extreming Programming XPGabriel Galdino
 
Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2Edinaldo Mendes
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3  -  desenvolvimento ágilEs   capítulo 3  -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágilFelipe Oliveira
 
Engenharia de Software - Unimep/Pronatec - Aula 16
Engenharia de Software - Unimep/Pronatec - Aula 16Engenharia de Software - Unimep/Pronatec - Aula 16
Engenharia de Software - Unimep/Pronatec - Aula 16André Phillip Bertoletti
 
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...Rosa Sampaio
 
Scrum | Estimativa ágil | Apresentação para QA | Desenvolvedores | e para o...
Scrum | Estimativa ágil | Apresentação para  QA | Desenvolvedores  | e para o...Scrum | Estimativa ágil | Apresentação para  QA | Desenvolvedores  | e para o...
Scrum | Estimativa ágil | Apresentação para QA | Desenvolvedores | e para o...Rosa Sampaio
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
Apostila xp programação ágil
Apostila xp   programação ágilApostila xp   programação ágil
Apostila xp programação ágilDaniel Brandão
 

Similar a Extreme programming (xp) - Resumo (20)

Trabalho xp
Trabalho xpTrabalho xp
Trabalho xp
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Métodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de SoftwareMétodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de Software
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Agile + Scrum - Mindset e conceitos
Agile + Scrum -  Mindset e conceitosAgile + Scrum -  Mindset e conceitos
Agile + Scrum - Mindset e conceitos
 
Leds zeppellin infraestrutura de apoio ao desenvolvimento
Leds zeppellin   infraestrutura de apoio ao desenvolvimentoLeds zeppellin   infraestrutura de apoio ao desenvolvimento
Leds zeppellin infraestrutura de apoio ao desenvolvimento
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de Desenvolvimento
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Extreming Programming XP
Extreming Programming XPExtreming Programming XP
Extreming Programming XP
 
Metodos ageis
Metodos ageisMetodos ageis
Metodos ageis
 
Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3  -  desenvolvimento ágilEs   capítulo 3  -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágil
 
Engenharia de Software - Unimep/Pronatec - Aula 16
Engenharia de Software - Unimep/Pronatec - Aula 16Engenharia de Software - Unimep/Pronatec - Aula 16
Engenharia de Software - Unimep/Pronatec - Aula 16
 
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
 
Scrum | Estimativa ágil | Apresentação para QA | Desenvolvedores | e para o...
Scrum | Estimativa ágil | Apresentação para  QA | Desenvolvedores  | e para o...Scrum | Estimativa ágil | Apresentação para  QA | Desenvolvedores  | e para o...
Scrum | Estimativa ágil | Apresentação para QA | Desenvolvedores | e para o...
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de Software
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Apostila xp programação ágil
Apostila xp   programação ágilApostila xp   programação ágil
Apostila xp programação ágil
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 

Más de Daniel Brandão

Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto WordDaniel Brandão
 
CSS - Módulo Básico de WEB
CSS - Módulo Básico de WEBCSS - Módulo Básico de WEB
CSS - Módulo Básico de WEBDaniel Brandão
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoDaniel Brandão
 
Introducao a Programacao Web - HTML
Introducao a Programacao Web - HTMLIntroducao a Programacao Web - HTML
Introducao a Programacao Web - HTMLDaniel Brandão
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes IIDaniel Brandão
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redesDaniel Brandão
 
Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Daniel Brandão
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de DadosDaniel Brandão
 
Assistente de programação visual gráfica
Assistente de programação visual gráficaAssistente de programação visual gráfica
Assistente de programação visual gráficaDaniel Brandão
 
Logotipos e seus significados
Logotipos e seus significadosLogotipos e seus significados
Logotipos e seus significadosDaniel Brandão
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Daniel Brandão
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionaisDaniel Brandão
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobileDaniel Brandão
 
Protocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCPProtocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCPDaniel Brandão
 

Más de Daniel Brandão (20)

Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto Word
 
CSS - Módulo Básico de WEB
CSS - Módulo Básico de WEBCSS - Módulo Básico de WEB
CSS - Módulo Básico de WEB
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a Educação
 
Introducao a Programacao Web - HTML
Introducao a Programacao Web - HTMLIntroducao a Programacao Web - HTML
Introducao a Programacao Web - HTML
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes II
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
 
Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
Painél semântico
Painél semânticoPainél semântico
Painél semântico
 
Modelo de briefing
Modelo de briefingModelo de briefing
Modelo de briefing
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de Dados
 
Assistente de programação visual gráfica
Assistente de programação visual gráficaAssistente de programação visual gráfica
Assistente de programação visual gráfica
 
Logotipos e seus significados
Logotipos e seus significadosLogotipos e seus significados
Logotipos e seus significados
 
Registros no windows 7
Registros no windows 7Registros no windows 7
Registros no windows 7
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5
 
Introdução à Web
Introdução à WebIntrodução à Web
Introdução à Web
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionais
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobile
 
Protocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCPProtocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCP
 
REDES: Camada física
REDES: Camada físicaREDES: Camada física
REDES: Camada física
 

Extreme programming (xp) - Resumo

  • 1. eXtreme Programming (XP) Desenvolvimento ágil INSTITUTO FEDERAL 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 • 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.
  • 8. 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.
  • 9. 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
  • 10. 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...)
  • 11. 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...)
  • 13. 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.
  • 14. 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