Buscar

MÉTODO ÁGIL XP (EXTREME PROGRAMMING)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 186 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 186 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 186 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ESTADO DE MATO GROSSO 
SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA 
UNIVERSIDADE DO ESTADO DE MATO GROSSO 
CAMPUS UNIVERSITÁRIO DE BARRA DO BUGRES 
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO 
Acadêmicos: 
Anderson Mendes 
Renato R. dos Santos; 
Igor 
Frank 
MÉTODO ÁGIL XP (EXTREME PROGRAMMING) 
Barra do Bugres, MT 
2015 
VISÃO GERAL 
É considerada uma metodologia “leve” de 
desenvolvimento de software. classificada 
com “sistema de práticas que a 
comunidade de desenvolvedores de 
software 
3 
VISÃO GERAL 
vem evoluindo para resolver os problemas 
de entregar software de qualidade 
rapidamente, e então alcançar as 
necessidades de negócio que sempre 
mudam”. 
 
4 
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. 
5 
INTRODUÇÃO 
Para isso, muito capital tem sido 
empregado no desenvolvimento de 
soluções informatizadas que deem 
agilidade a seu processo de produção e, 
consequentemente, gerem um saldo 
positivo dentro do mercado. 
6 
INTRODUÇÃO 
Porém, o processo de produção de 
desenvolvimento de software 
normalmente envolve riscos. (Fatores 
ambientais, externos e internos (partes 
interessadas)). 
7 
Porém, 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 à ocorrência desses fatores 
de risco, dentre outros. 
8 
Diante deste cenário, os métodos 
utilizados para o desenvolvimento de 
software vêm ganhando importância e 
gerando interesse tanto na comunidade de 
desenvolvedores quanto na área 
acadêmica. 
 
9 
METODOLOGIAS ÁGEIS 
Segundo Sommerville (2007), um método de 
desenvolvimento de software é um conjunto de 
atividades que auxiliam a produção de software. 
O resultado dessas atividades é um produto que 
reflete a forma como todo processo foi 
conduzido. 
10 
Na década de 1990, problemas com projetos e a 
insatisfação com as abordagens pesadas de 
desenvolvimento de software levaram alguns 
desenvolvedores a propor novos métodos. 
 
11 
O termo “Metodologias Ágeis” tornou-se 
popular quando dezessete especialistas em 
desenvolvimento de software, representando os 
métodos Extreme Programming (XP), Scrum, 
Feature Driven Development FDD, entre outros, 
12 
estabeleceram princípios comuns compartilhados por 
todos. O resultado foi a criação da Aliança Ágil (Agile 
Alliance) {Aliança Ágil é uma organização sem fins 
lucrativos que procura promover o conhecimento e 
discussão sobre todas as metodologias ágeis (FOWLER, 
2003).} e o estabelecimento do “Manifesto Ágil” (Agile 
Manifesto), no ano de 2004. 
13 
METODOLOGIAS ÁGEIS 
As metodologias ágeis variam em práticas e 
ênfases, porém, compartilham de algumas 
características, tais como: desenvolvimento 
iterativo e incremental, comunicação e redução 
de produtos intermediários, documentação 
extensiva (KOSCIANSKI E SOARES, 2006). 
 
14 
PRINCÍPIOS DOS MÉTODOS ÁGEIS 
15 
PRINCÍPIO DESCRIÇÃO 
Envolvimento 
do Cliente 
Clientes devem ser profundamente 
envolvidos no processo de 
desenvolvimento. Seu papel é fornecer e 
priorizar novos requisitos do sistema e 
avaliar as iterações do sistema. 
Entrega 
Incremental 
O software é desenvolvido em incrementos 
e o cliente especifica os requisitos a serem 
incluídos em cada incremento. 
PRINCÍPIOS DOS MÉTODOS ÁGEIS 
Foco nas pessoas 
Não em processos 
As habilidades da equipe de 
desenvolvimento devem ser 
reconhecidas e exploradas. Os 
membros da equipe devem devolver 
suas próprias maneiras de trabalhar. 
Aceitar Mudanças Ter em mente que os requisitos do 
sistema vão mudar, por isso projete o 
sistema para acomodar essas 
mudanças. 
16 
PRINCÍPIOS DOS MÉTODOS ÁGEIS 
Manter a 
simplicidade 
Concentrar-se na simplicidade do 
software que está sendo 
desenvolvido e no processo de 
desenvolvimento. Sempre que 
possível, eliminar a complexidade do 
sistema. 
17 
Fonte: Sommerville (2007) 
Koscianski e Soares (2006) descrevem os conceitos-chave do “Manifesto Ágil” da 
seguinte forma: (1) Indivíduos e interações ao invés de processos e ferramentas; (2) 
Software executável ao invés de documentação; (3) Colaboração do cliente ao invés de 
negociação de contratos; (4) Respostas rápidas a mudanças ao invés de seguir planos. 
Segundo os autores, o “Manifesto Ágil” não rejeita os processos e ferramentas, a 
documentação, a negociação de contratos ou o planejamento, mas simplesmente 
mostra que eles têm importância secundária quando comparados com os elementos 
humanos do projeto (desenvolvedores e clientes) e a rápida disponibilização de um 
software executável, de acordo com a necessidade do cliente. 
18 
Segundo Sommerville (2007), ao utilizar uma metodologia ágil, um representante dos 
stakeholders deve estar disponível quase o tempo todo. Isto se torna um problema 
principalmente se houver muitos stakeholders com prioridades distintas. A motivação 
para a agilidade reside nos seguintes tópicos: (1) Clientes ou usuários não têm certeza 
do que querem; (2) Eles têm dificuldade de dizer que querem e o que sabem; (3) 
Detalhes do que eles precisam serão revelados durante o desenvolvimento; (4) Os 
detalhes são complexos para os usuários; (5) Como eles veem o desenvolvimento do 
produto, eles mudam seus pensamentos; e (6) Forças externas (competidor, produto, 
serviço, entre outros) podem levar a modificações. 
19 
METODOLOGIAS ÁGEIS 
Pressman (2006) relata que a “Agilidade” 
tornou-se uma palavra mágica quando se 
descreve um processo moderno de 
software, tudo deve ser ágil. 
20 
METODOLOGIAS ÁGEIS 
 
21 
METODOLOGIAS ÁGEIS 
Uma equipe ágil é uma equipe capaz de 
responder adequadamente a modificações 
que podem ser aplicadas a tudo que envolve o 
desenvolvimento de software, tais como: 
regras de negócios, membros da equipe, 
tecnologias; entre outras. 
 
22 
24 
METODOLOGIAS ÁGEIS 
“Não existe solução mágica para 
problemas complexos.” 
“A questão não é documentar, é 
entender.” 
25 
METODOLOGIAS ÁGEIS 
“Não existem melhores práticas. Existem 
boas práticas para determinadas 
situações.” 
“Entregue hoje. Adapte amanhã.“ 
O QUE MUDA? 
• MÉTODOS TRADICIONAIS 
I. O planejamento deve propiciar a prevenção 
de mudanças 
• MÉTODOS ÁGEIS 
I. A mudança é incorporada ao escopo 
26 
O QUE MUDA? 
• RAZÕES 
I. Necessidades de negócio 
II. Novas oportunidades 
III. Mudanças de legislação 
IV. Requisitos incompletos 
27 
MUDANÇA DE POSTURA 
 
28 
MUDANÇA DE POSTURA 
• Adaptação é uma resposta à mudança. 
• Equipes auto gerenciáveis não são 
equipes sem liderança, são equipes com 
outro estilo de liderança. 
 
29 
PROCESSO UNIFICADO 
O Processo Unificado (PU) surgiu para realizar o 
desenvolvimento de software visando a 
construção de sistemas orientados a objetos. 
30 
PROCESSO UNIFICADO 
Este modelo de desenvolvimento de software é 
iterativo e adaptativo, desta forma consegue 
produzir um sistema de grande porte como se 
fossem vários pequenos sistemas, o que diminui 
o risco do projeto. 
 
31 
 
32 
FUNCIONAMENTO 
Ele é baseado em componentes,o que significa o 
sistema ser construído a partir de componentes de 
software interconectados via interfaces muito bem 
definidas. O processo unificado utiliza a Linguagem 
de Modelagem Unificada (Unified Modeling 
Language – UML) no preparo de todos os artefatos 
do sistema. 
33 
DO PONTO DE VISTA FUNCIONAL 
A verdadeira preocupação que devemos ter ao 
lidar com metodologia/processo de 
desenvolvimento de software que é o pilar 
Pessoas/Boas Práticas/Ferramentas, ou seja, ao 
invés de ficarmos dizendo que uma é melhor que a 
outra, devemos nos 
34 
DO PONTO DE VISTA FUNCIONAL 
atentar que sem pessoas treinadas para conhecer, 
praticar e respirar o processo, sem pessoas que 
utilizam de boas práticas de desenvolvimento de 
software e sem uma equipe com ferramentas 
disponíveis que apoie o processo, não adiantará de 
nada e continuaremos 
35 
DO PONTO DE VISTA FUNCIONAL 
a bater cabeça contra a parede em cada projeto. E 
com isso todos nós nos veremos fazendo a mesma 
pergunta de sempre: Processo Unificado ou 
Processo Ágil, RUP ou XP, fazer análise ou não, 
modelar ou não, ser ou não ser. Essa com certeza é 
a grande questão dos dias de hoje para nós 
desenvolvedores de software. 
 
36 
DO PONTO DE VISTA FUNCIONAL 
Pilar do Desenvolvimento de Software 
37 
DO PONTO DE VISTA FUNCIONAL 
conclusão que o melhor dos mundos não está 
em seguir somente um processo unificado ou 
somente um processo ágil, até mesmo porque 
podemos ser ágil sem usar XP ou Scrum e 
usando um RUP. Podemos tanto usar um RUP 
38 
DO PONTO DE VISTA FUNCIONAL 
e customizá-lo para a necessidade de um 
projeto, podemos usar um XP/Scrum 
dependendo da situação, como também 
podemos usar um pouco de cada, utilizando as 
partes onde cada um é mais forte em 
determinadas situações. 
39 
DO PONTO DE VISTA FUNCIONAL 
No final das contas o mais importante são as 
pessoas dentro do processo e as práticas 
utilizadas para chegar ao objetivo que é o 
software funcionando e o cliente feliz da vida. 
 
40 
DO PONTO DE VISTA FUNCIONAL 
 
41 
CENÁRIO DO EXTREME 
PROGRAMMING (XP) 
Contudo, além de os métodos tradicionais de 
desenvolvimento de software terem o foco 
voltado para a documentação, necessitam de 
requerimentos completos e fixos, o que os 
torna uma metodologia pesada e não flexível. 
42 
CENÁRIO DO EXTREME 
PROGRAMMING (XP) 
Foi contrapondo 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. 
 
43 
EXTREME PROGRAMMING 
(Aplicabilidade) 
O Extreme Programming é um modelo de 
desenvolvimento de software, criado em 1996, 
Ela surgiu a partir de ideias de Kent Bech e 
Ward Cunningham, no Departamento de 
Computação da montadora de carros Daimler 
Crysler. 
44 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Foi um dos primeiros a sugerir iterações curtas 
com participação intensa do usuário durante 
elas. Beck explica sua posição “extrema”, 
dizendo que se as técnicas de engenharias de 
software são boas, realiza-las todo o tempo é 
ainda melhor. 
 
45 
ENTRE AS PRÁTICAS, O XP DIZ QUE: 
• Já que testar é bom, que todos testem o 
tempo todo; 
• Já que revisão é bom, que se revise o tempo 
todo; 
• Se projetar é bom, então refatorar o tempo 
todo; 46 
• Se teste de integração é bom, então que se 
integre o tempo todo; 
• Se simplicidade é bom, desenvolva uma 
solução não apenas que funcione, mas que 
seja a mais simples possível; 
47 
• Se iterações curtas é bom, então mantenha-as 
realmente curtas; 
• Portanto, como podemos notar todas as 
coisas boas são levadas ao extremo no XP. 
48 
EXTREME PROGRAMMING 
(Aplicabilidade) 
O Extreming Programming (XP) tem muita 
semelhança com SCRUM em termos de valores 
e modelo de desenvolvimento de projetos, ou 
seja, como desenvolver projetos que possam 
abraçar as incertezas de forma mais seguras. 
49 
EXTREME PROGRAMMING 
(Aplicabilidade) 
No entanto, esses dois métodos também são 
complementares, visto que SCRUM é mais 
como um framework gerencial. O XP 
desenvolve menos esses aspectos e foca mais 
em práticas de engenharia. 
 
50 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Possui adeptos e outros que duvidam da 
sua real utilidade; 
No entanto, histórias de sucesso como a da 
grande empresa chamada Chrysler. 
53 
EXTREME PROGRAMMING 
(Aplicabilidade) 
A Chrysler possuía um sistema de folha de 
pagamento global que envolvia seus 90 mil 
empregados ao redor de todo o mundo. 
54 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Existia um sistema COBOL e converteu-se em 
Smalltalk na época. Seu planejamento inicial era 
de quatro anos (1995-1999) e isso não ocorreu. 
 
55 
Em 1996 Kent Beck e Jeffries foram contratados 
e começaram a aplicar práticas que auxiliaram a 
consolidar o que hoje é o XP. Esse projeto tem 
2.000 classes e 30.000 métodos, foi para 
produção após um ano depois da contratação de 
Beck e Jeffries. 
 
56 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Outro exemplo foi o sistema Ford Motors 
Company VCAPS System que utilizava 
métodos tradicionais e enfrentava diversos 
problemas. 
57 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Os desenvolvedores ficavam mais tempo 
consertando problemas encontrados do 
que desenvolvendo ou evoluindo o 
sistema. 
 
58 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Após isso o projeto começou a adotar 
testes automatizados, integração contínua 
e outros valores do XP. 
59 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Em menos de um ano, algo que não se 
conseguia há quatro anos, o sistema foi 
desenvolvido e evoluído constantemente 
sem maiores problemas. 
 
60 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Em grandes projetos, deve ser divididos em 
subprojetos independentes. Projetos 
longos devem ser quebrados em uma 
sequência de mini projetos auto contidos, 
com duração de uma a três semanas (BECK 
et al. 1999). 
 
61 
EXTREME PROGRAMMING 
(Aplicabilidade) 
Segundo Teles (2004), a XP é um processo de 
desenvolvimento de software apropriado para 
os seguintes projetos: (1) com requisitos vagos 
que e mudam com frequência; (2) 
Desenvolvimento de sistemas orientados a 
objeto; 
63 
EXTREME PROGRAMMING 
(Aplicabilidade) 
(3) Equipes pequenas; e (4) Desenvolvimento 
incremental. Para o autor a XP é organizada para 
assegurar que o cliente sempre receba um alto 
retorno do investimento em software. 
 
64 
• 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. 
65 
EXTREME PROGRAMMING 
(Paradigma) 
O XP muda o paradigma, onde não temos o 
medo da mudança, pois o errar é feito com um 
baixo custo. Diferente do tradicional em que se 
diz que quanto mais tarde a mudança, maiores 
são os custos, 
67 
EXTREME PROGRAMMING 
(Paradigma) 
e assim sendo nunca devemos fazer mudanças o 
XP diz que devemos sim estar constantemente 
fazendo mudanças e não devemos teme-las, 
principalmente quando seguimos os seus 
valores e assuas práticas. 
 
68 
EXTREME PROGRAMMING 
(Paradigma) 
Para conseguirmos se adaptar as mudanças o XP 
preconiza ciclos curtos que nos dá previsibilidade e 
redução de incertezas/riscos, Simplicidade e 
melhorias constantes de código (refactoring) para 
facilitar a mudança e Testes Automatizados e 
Integração Contínua para aumentar a confiança. 
69 
EXTREME PROGRAMMING: 
CONCEITOS 
XP é uma técnica revolucionária de 
desenvolvimento de software. Tais objetivos são 
alcançados através de um pequeno conjunto 
de VALORES, PRINCIPIOS E PRATICAS 
 
71 
EXTREME PROGRAMMING: 
CONCEITOS - VALORES 
Comunicação: segundo Beck “Os problemas nos 
projetos invariavelmente recaem sobre alguém 
não falando com alguém sobre algo 
importante”. 
72 
Assim, a comunicação enfatiza que devemos 
sempre estar se comunicando seja entre 
desenvolvedores ou com os clientes. 
A comunicação ajuda na eliminação de 
documentos e favorece a comunicação face a 
face. 
 
73 
XP é organizado em práticas que não podem ocorrer se não houver comunicação. De 
preferencia os clientes devem estar sempre presentes para criar Histórias de usuário e 
cliente on-site (CCC) ou ainda tirar dúvidas. Outra forma de comunicação no XP é a 
Programação em pares, onde os desenvolvedores programam num mesmo 
computador, nesse formato de programação ambos estão constantemente se 
comunicando e trocando ideias. O Jogo do planejamento (planning poker) também é 
outra forma de comunicação visto que a equipe de desenvolvimento está dando sua 
visão técnica, o cliente por sua vez está dando requisitos em pró do negocio e dando 
as prioridades. 
74 
EXTREME PROGRAMMING: 
CONCEITOS - VALORES 
Simplicidade: é tentar fazer o mais simples 
possível e caso seja necessário faremos algo 
mais complexo amanhã. 
75 
Muitas vezes algo é feito de forma completa e posteriormente não é mais 
sequer usado ou necessário. Portanto, entre os princípios temos: Qual é a 
coisa mais simples que funciona? Aqui também temos a importância do 
coach que deve estar sempre verificando se a simplicidade esta sempre sendo 
seguida nos projetos. Fazendo um paralelo entre a simplicidade e a 
comunicação conclui-se que a simplicidade faz com que temos menos a 
comunicar e de uma forma mais completa e por sua vez a comunicação faz 
com que transmitimos mais clareza e confiança para alimentar a 
simplicidade. 
 
76 
EXTREME PROGRAMMING: 
CONCEITOS - VALORES 
Feedback: é muito presente no SCRUM através 
das reuniões diárias, retrospectiva, reuniões de 
revisão do produto, etc. Feedback é o valor 
primordial dentro do desenvolvimento ágil. 
77 
O XP foi o precursor a falar em feedback e afirma que ele possibilita que o software 
evolua. O XP, como algo mais técnico que o SCRUM, diz que devemos sempre 
“Perguntar ao software, e não a um documento", uma forma de alcançar isso é 
através dos testes automatizados que permitem feedback rápido. Os teste 
automatizados respondem de forma imediata se aquilo que foi introduzido ainda esta 
funcionando. O Feedback precisa ser cedo para sabermos se estamos fazendo a coisa 
correta, precisa ser concreto perguntando diretamente ao código e precisa ser 
constante através de iterações curtas, incrementos, e releases. Aqui garantimos 
constantemente junto ao cliente se estamos fazendo certo e o prazo esta seguindo 
bem o planejado. 
 
78 
EXTREME PROGRAMMING: 
CONCEITOS - VALORES 
Coragem: muitas vezes não fazemos as coisas 
porque não temos coragem de fazer as 
mudanças. XP diz que devemos ter coragem de 
sempre colocar o cliente a par do que está 
acontecendo. 
79 
Entre aquilo que o XP considera que devemos ter coragem de fazer destacam-se: 
– Acreditar na capacidade de reagir a mudanças; 
– Trocar de paradigma; 
– Aprender com os erros; 
– Dar e receber feedback sem medo das consequências; 
– Acreditar no feedback concreto (não na “teoria”); 
– Fazer o que precisa ser feito; 
– Jogar fora código ruim; 
– Jogar fora protótipos criados para testar ideias. 
 
80 
EXTREME PROGRAMMING: 
CONCEITOS - VALORES 
Coach: é uma pessoa responsável por garantir a 
aderência a estes valores nas práticas. O Coach 
normalmente é uma pessoa experiente que 
também ajuda as equipes a implementarem o 
XP e monitorar se as coisas estão sendo bem 
seguidas. 
 
81 
Por fim, XP preconiza que Codificação é a atividade central do projeto, que os Testes 
(que também são código) servem de especificação de requisitos, e a Comunicação oral 
entre desenvolvedores é fundamental. Isto não quer dizer que a equipe XP não 
constrói documentos e não faz modelagem, ela só não considera que um modelo é 
um documento. Modelos são feitos o tempo todo seja como quadro branco, sessões 
de design, etc, mas servem como um suporte para o concreto que realmente importa. 
Os valores devem sustentar as práticas que serão vistas no próximo artigo como já foi 
solicitado pelos nossos leitores. Por fim a próxima sessão falará um pouco sobre a 
adoção do XP nas organizações. 
 
82 
EXTREME PROGRAMMING: 
CONCEITOS - VALORES 
Respeito é um valor que dá sustentação aos 
demais. Se ele não existir em um projeto, não há 
nada que possa salvá-lo. Ouvir, compreender e 
respeitar o ponto de vista dos demais 
integrantes da equipe é essencial. 
83 
Todos os valores apresentados são alicerces da 
XP, pois eles que oferecem sustentação às boas 
práticas adotadas na metodologia (TELES, 2004). 
 
84 
EXTREME PROGRAMMING: 
CONCEITOS - PRINCÍPIOS BÁSICOS 
Feedback rápido: Quanto mais demorado o 
retorno, menor o aprendizado produzido por 
ele. 
EXTREME PROGRAMMING: 
CONCEITOS - PRINCÍPIOS BÁSICOS 
Simplicidade assumida: Desenvolver a solução 
mais simples que possa funcionar. Não construir 
complexidade desnecessária. 
 
86 
EXTREME PROGRAMMING: 
CONCEITOS - PRINCÍPIOS BÁSICOS 
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. 
87 
EXTREME PROGRAMMING: 
CONCEITOS - PRINCÍPIOS BÁSICOS 
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. 
 
88 
EXTREME PROGRAMMING: 
CONCEITOS - PRINCÍPIOS BÁSICOS 
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. 
 
89 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Para aplicar os valores e princípios durante o 
desenvolvimento de software, o XP propõe uma 
série de práticas. Há uma confiança muito 
grande nas inergia entre elas, os pontos fracos 
de cada uma são superados pelos pontos fortes 
de outras. 
90 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Jogo de Planeamento (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 
Planeamento. 
91 
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 paraserem colocadas em produção. 
92 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Pequenas Versões (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. 
93 
As versões chegam a ser ainda menores que as 
produzidas por outras metodologias 
incrementais, como o RUP. 
 
94 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Metáfora (Metaphor): Procurar facilitar a 
comunicação com o cliente, entendendo a 
realidade dele. 
95 
O conceito de rápido para um cliente de um sistema 
jurídico é diferente para um programador 
experiente em controlar comunicação em sistemas 
de tempo real, como controle de tráfego aéreo. É 
preciso traduzir as palavras do cliente para o 
significado que ele espera dentro do projeto. 
96 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Projeto Simples (Simple Design): Simplicidade é 
um princípio do XP. Projeto simples significa 
dizer que caso o cliente tenha pedido que na 
primeira versão. 
97 
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. 
98 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Time Coeso (Whole Team): A equipe de 
desenvolvimento é formada pelo cliente e pela 
equipe de desenvolvimento. 
99 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Testes de Aceitação (Customer Tests): São testes 
construídos pelo cliente em conjunto com 
analistas e testadores, para aceitar um 
determinado requisito do sistema. 
100 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Ritmo Sustentável (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. 
101 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Reuniões em pé (Stand-up Meeting): Reuniões 
em pé para não se perder o foco nos assuntos 
de modo a efetuar reuniões rápidas, apenas 
abordando tarefas realizadas e tarefas a realizar 
pela equipe. 
102 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Posse Coletiva (Collective Ownership): O código 
fonte não tem dono e ninguém precisa ter 
permissão concedida para poder modificar o 
mesmo. O objetivo com isto é fazer a equipe 
conhecer todas as partes do sistema. 
103 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Programação em Pares (Pair Programming): é a 
programação em par/dupla num único 
computador. Geralmente a dupla é criada com 
alguém sendo iniciado na linguagem e a outra 
pessoa funcionando como um instrutor. 
104 
Como é apenas um computador, o novato é que fica à 
frente fazendo a codificação, e o instrutor acompanha 
ajudando a desenvolver suas habilidades. Dessa forma o 
programa sempre é revisto por duas pessoas, evitando e 
diminuindo assim a possibilidade de erros (bugs).Com 
isto, procura-se sempre a evolução da equipe, 
melhorando a qualidade do código fonte gerado. 
 
105 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Padrões de Codificação (Coding Standards): A 
equipe de desenvolvimento precisa estabelecer 
regras para programar e todos devem seguir 
estas regras. Dessa forma parecerá que todo o 
código fonte foi editado pela mesma pessoa, 
mesmo quando a equipe possui 10 ou 100 
membros. 106 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
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. 
107 
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. 
 
108 
EXTREME PROGRAMMING: 
CONCEITOS – PRÁTICAS 
Refatoração (Refactoring): É um processo que 
permite a melhoria contínua da programação, 
com o mínimo de introdução de erros e 
mantendo a compatibilidade com o código já 
existente. 
109 
Refactorizar melhora a clareza (leitura) do 
código, dividido em módulos mais coesos e de 
maior reaproveitamento, evitando a duplicação 
de código-fonte. 
 
110 
Integração Contínua (Continuous Integration): 
Sempre que realizar uma nova funcionalidade, 
nunca esperar uma semana para integrar na 
versão actual do sistema. 
111 
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. 
 
112 
113 
114 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
O ciclo de vida de um projeto XP consiste em 
pôr as práticas e estratégias da XP em 
funcionamento de maneira ordenada. 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
O projeto ideal em XP é aquele que inicia 
por uma curta fase de desenvolvimento, 
seguida de anos de produção e 
refinamentos simultâneos e finalmente 
encerra quando o projeto não faz mais 
sentido. 
 
116 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
O ciclo de vida e as fases do processo XP são 
abordagens muito discutidas por diversos 
autores que adotam essa metodologia. O ciclo 
de vida XP é bastante curto e, à primeira vista, 
difere dos padrões dos modelos de processo 
convencionais. 
117 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Entretanto, esta abordagem faz 
sentido somente em um ambiente 
onde as mudanças de requisitos do 
sistema são fatores dominantes. 
118 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
No caso extremo, os requisitos podem 
mudar no meio da versão, para atender 
funcionalidades mais importantes do que 
as definidas no planejamento original. 
 
119 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Ele consiste de uma pequena fase inicial de 
desenvolvimento seguida por um longo período 
de refinamento e suporte à produção. O ciclo de 
vida pode ser dividido nas seguintes fases: 
 
120 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
• Exploração; 
• Planejamento; 
• Interações; 
• Produção; 
• Manutenção; 
• Morte (Fim do projeto); 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Exploração: O objetivo da fase de Exploração é 
entender o que o sistema deve fazer, bem o 
suficiente para que possa ser estimado. Sendo que, 
o cliente escreve e administra histórias {story cards) 
e o programador estima as histórias. 
122 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Encerra quando todas as histórias necessárias 
para a próxima fase - fase de planejamento - 
tenham sido estimadas. 
123 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
A fase de Exploração começa com as regras de negócio. O 
cliente escrevendo cartões de história que descrevem o 
que o sistema precisa fazer. Em paralelo as histórias dos 
clientes os programadores estão experimentando 
ativamente as diferentes tecnologias e as possíveis 
configurações, explorando as possibilidades para a 
arquitetura do sistema. 
124 
EXTREME PROGRAMMING:CICLO DE VIDA 
Leva-se de uma a duas semanas testando a 
arquitetura, mas deve-se testar de três a quatro 
maneiras, ou seja, diferentes pares podem testar 
diferentes tecnologias e comparar ou, dois pares 
podem testar a mesma tecnologia e comparar as 
diferenças emergentes; 
125 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Planejamento: O objetivo da fase de Planejamento 
é definir a menor data e o maior conjunto histórias 
que serão realizadas na primeira versão. Esta 
definição é feita de acordo com estimativas entre 
cliente e programadores. Assim que as histórias são 
coletadas, o Jogo de Planejamento é conduzido. 
 
126 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
O cliente decide quais histórias são vitais e que 
devem fazer parte da primeira versão. Desta forma, 
pode-se elaborar uma lista priorizada das histórias. 
Se houver uma boa preparação durante a fase de 
exploração é necessário apenas alguns dias para a 
fase de planejamento; 
 
127 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Iteração para primeira versão: Os compromissos 
são divididos para serem executados em iterações 
que duram de uma a quatro semanas. Para cada 
história executada naquela iteração é produzido um 
conjunto de testes ficcionais. 
128 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
A primeira iteração, mostra como a arquitetura do 
sistema irá se comportar. Então, as histórias devem 
ser escolhidas de forma que representem força para 
criar todo o sistema. A pergunta chave para ser 
trabalhada nesta fase é: Qual a coisa de maior valor 
para o time para ser trabalhada nesta iteração. 
129 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Conforme Reis (2000), uma sequência de ciclos 
iterativos conduzem o desenvolvimento, que 
concentra o projeto, a codificação, os testes e as 
versões do produto. Normalmente, há alguns 
ciclos iterativos antes da fase de produção. 
130 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
No final de cada iteração o cliente terá 
completado a execução de todos os testes 
flincionais e, no final da última iteração, o 
sistema estará pronto para entrar em produção; 
131 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Produção: Existem alguns processos para avaliar se 
o software realmente está pronto para entrar em 
produção. Pode-se implementar novos testes para 
provar se o sistema está estável o suficiente para 
entrar em produção. Testes são frequentemente 
aplicados nesta fase. 
132 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Pode ser necessário apenas ajustar o desempenho. E o 
melhor momento para realizar estes ajustes é no final da 
versão. Pois, se tem mais conhecimento do projeto, assim 
como existe a possibilidade de realizar estimativas reais 
de sobrecarga de produção do sistema. E provavelmente, 
este teste poderá ser realizado na máquina de produção; 
133 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Manutenção: A fase de manutenção é o estado 
normal de um projeto XP. Deve-se simultaneamente 
produzir novas funcionalidades, manter o sistema 
existente rodando, substituir membros do time que 
partem e incorporar novos membros ao time. 
134 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Nesta fase, pode-se tentar fazer refactorings 
maiores, os quais, nas versões anteriores, causaram 
certo receio. Pode-se testar novas tecnologias que 
se pretende incorporar nas próximas versões, ou 
migrar a tecnologia que está em uso para versões 
mais atualizadas. 
135 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
O cliente pode escrever novas histórias que tragam 
para o seu negócio grandes conquistas. A estrutura 
do time provavelmente será alterada, ou seja, 
voltada para a produção. Talvez seja necessário um 
help-desk, e já não se tenha á necessidade de uma 
grande quantidade de programadores. 
136 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Entretanto, se deve ter cuidado com a rotação da posição 
de todos os programadores, o time pode ser mudado 
gradualmente. Isto é importante, tanto para comunicar a 
estrutura de todo o projeto, quanto os detalhes de 
planejamento e implementação, e que somente pode ser 
feito através do contato diário entre o time; 
137 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Fim do projeto: Beck (2000) considera que "Morrer bem 
é tão importante quanto viver bem. Isto é uma verdade 
para o XP como para as pessoas". Quando não mais 
existir novas histórias, é o momento de finalizar o 
projeto. E o momento de escrever algumas páginas (de 5 
a 10 páginas) sobre a funcionalidade do sistema, um 
documento que auxilie no futuro a saber como realizar 
alguma alteração no sistema. 
138 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Uma boa razão para finalizar o projeto é o 
cliente estar satisfeito com o sistema e não ter 
mais nada que consiga prever para o futuro. 
Toda a equipe que trabalhou no sistema deve 
ser reunida para reavaliação. 
139 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
Aproveite a oportunidade de analisar o que 
pode ter causado queda no sistema e o que fez 
o projeto avançar. Assim, o time saberá melhor 
o que fazer no futuro, o time executará tarefas 
de formas diferentes da próxima vez. 
 
140 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
 
141 
EXTREME PROGRAMMING: 
CICLO DE VIDA 
O XP busca a excelência técnica obrigatória para 
melhoria contínua do processo e esta faz com 
que a equipe torne-se perita nas melhores 
práticas de desenvolvimento, ou seja, torne-se 
extrema. 
 
142 
COMPONENTES/PAPÉIS NO 
PROCESSO 
Programador: segundo Back, ele é o coração do XP, pois o 
principal foco é a implementação. A diferença entre um 
programador em outras metodologias e no XP é que aqui 
ele precisa se preocupar com a comunicação, com o design 
do sistema, com os testes unitários, com ser eXtremo. 
 
 
 
143 
COMPONENTES/PAPÉIS NO 
PROCESSO 
Cliente: Responsável por escrever “histórias”; 
muitas vezes é um programador ou é 
representado por um programador do grupo; 
trabalha no mesmo espaço físico do grupo; 
feedback do cliente é essencial. 
Se o programador é quem implementa, o cliente é 
quem sabe o que deve ser implementado, ou seja, é 
quem conhece o produto. O titulo de cliente é dado 
a pessoa responsável por escrever as histórias de 
usuário, por defender os interesses do cliente, por 
saber dar valor as histórias (valor do ponto de vista 
de importância ao negócio). 
 
145 
COMPONENTES/PAPÉIS NO 
PROCESSO 
Testador: Como o programador já fez os testes 
unitários, a tarefa do testador está relacionada 
aos testes funcionais e por sua execução 
frequente. 
 
146 
COMPONENTES/PAPÉIS NO 
PROCESSO 
Rastreador: Back afirma que o rastreador é a 
consciência da equipe, sendo o responsável por 
finalizar a iteração, por uma visão global do 
andamento do sistema, etc. Este papel necessita 
de habilidade de coleta de informação e boa 
comunicação interpessoal. 
147 
COMPONENTES/PAPÉIS NO 
PROCESSO 
Treinador: O mais experiente do grupo; 
identifica quem é bom no que; lembra a todos 
as regras do XP; faz programação pareada; 
chama a atenção para oportunidades de 
melhorias; seu papel diminui à medida em que o 
time fica mais maduro. 
 
148 
treinador que é o responsável pelo processo 
como um todo e por manter o XP funcionando. 
149 
COMPONENTES/PAPÉIS NO 
PROCESSO 
• Acompanhador: A “consciência” do time; 
mantém histórico do progresso; faz 
estimativas para o futuro e coleta estatísticas 
sobre o andamento do projeto, como: 
150 
• Número de histórias definidas e implementadas.• Número de unit tests. 
• Número de testes funcionais definidos e 
funcionando. 
• Número de classes, métodos, linhas de código. 
151 
COMPONENTES/PAPÉIS NO 
PROCESSO 
Consultor: Não é obrigatório, mas quando há 
necessidade, equipes XP pode chamar um 
consultor ad hoc. 
152 
COMPONENTES/PAPÉIS NO 
PROCESSO 
• O Chefão: este é o manda chuva, quem 
manda em tudo. 
153 
COMPONENTES/PAPÉIS NO 
PROCESSO 
Ninguém tem maior importância no grupo, mas 
todos tem suas atribuições e devem buscar a 
qualidade total dos seus processos. O 
programador deve especializar-se na sua tarefa 
e deve ainda cultivar as boas práticas 
154 
COMPONENTES/PAPÉIS NO 
PROCESSO 
A equipe XP mantém o sistema integrado e funcionando 
o tempo todo. Programadores escrevem todo o código de 
produção em pares, todos trabalham em conjunto para a 
excelência do produto. Eles codificam em um estilo 
consistente para que todos possam entender e melhorar 
todo o código conforme necessidade da equipe. 
155 
COMPONENTES/PAPÉIS NO 
PROCESSO 
O cliente mantém os programadores informados 
sobre suas necessidades, o treinador mantém a 
equipe coesa e o testador valida as 
funcionalidade. Tudo para que o resultado seja 
de alta qualidade. 
156 
EXTREME PROGRAMMING: ADOÇÃO 
DO XP NA ORGANIZAÇÃO 
Não existe uma regra geral de como devemos adotar o 
XP na nossa organização. Nunca utilizou XP antes e 
quer começar a utilizar com um cliente que já está há 
algum tempo trabalhando com você e a sua equipe o 
ideal é que esse processo seja gradual, tanto com o 
cliente quando com a equipe. 
157 
EXTREME PROGRAMMING: ADOÇÃO 
DO XP NA ORGANIZAÇÃO 
Ou seja, começa-se a utilizar os valores e as práticas 
do XP aos poucos criando testes automatizados aos 
poucos com as partes mais importantes, chamando 
o cliente para participar das reuniões e mostrando a 
importância disso para o próprio cliente, para a 
equipe e para o bem do projeto. 
158 
EXTREME PROGRAMMING: ADOÇÃO 
DO XP NA ORGANIZAÇÃO 
Se você quer utilizar XP desde o início é mais 
simples, basta começar a utilizar e envolver o 
cliente no processo, seguindo sempre os valores 
e práticas do XP. 
 
159 
EXTREME PROGRAMMING: ADOÇÃO 
DO XP NA ORGANIZAÇÃO 
Segundo Beck, pode-se utilizar três passos para a 
implementação do XP: 
1. Escolha o pior dos problemas; 
2. Resolva-o da maneira XP; 
3. Quando ele não for mais seu problema, repita os 
passos 1 e 2 para o próximo problema. 
160 
EXTREME PROGRAMMING: ADOÇÃO 
DO XP NA ORGANIZAÇÃO 
Desta forma, utilize uma prática XP por vez, mas 
tenha em mente os seus valores, assim, é 
possível se adaptar ao XP, até ter sua 
implementação por completo no seu projeto. 
 
161 
EXTREME PROGRAMMING: ADOÇÃO 
DO XP NA ORGANIZAÇÃO 
O uso do XP é uma mudança no paradigma 
tradicional, o que pode implicar em confusão no 
início da sua implementação. 
 
162 
EXTREME PROGRAMMING: ADOÇÃO 
DO XP NA ORGANIZAÇÃO 
A vontade de mudar é uma virtude, mesmo que 
confunda parte da empresa durante um tempo 
(Mike Cohn, 2011). Esta mudança exige 
conhecer os valores, princípios e técnicas que 
fazem parte das bases do XP. 
163 
EXTREME PROGRAMMING: NÃO 
ADOÇÃO DO XP NA ORGANIZAÇÃO 
A metodologia XP propõe uma forma simplificada e eficaz 
de desenvolvimento de software. Contudo, aplicá-la em 
equipes de desenvolvimento que fazem uso de outros 
processos não é fácil, e muitas vezes impossível. A grande 
dificuldade não diz respeito a problemas técnicos, mas 
sim, culturais dentro das equipes de desenvolvimento 
(BECK, 2004). 
164 
EXTREME PROGRAMMING: NÃO 
ADOÇÃO DO XP NA ORGANIZAÇÃO 
Outro ponto importante a considerar é a política da 
empresa que desenvolve software. Caso a empresa 
produza software em massa, a XP não é aconselhável. 
Esse conceito não se aplica a XP, visto que se aproxima do 
modelo em cascata, com uma série de etapas executadas 
umas após as outras, planejando no início e recebendo o 
feedback apenas no fim do processo (TELES, 2005). 
165 
EXTREME PROGRAMMING: NÃO 
ADOÇÃO DO XP NA ORGANIZAÇÃO 
Segundo Borborema (2007), o uso da XP deve 
ser feito em empresas que primam por 
processos dinâmicos de desenvolvimento, 
baseados na resposta do cliente e no 
aprendizado contínuo de todos os integrantes 
da equipe. 
166 
EXTREME PROGRAMMING: NÃO 
ADOÇÃO DO XP NA ORGANIZAÇÃO 
167 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
Os dados relatados nesta seção foram coletados 
por meio de entrevistas com dois gestores da 
empresa: o Presidente e seu Diretor de TI. 
• Fonte: Metodologias Ágeis: Um Exemplo de 
Aplicação da Extreme Programming (XP). 
168 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
EMPRESA ACCESSPRO 
A AccessPro se originou da empresa Ideológica 
Informática, fundada no ano de 1994. Desde sua 
fundação a Ideológica atuou com o 
desenvolvimento e consultoria em Microsoft Access 
(MS Access), entre outras atividades. 
169 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
No ano de 2009, se transformou em uma empresa 
independente e completamente focada na 
ferramenta MS Access. Os números da empresa 
são: 54 clientes ativos; 16 funcionários; 120 
projetos executados; 7 projetos em andamentos e 4 
em Stand by (Maio/2010); 1 equipe de XP com 10 
pessoas. 
 
170 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
A Missão da empresa é desenvolver ferramentas 
e prestar serviços de alta qualidade que 
proporcionem ganhos reais de produtividade, 
controle e informação aos seus clientes. 
171 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
A sua visão é tornar-se uma empresa que seja 
referência nacional em desenvolvimento em MS 
Access e VBA1. 
 
172 
1. Visual Basic for Application (VBA) é uma linguagem baseada no Visual Basic, 
que está integrada a todos os produtos da família Microsoft (CARMONA, 2006). 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
A empresa possui uma carteira de mais de 50 
clientes, de diversos portes, setores e graus de 
informatização. Seguem alguns de seus principais 
cliente: Knorr Bremse, Atlas Copco, Banco Safra, 
Universidade São Camilo, Honda Trading, Carrefour, 
Medial Saúde, Itaú Seguros, Kopenhagen, Contem 
1g. 
173 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
O portfólio de produtos desenvolvidos pela 
AccessPro possui desde software para controle de 
uma simples portaria até sistemas complexos com 
de importação e exportação de dados diversos. Do 
ponto de vista hierárquico, a empresa mantém uma 
estrutura simples. O organograma representado na 
figura 1 ilustra essa estrutura. 
174 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
O grande diferencial da empresa está na 
utilização de uma metodologia prática e 
descomplicada. A atividade de planejamento é 
suficiente para evitar erros de interpretação e 
de comunicação, mas não em excesso a ponto 
de tornar o projeto uma atividade burocrática. 
175 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
Os gestores da empresa afirmam que sua prioridade é o 
cliente, e todas as decisões que são tomadas visam 
agregar valor para ele. Por isso, buscam compreender 
profundamente os processos de trabalho e necessidades 
dos clientes, buscando novas oportunidades de melhoria 
por meio da aplicação inteligente da tecnologia. 
176 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
VALORES DA XP NA ACCESSPRO 
177 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
 
178 
EXEMPLO DE APLICAÇÃO DA 
EXTREMEPROGRAMMING 
AS DOZE PRÁTICAS DA XP NA ACCESSPRO 
179 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
 
180 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
 
181 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
 
182 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
Com os desafios que a empresa enfrenta a cada 
projeto, o Diretor de TI concorda que, a coragem 
é essencial para acreditar que, utilizando os 
valores, práticas e princípios da XP, será capaz de 
fazer o software evoluir com segurança e 
agilidade. 
183 
EXEMPLO DE APLICAÇÃO DA 
EXTREME PROGRAMMING 
Para ele o valor mais importante da XP é o 
respeito, enfatizando que o respeito com seus 
colaboradores e clientes é essencial para o 
sucesso na adoção da metodologia. 
184 
CONCLUSÃO 
E 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 
garantindo dinamismo na economia atual. 
 
185 
REFERENCIAS 
MEDEIROS, Higor. Introdução ao Extreme Programming (XP). Disponível em 
<http://www.devmedia.com.br/introducao-ao-extreme-programming-xp/29249>. 
Acessado em ‎23‎ de ‎mar.‎ de ‎2015. 
 
Sueli Aparecida Loddi, Samáris Ramiro Pereira, Camila Casadei, Mariana Vieira 
Apolinário de Souza. Metodologias Ágeis: um exemplo de aplicação da eXtreme 
Programming (XP). Disponível em 
<http://www.fatecsaocaetano.edu.br/fascitech/index.php/fascitech/article/view/34>. 
Acessado em ‎23‎ de ‎mar.‎ de ‎2015. 
 
BECK. K. Extreme Programming Explained: enbrance change. Boston : Addison Wesley 
/Longman, 1999. 
 
JORGE, Fernandes. XP: eXtreme Programming Introdução. Disponível em 
<http://www.cic.unb.br/~jhcf/MyBooks/iess/XP/eXtremeProgrammingIntro.pdf>. 
Acessado em ‎23‎ de ‎mar.‎ de ‎2015. 
186 
REFERENCIAS 
JORGE, Fernandes. Programação em Pares. Disponível em 
<http://www.cic.unb.br/~jhcf/MyBooks/iess/PairProg/pai
rprogramming.pdf>. Acessado em ‎23‎ de ‎mar.‎ de ‎2015. 
 
JORGE H. C. FERNANDES. Diretório. Disponível em 
<http://www.cic.unb.br/~jhcf/>. Acessado em ‎23‎ de ‎mar.‎ 
de ‎2015. 
 
ASTELS, David; MILLER, Granville; NOVAK, Miroslav. 
Extreme Programming – Guia prático. Rio de Janeiro, Ed. 
Campos, 2002. 
187 
REFERENCIAS 
BECK, Kent. Programação Extrema (XP) Explicada. Porto 
Alegre:Bookman, 2004. 
 
BECK, Kent Exteme Programming Explained:Embrace change. Addison-
Wesley, 1999. 
 
SOMMERVILLE, Ian. Engenharia de software. 8ªed. São Paulo: Pearson, 
2007. 
 
Metodologia XP ( eXtreme Programming ) – Desenvolvimento Ágil 
Disponível em <http://hiperbytes.com.br/artigos/metodologia-xp-
extreme-programming-desenvolvimento-agil/>. Acessado em ‎23‎ 
de ‎mar.‎ de ‎2015. 
188 
REFERENCIAS 
SOUSA, Vinicius Lourenço de. Processo Unificado vs Ágil: Ser ou não ser, eis 
a questão. Disponível em 
<https://viniciuslourenco.wordpress.com/2008/08/06/processo-unificado-vs-
agil-ser-ou-nao-ser-eis-a-questao/>. Acessado em ‎23‎ de ‎mar.‎ de ‎2015. 
 
PRABHAKARAN, Prasad. Attempt to Compare Agile Methods. Mahindra 
Satyam. 2009. 
 
Extreme Programming (XP).Disponível em 
<http://www.cin.ufpe.br/~gamr/FAFICA/Desenvolvimento%20de%20sistemas
/XP.pdf>. Acesso em 23 mar. 2014. 
189 
REFERENCIAS 
Daniel Ferreira. Comparativo entre Processos Ágeis - Seminário 
apresentado na disciplina de Gestão, Qualidade e Processos – 
CIn UFPE – Novembro/2012. 
 
Wikipédia. Processo unificado. Disponível em < 
http://pt.wikipedia.org/wiki/Processo_unificado>. Acessado 
em ‎23‎ de ‎mar.‎ de ‎2015. 
 
PROCESSO DE SOFTWARE: UM ESTUDO DE CASO EM XP 
.Disponível em < 
http://sedici.unlp.edu.ar/bitstream/handle/10915/22583/Docu
mento_completo.pdf?sequence=1>. Acesso em 23 mar. 2014. 
 
190 
REFERENCIAS 
LARA, Diego Trevisan. Michael Caiuta. Processo Unificado. Disponível em 
<http://www.inf.ufpr.br/lmperes/ciclos_vida/processo_unificado.pdf>. 
Acessado em ‎23‎ de ‎mar.‎ de ‎2015. 
 
ROCHA, Fabio Gomes. Integrando XP as principais metodologias agéis. 
Disponível em <http://www.devmedia.com.br/integrando-xp-as-principais-
metodologias-ageis/30989>. Acessado em ‎23‎ de ‎mar.‎ de ‎2015. 
 
BECK, Kent. et. al. MANIFESTO ÁGIL. 2001. Disponível em: 
<http://www.manifestoagil.com.br/>. Acesso em 23 mar. 2014. 
 
 
 
 
191 
REFERENCIAS 
TELES, Vinícius M. Um estudo de caso da adoção das 
práticas e valores do Extreme Programming. 181 p. 
Dissertação (Mestrado em Informática) – Universidade 
Federal do Rio de Janeiro, UFRJ, 2005. 
 
TELES, Vinícius M. Extreme Programming. São Paulo: 
Novatec Editora, 2004. 
192

Outros materiais