SlideShare une entreprise Scribd logo
1  sur  11
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
Programação Ágil – Extreme Programming (XP)
2
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
Sumário
Introdução .................................................................................................................................... 3
1. Programação Ágil – Extreme Programming [XP]................................................................. 4
1.1 Criação .......................................................................................................................... 4
1.2 Metodologia ................................................................................................................. 5
1.3 Princípios básicos.......................................................................................................... 6
2. Práticas de programação...................................................................................................... 6
3. Ciclo de Vida ......................................................................................................................... 9
Conclusão.................................................................................................................................... 10
Referências: ................................................................................................................................ 11
3
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
Introdução
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. A
evolução de softwares de computadores precisa superar metas para poder atingir o
objetivo deste mercado globalizado. Muito capital tem sido investido para esta
evolução, o processo de produção de desenvolvimento de software normalmente
envolve riscos, como o atraso no cronograma, mudanças nos requisitos, saída de um
importante membro da equipe de desenvolvimento, alta taxa de defeitos, sistemas
tornando-se obsoletos, projetos cancelados, devido à concorrência, dentre outros.
Indo de encontro a este cenário que surgiu 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. A seguir, iremos abordar noções de programação ágil, através de métodos
que simplificam e regulamentam o desenvolvimento de softwares para computadores.
Nosso foco será o Extreme Programming (XP), que se trata de 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. Como um tipo de
desenvolvimento ágil de software, defende "releases" frequentes em ciclos curtos de
desenvolvimento, que se destina a melhorar a produtividade e introduzir pontos de
verificação onde novos requisitos do cliente podem ser adotados.
4
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
1. Programação Ágil
Com a evolução da tecnologia e a transformação da engenharia de software, nasce um
grande problema nos projetos de sistemas: as coisas mudam. E com essa mudança,
viu-se a necessidade de um processo que evolua junto com os requisitos do sistema, e
desta ideia nasceram os Métodos Ágeis.
Muitos acham que ser ÁGIL é ser rápido, mas a busca por uma solução em softwares
não busca necessariamente rapidez, e sim um sistema ADAPTATIVO, que permita
mudanças ao longo do processo de desenvolvimento. Como todo método,
encontramos vantagens e desvantagens em seu processo. Os adeptos a este tipo de
programação apontam como vantagem o fato de não ter que testar tanto um
programa antes de disponibiliza-lo para utilização do usuário final. Com XP, um projeto
de desenvolvimento de aplicativo é realizado em pequenos incrementos. Cada etapa,
abordada separadamente em um período de tempo muito curto, complementa o
aplicativo e representa uma parte completa da funcionalidade. 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.
Críticos observaram várias desvantagens potenciais, incluindo problemas com
requisitos instáveis, sem compromissos documentados de conflitos de usuários, e a
falta de uma especificação de projeto total ou documentação.
1.1 - 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. Ele possui muitas diferenças em relação a outros modelos, podendo ser
aplicado a projetos de alto risco e com requisitos dinâmicos. 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 quatro lemas
adotados por seus seguidores, que correspondem a cinco valores a partir das quais os
projetos podem ser melhorados. São eles: Comunicação, Simplicidade, FeedBack,
Coragem e Respeito.
5
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
1.2 – Metodologia
Mesmo com todos seus prós, o XP não deve ser aplicado a qualquer tipo de projeto. O
grupo de desenvolvedores deve formar uma equipe de 2 a 10 integrantes, que devem
estar por dentro de todas as fases do desenvolvimento. É necessário realizar vários
testes, às vezes, alterar o projeto em decorrência destes. A equipe tem de ser bastante
interessada e pró-ativa, para assegurar a alta produtividade, e o cliente deve estar
sempre disponível para tirar dúvidas e tomar decisões em relação ao projeto.
Seguindo os requisitos básicos, o XP poderá trazer inúmeros benefícios ao mercado, de
forma que o processo de desenvolvimento se torne mais ágil e flexível. Um desses
benefícios é a agilidade no Planejamento (Planning Games) de não definir uma
especificação completa e formal dos requisitos, ao contrário das metodologias
tradicionais. Outro é a produção de sistemas simples que atendam aos atuais
requisitos, não tentando antecipar o futuro e permitindo atualizações frequentes em
ciclos bastante curtos. Dentre as
variáveis de controle em projetos
(Custo, Tempo, Escopo e
Qualidade) há um foco explicito
em escopo. Para isto recomenda-
se a priorização de
funcionalidades que representam
maior valor possível para o
negócio. Desta forma, caso seja
necessário a diminuição do escopo, as funcionalidades menos valiosos serão adiadas
ou canceladas do projeto.
A comunicação com o cliente, no XP, mostra-se mais intensa que nos métodos
tradicionais, devendo o cliente estar sempre disponível para tirar as dúvidas, rever
requisitos e atribuir prioridades, utilizando-se de sistemas de nomes, em vez de termos
técnicos para facilitar a comunicação. Nesse jogo, todos devem ter seus papéis bem
definidos. O código deve estar padronizado, para que todos na equipe possam
entender o que está sendo escrito e possa ser validado durante todo o
6
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
desenvolvimento, tanto pelos desenvolvedores quanto pelos clientes, a fim de se
saber se os requisitos estão ou não sendo atendidos.
1.3 – Princípios básicos
Com o modelo XP sendo utilizado amplamente no mercado, cabe às universidades a
tarefa de propagar este conhecimento entre os envolvidos. A inclusão de metodologias
de desenvolvimento ágil nos currículos de referência das universidades é de grande
valia para a indústria, que busca maior produtividade com a utilização do XP, mas que
esbarra na falta de desenvolvedores qualificados para aplicar tais metodologias.
E para que isto se torne realidade, além de abraçar a causa, nossas escolas de nível
superior precisam ensinar desde já os conceitos elementares da Programação Extrema
e Ágil. Veremos a seguir os principais conceitos da XP:
- 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.
2. – Práticas de Programação Extrema
Em suma, o projeto deve seguir passos bem definidos para não haver perda de
nenhum principio elementar, seja tempo, custo, desgaste da equipe ou a perda total
do projeto. Para seguir a linha de forma cronológica, deve-se adotar as seguintes
práticas:
7
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
• 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. Como o escopo é reavaliado semanalmente, o projeto é regido por um contrato de
escopo negociável, que difere significativamente das formas tradicionais de contratação de
projetos de software. Ao final de cada semana, o cliente recebe novas funcionalidades,
completamente testadas e prontas para serem postas em produção.
• 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.
• 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 Codigo (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;
• Desenvolvimento Orientado a Testes (Test Driven Development): Primeiro crie os testes
unitários (unit tests) e depois crie o código para que os testes funcionem. Esta abordagem
é complexa no início, pois vai contra o processo de desenvolvimento de muitos anos. Só
que os testes unitários são essenciais para que a qualidade do projeto seja mantida;
8
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
• Metáfora (Metaphor): Procura facilitar a comunicação com o cliente, entendendo a
realidade dele. O conceito de rápido para um cliente de um sistema jurídico é diferente
para um programador experiente em controlar comunicação em sistemas em tempo real,
como controle de tráfego aéreo. É preciso traduzir as palavras do cliente para o significado
que ele espera dentro do projeto.
• Design Simples (Simple Design): Simplicidade é um princípio da XP. Projeto simples
significa dizer que caso o cliente tenha pedido que na primeira versão apenas o usuário
"teste" possa entrar no sistema com a senha "123" e assim ter acesso a todo o sistema,
você vai fazer o código exato para que esta funcionalidade seja implementada, sem se
preocupar com sistemas de autenticação e restrições de acesso. Um erro comum ao
adotar essa prática é a confusão por parte dos programadores de código simples e
código fácil. Nem sempre o código mais fácil de ser desenvolvido levará a solução mais
simples por parte de projeto. Esse entendimento é fundamental para o bom andamento do
XP. Código fácil deve ser identificado e substituído por código simples.
• Time Coeso (Whole Team): A equipe de desenvolvimento é formada por pessoas
engajadas e de forma multidisciplinar (no sentido de incluir pessoas com cada uma das
habilidades necessárias para o 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. Horas extras são
permitidas quando trouxerem produtividade para a execução do projeto. Outra prática que
se verifica neste processo é a prática de trabalho energizado, onde se busca trabalho
motivado sempre. Para isto o ambiente de trabalho e a motivação da equipe devem estar
sempre em harmonia.
• Propriedade Coletiva (Collective Ownership): O código fonte não tem dono e ninguém
precisa solicitar permissão para poder modificar o mesmo. O objetivo com isto é fazer a
equipe conhecer todas as partes do sistema.
• Programação Pareada (Pair Programming): é a programação em par/dupla num
único computador. Geralmente a dupla é formada por um iniciante na linguagem e outra
pessoa funcionando como um instrutor. Como é apenas um computador, o novato é que
fica à frente fazendo a codificação, e o instrutor acompanha ajudando a desenvolver suas
habilidades. Desta forma o programa sempre é revisto por duas pessoas, evitando e
diminuindo assim a possibilidade de defeitos. Com isto busca-se sempre a evolução da
equipe, melhorando a qualidade do código fonte gerado;
• Refatoração (Refactoring): É um processo que permite a melhoria continua da
programação, com o mínimo de introdução de erros e mantendo a compatibilidade com o
código já existente. Refabricar melhora a clareza (leitura) do código, divide-o em módulos
mais coesos e de maior reaproveitamento, evitando a duplicação de código-fonte;
• Integração Contínua (Continuous Integration): Sempre que produzir uma nova
funcionalidade, nunca esperar uma semana para integrar à versão atual do sistema. Isto só
aumenta a possibilidade de conflitos e a possibilidade de erros no código fonte. Integrar de
forma contínua permite saber o status real da programação.
9
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
3. Ciclo de Vida
10
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
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. 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.
11
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO
PROFESSOR: DANIEL BRANDÃO
Referências:
KUHN, Giovane Roslindo; PAMPLONA, Vitor Fernando. Apresentando XP. Encante seus
clientes com Extreme Programming.
BECK, K. – Extreme Programming Explained: enbrance change. Boston : Addison
Wesley /Longman, 1999.
TELES, Vinicius Manhães. UM ESTUDO DE CASO DA ADOÇÃO DAS PRÁTICAS E VALORES
DO EXTREME PROGRAMMING. (Dissertação de Mestrado). Disponível em:
http://www.improveit.com.br/xp/dissertacaoXP.pdf
SANTOS, Rildo. Engenharia de Software Ágil. www.extremeprogramming.org

Contenu connexe

Tendances

Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 
Conhecendo o eXtreme Programming
Conhecendo o eXtreme ProgrammingConhecendo o eXtreme Programming
Conhecendo o eXtreme ProgrammingDaniel Wildt
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalhoRuan Pozzebon
 
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
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software PressmanSimoneinfo
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaRalph Rassweiler
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme ProgrammingMilfont Consulting
 
Cap1 introd-engenharia de software
Cap1 introd-engenharia de softwareCap1 introd-engenharia de software
Cap1 introd-engenharia de softwareAdilson Nascimento
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 
Introdução: eXtreme Programming
Introdução: eXtreme ProgrammingIntrodução: eXtreme Programming
Introdução: eXtreme ProgrammingDenis L Presciliano
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilJaffer Veronezi
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 

Tendances (20)

Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Conhecendo o eXtreme Programming
Conhecendo o eXtreme ProgrammingConhecendo o eXtreme Programming
Conhecendo o eXtreme Programming
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
 
Aula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xpAula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xp
 
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
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
Cap1 introd-engenharia de software
Cap1 introd-engenharia de softwareCap1 introd-engenharia de software
Cap1 introd-engenharia de software
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Introdução: eXtreme Programming
Introdução: eXtreme ProgrammingIntrodução: eXtreme Programming
Introdução: eXtreme Programming
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 

En vedette

Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelDaniel Brandão
 
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
 
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
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em JavaDaniel 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
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas BásicasDaniel 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
 
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
 
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
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel 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
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Aula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaAula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaDaniel 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
 

En vedette (20)

Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em Excel
 
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
 
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
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, Informação
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas Básicas
 
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
 
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
 
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
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
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
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Aula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaAula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem Java
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5
 

Similaire à Programação Ágil XP

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
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...Luiz Lemos
 
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareO uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareEverton vitor
 
Extreming Programming XP
Extreming Programming XPExtreming Programming XP
Extreming Programming XPGabriel Galdino
 
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
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentIzabel Rodrigues
 
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
 
Aplicação das abordagens Scrum e XP
Aplicação das abordagens Scrum e XPAplicação das abordagens Scrum e XP
Aplicação das abordagens Scrum e XPs4nx
 
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREKéllyson Gonçalves da Silva
 
aplicação da metodologia de projeto
aplicação da metodologia de projetoaplicação da metodologia de projeto
aplicação da metodologia de projetogsreis
 
Aula2 - Modelagem de Sistemas Orientada a Objetos
Aula2 - Modelagem de Sistemas Orientada a ObjetosAula2 - Modelagem de Sistemas Orientada a Objetos
Aula2 - Modelagem de Sistemas Orientada a ObjetosLeandro Rezende
 
O desafio do ágil em um time de Machine Learning
O desafio do ágil em um time de Machine Learning O desafio do ágil em um time de Machine Learning
O desafio do ágil em um time de Machine Learning Jorge Improissi
 

Similaire à Programação Ágil XP (20)

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
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareO uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de software
 
Trabalho xp
Trabalho xpTrabalho xp
Trabalho xp
 
Extreming Programming XP
Extreming Programming XPExtreming Programming XP
Extreming Programming XP
 
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
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
 
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)
 
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
 
Agile + Scrum - Mindset e conceitos
Agile + Scrum -  Mindset e conceitosAgile + Scrum -  Mindset e conceitos
Agile + Scrum - Mindset e conceitos
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
 
Gerenciamento de projetos de TI
Gerenciamento de projetos de TIGerenciamento de projetos de TI
Gerenciamento de projetos de TI
 
Aplicação das abordagens Scrum e XP
Aplicação das abordagens Scrum e XPAplicação das abordagens Scrum e XP
Aplicação das abordagens Scrum e XP
 
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
 
aplicação da metodologia de projeto
aplicação da metodologia de projetoaplicação da metodologia de projeto
aplicação da metodologia de projeto
 
Aula2 - Modelagem de Sistemas Orientada a Objetos
Aula2 - Modelagem de Sistemas Orientada a ObjetosAula2 - Modelagem de Sistemas Orientada a Objetos
Aula2 - Modelagem de Sistemas Orientada a Objetos
 
O desafio do ágil em um time de Machine Learning
O desafio do ágil em um time de Machine Learning O desafio do ágil em um time de Machine Learning
O desafio do ágil em um time de Machine Learning
 

Plus 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
 
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
 

Plus 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
 
Tipos de dados em MySQL
Tipos de dados em MySQLTipos de dados em MySQL
Tipos de dados em MySQL
 
Registros no windows 7
Registros no windows 7Registros no windows 7
Registros no windows 7
 
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
 

Dernier

Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdfDemetrio Ccesa Rayme
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasCasa Ciências
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?MrciaRocha48
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfErasmo Portavoz
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileirosMary Alvarenga
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino FundamentalCartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamentalgeone480617
 
Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfpaulafernandes540558
 
Mapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfMapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfangelicass1
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASEdinardo Aguiar
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAlexandreFrana33
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 

Dernier (20)

Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de Partículas
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdf
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino FundamentalCartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
 
Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdf
 
Mapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfMapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdf
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptx
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
treinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppttreinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppt
 

Programação Ágil XP

  • 1. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO Programação Ágil – Extreme Programming (XP)
  • 2. 2 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO Sumário Introdução .................................................................................................................................... 3 1. Programação Ágil – Extreme Programming [XP]................................................................. 4 1.1 Criação .......................................................................................................................... 4 1.2 Metodologia ................................................................................................................. 5 1.3 Princípios básicos.......................................................................................................... 6 2. Práticas de programação...................................................................................................... 6 3. Ciclo de Vida ......................................................................................................................... 9 Conclusão.................................................................................................................................... 10 Referências: ................................................................................................................................ 11
  • 3. 3 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO Introdução 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. A evolução de softwares de computadores precisa superar metas para poder atingir o objetivo deste mercado globalizado. Muito capital tem sido investido para esta evolução, o processo de produção de desenvolvimento de software normalmente envolve riscos, como o atraso no cronograma, mudanças nos requisitos, saída de um importante membro da equipe de desenvolvimento, alta taxa de defeitos, sistemas tornando-se obsoletos, projetos cancelados, devido à concorrência, dentre outros. Indo de encontro a este cenário que surgiu 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. A seguir, iremos abordar noções de programação ágil, através de métodos que simplificam e regulamentam o desenvolvimento de softwares para computadores. Nosso foco será o Extreme Programming (XP), que se trata de 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. Como um tipo de desenvolvimento ágil de software, defende "releases" frequentes em ciclos curtos de desenvolvimento, que se destina a melhorar a produtividade e introduzir pontos de verificação onde novos requisitos do cliente podem ser adotados.
  • 4. 4 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO 1. Programação Ágil Com a evolução da tecnologia e a transformação da engenharia de software, nasce um grande problema nos projetos de sistemas: as coisas mudam. E com essa mudança, viu-se a necessidade de um processo que evolua junto com os requisitos do sistema, e desta ideia nasceram os Métodos Ágeis. Muitos acham que ser ÁGIL é ser rápido, mas a busca por uma solução em softwares não busca necessariamente rapidez, e sim um sistema ADAPTATIVO, que permita mudanças ao longo do processo de desenvolvimento. Como todo método, encontramos vantagens e desvantagens em seu processo. Os adeptos a este tipo de programação apontam como vantagem o fato de não ter que testar tanto um programa antes de disponibiliza-lo para utilização do usuário final. Com XP, um projeto de desenvolvimento de aplicativo é realizado em pequenos incrementos. Cada etapa, abordada separadamente em um período de tempo muito curto, complementa o aplicativo e representa uma parte completa da funcionalidade. 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. Críticos observaram várias desvantagens potenciais, incluindo problemas com requisitos instáveis, sem compromissos documentados de conflitos de usuários, e a falta de uma especificação de projeto total ou documentação. 1.1 - 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. Ele possui muitas diferenças em relação a outros modelos, podendo ser aplicado a projetos de alto risco e com requisitos dinâmicos. 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 quatro lemas adotados por seus seguidores, que correspondem a cinco valores a partir das quais os projetos podem ser melhorados. São eles: Comunicação, Simplicidade, FeedBack, Coragem e Respeito.
  • 5. 5 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO 1.2 – Metodologia Mesmo com todos seus prós, o XP não deve ser aplicado a qualquer tipo de projeto. O grupo de desenvolvedores deve formar uma equipe de 2 a 10 integrantes, que devem estar por dentro de todas as fases do desenvolvimento. É necessário realizar vários testes, às vezes, alterar o projeto em decorrência destes. A equipe tem de ser bastante interessada e pró-ativa, para assegurar a alta produtividade, e o cliente deve estar sempre disponível para tirar dúvidas e tomar decisões em relação ao projeto. Seguindo os requisitos básicos, o XP poderá trazer inúmeros benefícios ao mercado, de forma que o processo de desenvolvimento se torne mais ágil e flexível. Um desses benefícios é a agilidade no Planejamento (Planning Games) de não definir uma especificação completa e formal dos requisitos, ao contrário das metodologias tradicionais. Outro é a produção de sistemas simples que atendam aos atuais requisitos, não tentando antecipar o futuro e permitindo atualizações frequentes em ciclos bastante curtos. Dentre as variáveis de controle em projetos (Custo, Tempo, Escopo e Qualidade) há um foco explicito em escopo. Para isto recomenda- se a priorização de funcionalidades que representam maior valor possível para o negócio. Desta forma, caso seja necessário a diminuição do escopo, as funcionalidades menos valiosos serão adiadas ou canceladas do projeto. A comunicação com o cliente, no XP, mostra-se mais intensa que nos métodos tradicionais, devendo o cliente estar sempre disponível para tirar as dúvidas, rever requisitos e atribuir prioridades, utilizando-se de sistemas de nomes, em vez de termos técnicos para facilitar a comunicação. Nesse jogo, todos devem ter seus papéis bem definidos. O código deve estar padronizado, para que todos na equipe possam entender o que está sendo escrito e possa ser validado durante todo o
  • 6. 6 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO desenvolvimento, tanto pelos desenvolvedores quanto pelos clientes, a fim de se saber se os requisitos estão ou não sendo atendidos. 1.3 – Princípios básicos Com o modelo XP sendo utilizado amplamente no mercado, cabe às universidades a tarefa de propagar este conhecimento entre os envolvidos. A inclusão de metodologias de desenvolvimento ágil nos currículos de referência das universidades é de grande valia para a indústria, que busca maior produtividade com a utilização do XP, mas que esbarra na falta de desenvolvedores qualificados para aplicar tais metodologias. E para que isto se torne realidade, além de abraçar a causa, nossas escolas de nível superior precisam ensinar desde já os conceitos elementares da Programação Extrema e Ágil. Veremos a seguir os principais conceitos da XP: - 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. 2. – Práticas de Programação Extrema Em suma, o projeto deve seguir passos bem definidos para não haver perda de nenhum principio elementar, seja tempo, custo, desgaste da equipe ou a perda total do projeto. Para seguir a linha de forma cronológica, deve-se adotar as seguintes práticas:
  • 7. 7 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO • 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. Como o escopo é reavaliado semanalmente, o projeto é regido por um contrato de escopo negociável, que difere significativamente das formas tradicionais de contratação de projetos de software. Ao final de cada semana, o cliente recebe novas funcionalidades, completamente testadas e prontas para serem postas em produção. • 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. • 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 Codigo (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; • Desenvolvimento Orientado a Testes (Test Driven Development): Primeiro crie os testes unitários (unit tests) e depois crie o código para que os testes funcionem. Esta abordagem é complexa no início, pois vai contra o processo de desenvolvimento de muitos anos. Só que os testes unitários são essenciais para que a qualidade do projeto seja mantida;
  • 8. 8 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO • Metáfora (Metaphor): Procura facilitar a comunicação com o cliente, entendendo a realidade dele. O conceito de rápido para um cliente de um sistema jurídico é diferente para um programador experiente em controlar comunicação em sistemas em tempo real, como controle de tráfego aéreo. É preciso traduzir as palavras do cliente para o significado que ele espera dentro do projeto. • Design Simples (Simple Design): Simplicidade é um princípio da XP. Projeto simples significa dizer que caso o cliente tenha pedido que na primeira versão apenas o usuário "teste" possa entrar no sistema com a senha "123" e assim ter acesso a todo o sistema, você vai fazer o código exato para que esta funcionalidade seja implementada, sem se preocupar com sistemas de autenticação e restrições de acesso. Um erro comum ao adotar essa prática é a confusão por parte dos programadores de código simples e código fácil. Nem sempre o código mais fácil de ser desenvolvido levará a solução mais simples por parte de projeto. Esse entendimento é fundamental para o bom andamento do XP. Código fácil deve ser identificado e substituído por código simples. • Time Coeso (Whole Team): A equipe de desenvolvimento é formada por pessoas engajadas e de forma multidisciplinar (no sentido de incluir pessoas com cada uma das habilidades necessárias para o 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. Horas extras são permitidas quando trouxerem produtividade para a execução do projeto. Outra prática que se verifica neste processo é a prática de trabalho energizado, onde se busca trabalho motivado sempre. Para isto o ambiente de trabalho e a motivação da equipe devem estar sempre em harmonia. • Propriedade Coletiva (Collective Ownership): O código fonte não tem dono e ninguém precisa solicitar permissão para poder modificar o mesmo. O objetivo com isto é fazer a equipe conhecer todas as partes do sistema. • Programação Pareada (Pair Programming): é a programação em par/dupla num único computador. Geralmente a dupla é formada por um iniciante na linguagem e outra pessoa funcionando como um instrutor. Como é apenas um computador, o novato é que fica à frente fazendo a codificação, e o instrutor acompanha ajudando a desenvolver suas habilidades. Desta forma o programa sempre é revisto por duas pessoas, evitando e diminuindo assim a possibilidade de defeitos. Com isto busca-se sempre a evolução da equipe, melhorando a qualidade do código fonte gerado; • Refatoração (Refactoring): É um processo que permite a melhoria continua da programação, com o mínimo de introdução de erros e mantendo a compatibilidade com o código já existente. Refabricar melhora a clareza (leitura) do código, divide-o em módulos mais coesos e de maior reaproveitamento, evitando a duplicação de código-fonte; • Integração Contínua (Continuous Integration): Sempre que produzir uma nova funcionalidade, nunca esperar uma semana para integrar à versão atual do sistema. Isto só aumenta a possibilidade de conflitos e a possibilidade de erros no código fonte. Integrar de forma contínua permite saber o status real da programação.
  • 9. 9 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO 3. Ciclo de Vida
  • 10. 10 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO 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. 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.
  • 11. 11 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE RONDÔNIA – IFRO PROFESSOR: DANIEL BRANDÃO Referências: KUHN, Giovane Roslindo; PAMPLONA, Vitor Fernando. Apresentando XP. Encante seus clientes com Extreme Programming. BECK, K. – Extreme Programming Explained: enbrance change. Boston : Addison Wesley /Longman, 1999. TELES, Vinicius Manhães. UM ESTUDO DE CASO DA ADOÇÃO DAS PRÁTICAS E VALORES DO EXTREME PROGRAMMING. (Dissertação de Mestrado). Disponível em: http://www.improveit.com.br/xp/dissertacaoXP.pdf SANTOS, Rildo. Engenharia de Software Ágil. www.extremeprogramming.org