SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
MarcosMaozinha
 
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
Adolfo Neto
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
Kelvin Wesley
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
Rafael Souza
 
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
ECRAYON Tecnologia Criativa
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
CursoSENAC
 
Conhecendo o eXtreme Programming
Conhecendo o eXtreme ProgrammingConhecendo o eXtreme Programming
Conhecendo o eXtreme Programming
Daniel Wildt
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
Ruan Pozzebon
 
Aula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xpAula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xp
Joaquim Lopes Júnior
 
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
alexandre_malaquias
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
Simoneinfo
 
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
Ralph Rassweiler
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
Milfont Consulting
 
Cap1 introd-engenharia de software
Cap1 introd-engenharia de softwareCap1 introd-engenharia de software
Cap1 introd-engenharia de software
Adilson 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 Software
Daniel Cukier
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
Claudete Florencio
 
Introdução: eXtreme Programming
Introdução: eXtreme ProgrammingIntrodução: eXtreme Programming
Introdução: eXtreme Programming
Denis L Presciliano
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
Jaffer 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 01
Franklin Matos Correia
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
Mauricio Cesar Santos da Purificação
 

Mais procurados (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
 

Destaque

Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em Excel
Daniel 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 Web
Daniel 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 Querystring
Daniel Brandão
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
Daniel Brandão
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, Informação
Daniel Brandão
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas Básicas
Daniel 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 Sistemas
Daniel 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ção
Daniel 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 Dados
Daniel 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 SI
Daniel Brandão
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
Daniel 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 Sessoes
Daniel Brandão
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
Daniel 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 Arquivos
Daniel Brandão
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
Daniel 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 Programming
Rodrigo 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ça
Daniel 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 Java
Daniel Brandão
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5
Daniel Brandão
 

Destaque (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
 

Semelhante a Apostila xp programação ágil

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
ledsifes
 
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
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
Robson Silva Espig
 
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
Everton vitor
 
Trabalho xp
Trabalho xpTrabalho xp
Trabalho xp
Gustavo Medeiros
 
Extreming Programming XP
Extreming Programming XPExtreming Programming XP
Extreming Programming XP
Gabriel 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 Ágil
Rebecca Betwel
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
Concurseiro Área de TI
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
Izabel Rodrigues
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
Fernando Palma
 
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
 
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 ...
Ivo M Michalick Vasconcelos, PMP, PMI-SP, CPCC
 
Agile + Scrum - Mindset e conceitos
Agile + Scrum -  Mindset e conceitosAgile + Scrum -  Mindset e conceitos
Agile + Scrum - Mindset e conceitos
Bruno Nunes Trassante
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
GrupoAlves - professor
 
Gerenciamento de projetos de TI
Gerenciamento de projetos de TIGerenciamento de projetos de TI
Gerenciamento de projetos de TI
Centro Universitário de João Pessoa (UNIPÊ)
 
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
s4nx
 
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
Ké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 projeto
gsreis
 
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
Leandro 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
 

Semelhante a Apostila xp programação ágil (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
 

Mais 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 Word
Daniel 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 WEB
Daniel Brandão
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a Educação
Daniel Brandão
 
Introducao a Programacao Web - HTML
Introducao a Programacao Web - HTMLIntroducao a Programacao Web - HTML
Introducao a Programacao Web - HTML
Daniel Brandão
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes II
Daniel Brandão
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
Daniel 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ão
Daniel Brandão
 
Painél semântico
Painél semânticoPainél semântico
Painél semântico
Daniel Brandão
 
Modelo de briefing
Modelo de briefingModelo de briefing
Modelo de briefing
Daniel Brandão
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de Dados
Daniel 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áfica
Daniel Brandão
 
Logotipos e seus significados
Logotipos e seus significadosLogotipos e seus significados
Logotipos e seus significados
Daniel Brandão
 
Tipos de dados em MySQL
Tipos de dados em MySQLTipos de dados em MySQL
Tipos de dados em MySQL
Daniel Brandão
 
Registros no windows 7
Registros no windows 7Registros no windows 7
Registros no windows 7
Daniel Brandão
 
Introdução à Web
Introdução à WebIntrodução à Web
Introdução à Web
Daniel Brandão
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionais
Daniel Brandão
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobile
Daniel Brandão
 
Protocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCPProtocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCP
Daniel Brandão
 
REDES: Camada física
REDES: Camada físicaREDES: Camada física
REDES: Camada física
Daniel Brandão
 

Mais 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
 

Último

Administração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptxAdministração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
helenawaya9
 
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdfAPRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
portaladministradores
 
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdfEscola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Falcão Brasil
 
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
Falcão Brasil
 
Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024
Bibliotecas Escolares AEIDH
 
17 Coisas que seus alunos deveriam saber sobre TRI para melhorar sua nota no ...
17 Coisas que seus alunos deveriam saber sobre TRI para melhorar sua nota no ...17 Coisas que seus alunos deveriam saber sobre TRI para melhorar sua nota no ...
17 Coisas que seus alunos deveriam saber sobre TRI para melhorar sua nota no ...
Estuda.com
 
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdfA Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
Falcão Brasil
 
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
principeandregalli
 
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Falcão Brasil
 
Plano_Aula_01_Introdução_com_Circuito_Piscar_LED
Plano_Aula_01_Introdução_com_Circuito_Piscar_LEDPlano_Aula_01_Introdução_com_Circuito_Piscar_LED
Plano_Aula_01_Introdução_com_Circuito_Piscar_LED
luggio9854
 
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptxSlides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
LuizHenriquedeAlmeid6
 
Desafio matemático - multiplicação e divisão.
Desafio matemático -  multiplicação e divisão.Desafio matemático -  multiplicação e divisão.
Desafio matemático - multiplicação e divisão.
Mary Alvarenga
 
UFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdfUFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdf
Manuais Formação
 
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdfOs Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Falcão Brasil
 
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.pptAnálise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Falcão Brasil
 
Organograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdfOrganograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdf
Falcão Brasil
 
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIALA GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
ArapiracaNoticiasFat
 
Relatório do Ministério da Defesa (MD) 2017.pdf
Relatório do Ministério da Defesa (MD) 2017.pdfRelatório do Ministério da Defesa (MD) 2017.pdf
Relatório do Ministério da Defesa (MD) 2017.pdf
Falcão Brasil
 

Último (20)

Administração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptxAdministração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
 
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdfAPRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
 
Elogio da Saudade .
Elogio da Saudade                          .Elogio da Saudade                          .
Elogio da Saudade .
 
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdfEscola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
 
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
 
Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024
 
VIAGEM AO PASSADO -
VIAGEM AO PASSADO                        -VIAGEM AO PASSADO                        -
VIAGEM AO PASSADO -
 
17 Coisas que seus alunos deveriam saber sobre TRI para melhorar sua nota no ...
17 Coisas que seus alunos deveriam saber sobre TRI para melhorar sua nota no ...17 Coisas que seus alunos deveriam saber sobre TRI para melhorar sua nota no ...
17 Coisas que seus alunos deveriam saber sobre TRI para melhorar sua nota no ...
 
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdfA Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
 
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
 
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
 
Plano_Aula_01_Introdução_com_Circuito_Piscar_LED
Plano_Aula_01_Introdução_com_Circuito_Piscar_LEDPlano_Aula_01_Introdução_com_Circuito_Piscar_LED
Plano_Aula_01_Introdução_com_Circuito_Piscar_LED
 
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptxSlides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
 
Desafio matemático - multiplicação e divisão.
Desafio matemático -  multiplicação e divisão.Desafio matemático -  multiplicação e divisão.
Desafio matemático - multiplicação e divisão.
 
UFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdfUFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdf
 
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdfOs Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdf
 
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.pptAnálise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
 
Organograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdfOrganograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdf
 
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIALA GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
 
Relatório do Ministério da Defesa (MD) 2017.pdf
Relatório do Ministério da Defesa (MD) 2017.pdfRelatório do Ministério da Defesa (MD) 2017.pdf
Relatório do Ministério da Defesa (MD) 2017.pdf
 

Apostila xp programação ágil

  • 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