Você está na página 1de 31

ENGENHARIA DE SOFTWA

RE
PROFESSORA: NATHALIA
CALADO BERNARDO
EXTREME PROGRAMMING (CONCEI
TO)
XP é um apelido carinhoso de uma nova m
etodologia de desenvolvimento designada E
xtreme Programming, com foco em agilidad
e de equipes e qualidade de projetos, apoia
da em valores como simplicidade, comunica
ção, feedback e coragem que nos submete
m ao reconhecimento de que XP é uma met
odologia baseada em comportamentos e atit
udes. Dessa forma, ela propicia que o
EXTREME PROGRAMMING (CONCEI
TO)
projeto seja executado dentro do prazo e do
orçamento, fazendo então com que o cliente
fique satisfeito e a equipe de desenvolvimen
to não fique maluca por causa do projeto.
Vale lembrar, que ao contrário do que se pe
nsa, XP pode ser aplicada em projetos de v
ários portes, pois seu dinamismo é tão laten
te, que permite seu uso por equipes criativa
s em qualquer projeto.
EXTREME PROGRAMMING (CONCEI
TO)
É importante lembrar também que os valore
s citados acima, alicerçam a metodologia, p
elos seguintes motivos:
• A simplicidade é necessária desde a form
a como se levanta requisitos até a codifica
ção e os testes da solução desenvolvida;
• A comunicação é obrigatória para que não
haja lacunas em processos e problemas e
ntre equipe, cliente e fornecedor;
EXTREME PROGRAMMING (CONCEI
TO)
• O feedback é a pratica fundamentada em
retornar informações entre os membros da
equipe e também na relação com o cliente
, desde responder e-mails, telefonemas bi
ps e demais meios. Devido a isso, é um m
ecanismo para melhorar a prática de com
unicação citada acima;
• E a coragem para saber dizer NÃO quand
o necessário, ou então para dizer que o pr
ojeto vai demorar além do
EXTREME PROGRAMMING (CONCEI
TO)
estimado, pois os novos requisitos precisam
ser codificados ou o código já em funcionam
ento precisa ser refatorado.
Extreme Programming é dinâmica e flexível
, porém é necessário muita disciplina para u
sá-la em um projeto. Para demonstrar isso,
veremos um conjunto sugerido de "boas prá
ticas" em projetos usando XP.
BOAS PRÁTICAS DO XP
• The Customer is Always Available;
• Metaphor;
• Planning Game;
• Small Releases;
• Acceptance Tests;
• Test First Design;
• Continuous Integration;
• Simple Design;
• Refactoring;
BOAS PRÁTICAS DO XP
• Pair Programming;
• Move People Around;
• Collective Code Ownership;
• Coding Standards;
• 40 Hour Week.

The Customer is Always Available (O clie


nte sempre disponível):
Constante disponibilidade do cliente para
BOAS PRÁTICAS DO XP

colaborar em dúvidas, alterações, e priorida


des em um escopo, ou seja, dando um dina
mismo ativo ao projeto.
Metaphor (Uso de metáforas no projeto):
Visando facilitar a comunicação da equipe,
caso seja possível, é estabelecido o uso de
metáforas em pontos chaves ao projeto com
o, por exemplo, a definição de um nome que
seja comum à equipe e simbolize algo de fá
cil assimilação como, por exemplo:
BOAS PRÁTICAS DO XP

"Vamos chamar nosso projeto de "cartão de


ponto", para um sistema que gerencie as ba
tidas de ponto de funcionários, gerando o pr
ovisionamento financeiro e mensal para mó
dulo de folha de pagamento".
Planning Game (Planejando o jogo):
Entre o cliente e os técnicos são estimulada
s reuniões usando quadros brancos, com o
objetivo de captar e definir as "user stories"
(estórias, que são textos
BOAS PRÁTICAS DO XP

claros ou diagramas com notação UML com


as especificações de regras de negócios ine
rentes ao sistema) e também para poder est
imar o tempo ideal das interações, o projeto
como um todo, elaborar estratégias e tentar
prever as contingências para projeto.
Essa prática é fundamental para elaborar a
estratégia das interações, que é a forma co
mo se trabalha o "cronograma" de um
BOAS PRÁTICAS DO XP

projeto com XP, onde basicamente define-s


e um tempo padrão para as interações e es
pecifica-se quais e quantas estórias podem
ser implementadas em uma interação. Exe
mplo:
Digamos que seja definido o tempo padrão
de 2 semanas para cada interação e que te
mos 60 estórias a serem implementadas. E
m seguida, iremos analisar os requisitos (est
órias) e priorizá-las junto ao cliente.
BOAS PRÁTICAS DO XP

Após esse processo, definimos que iremos i


mplementar 4 estórias por interação, fazend
o com que as 60 estórias sejam implementa
das em 15 interações (60/4), chegando a u
m total estimado de 30 semanas (15*2) para
que se implemente todas as estórias.
Claro que esse exemplo é bem genérico, p
ois nem sempre é possível estabelecer uma
organização tão exata na
BOAS PRÁTICAS DO XP

implementação das estórias, até mesmo por


que existe uma variação na necessidade de
esforço que cada estória exige para ser impl
ementada. É comum que uma única estória
necessite de mais uma interação ou que exi
stam estórias tão pequenas que devam ser
agrupas em uma só interação.
Small Releases (Pequenas versões):
Conforme as interações são concluídas, o c
liente recebe pequenas versões/releases
BOAS PRÁTICAS DO XP

do sistema, visando com que seja colocado


em prática e validado aquilo que está sendo
implementado. Isto também permite que mai
s cedo possam ser detectadas necessidade
s de alterações de requisitos no software.
Acceptance Tests (Testes de Aceitação):
São definidos pelo usuário na fase inicial do
projeto e são os critérios de aceitação do so
ftware conforme a estratégia de entrega e
BOAS PRÁTICAS DO XP

representa exatamente a métrica de aderên


cia do software desenvolvido/implantado ao
universo do cliente.
Test First Design (Primeiro os testes):
Aplicados a partir de testes unitários do cód
igo produzido, além de serem preparados ut
ilizando os critérios de aceitação definidos p
reviamente pelo cliente. Garante também a r
edução de erros de
BOAS PRÁTICAS DO XP

programação e aumenta a fidelidade do códi


go produzido ao padrão estabelecido para o
projeto. Através da prática de testes unitário
s, definimos antes da codificação os testes
dos métodos críticos do software ou método
s simples que podem apresentar alguma ex
ceção de processamento.
Continuous Integration (Integração Contín
ua):
Os diversos módulos do software são
BOAS PRÁTICAS DO XP

integrados diversas vezes por dia e todos os


testes unitários são executados. O código n
ão passa até obter sucesso em 100% dos te
stes unitários, facilitando, dessa forma, o tra
balho de implementação da solução.
Simple Design (Simplicidade de Projeto):
O código está, a qualquer momento, na for
ma mais simples e mais clara, conforme os
padrões definidos pela equipe de desenvolvi
mento, facilitando a compreensão
BOAS PRÁTICAS DO XP

e possível continuidade por qualquer um de


seus membros.
Refactoring (Refatoração - melhoria consta
nte do código)
A cada nova funcionalidade adicionada, é tr
abalhado o design do código até ficar na su
a forma mais simples, mesmo que isso impli
que em "mexer" em um código que esteja e
m funcionamento. Claro que a prática de ref
atoração nem sempre é aceita,
BOAS PRÁTICAS DO XP

pois envolve questões como prazo e custo.


Além disso, e essa prática em si pode ser m
inimizada caso o projeto esteja usando 100
% de orientação a objeto, onde podemos cri
ar códigos os mais genéricos e reutilizáveis
possíveis, diminuindo o trabalho em caso de
uma possível refatoração.
Pair Programming (Programação em dupl
a):
Todo código de produção é desenvolvido
BOAS PRÁTICAS DO XP

por duas pessoas trabalhando com o mesm


o teclado, o mesmo mouse e o mesmo moni
tor, somando forças para a implementação d
o código. À primeira vista pode parecer louc
ura, pois se imagina estar gastando dois rec
ursos humanos ao mesmo tempo para fazer
a mesma tarefa e sem possibilidade de ava
nço substancial no projeto. Mas na verdade,
essa prática tem pontos positivos como:
BOAS PRÁTICAS DO XP
• Compartilhamento de conhecimento sobre
as regras de negócio do projeto por todos
da equipe de desenvolvimento;
• Fortalece a prática de Propriedade Coletiv
a do Código;
• Nivelação de conhecimento técnico dos pr
ogramadores.
Elevação dos níveis de atenção ao código
produzido, pois um “supervisiona” e orienta
o trabalho do outro. Dessa forma, minimiza-
BOAS PRÁTICAS DO XP

se a possibilidade de erros no código, erros


de lógica e produção de um código fora dos
padrões estabelecidos pela equipe.
Move People Around (Rodízio de pessoas)
:
As duplas de programação são revezadas
periodicamente, com o objetivo de uniformiz
ar os códigos produzidos, deixar todos os m
ódulos do sistema com mesmo padrão de c
ódigo/pensamento e
BOAS PRÁTICAS DO XP

compartilhar o código com todos da equipe.


Collective Code Ownership (Propriedade c
oletiva - O código é de todos da equipe):
Uma vez aplicados a Programação em Dup
la e o Rodízio de Pessoas, a equipe como u
m todo é responsável por cada arquivo de c
ódigo. Não é preciso pedir autorização para
alterar qualquer arquivo, mantendo claro, u
m padrão prático de comunicação da equipe
.
BOAS PRÁTICAS DO XP

Coding Standards (Padronização do códig


o):
Todo código é desenvolvido seguindo um p
adrão, qualquer que seja, mas toda equipe
deve seguir o mesmo padrão. Dessa forma,
todos da equipe terão a mesma visão do có
digo.
40 Hour Week (Otimizando as jornadas de t
rabalho):
Trabalhar por longos períodos é
BOAS PRÁTICAS DO XP

contraproducente. Portanto, sempre que po


ssível, deve-se evitar a sobrecarga de trabal
ho de todos da equipe, criando condições fa
voráveis ao uso da carga normal de trabalho
. É necessário deixar a equipe livre para rela
xar, brincar, ou fazer o quem bem entender
para equilibrar o trabalho mental e físico. Exi
ste até uma frase que diz: trabalhe a 100%
durante as 40 horas e descanse a 100% no
resto. Se
BOAS PRÁTICAS DO XP

algum deles não for feito com 100%, um afe


tará o outro.

Lembrando que, essas são sugestões de b


oas práticas, pois XP não é uma metodologi
a estática, ela é dinâmica, dando liberdade i
nclusive para cada um modelar sua própria f
orma de trabalho com XP. É comum que nã
o se consiga aplicar todas essas práticas e
m um projeto e sim que se
BOAS PRÁTICAS DO XP

faça uma espécie de "mix" de práticas XP, c


om práticas pessoais mais intuitivas e gerad
as a partir de experiências anteriores em pr
ojetos, ou mesmo oriundas de práticas de o
utras metodologias como RUP, CMM, PMI,
etc.
Hoje, XP está sendo aplicada em larga esc
ala em vários projetos no mundo todo, poré
m ainda temos muito a evoluir em sua comp
reensão e aplicação. Nota-se isso
BOAS PRÁTICAS DO XP

principalmente em pontos polêmicos como t


estes unitários, programação em dupla, rodí
zio de pessoas, propriedade coletiva do códi
go e otimização de jornadas, que são prátic
as que se mal utilizadas podem realmente tr
azer aumentos no custo e no prazo de proje
tos. Ou seja, é de extrema importância que
se entenda bem a essência de XP e princip
almente que se tenha disciplina e criatividad
e, duas qualidades
BOAS PRÁTICAS DO XP

básicas em quem pretende usá-la em projet


os.
Somente a partir de uma visão criativa sobr
e a metodologia e uma disciplina equilibrada
para cumpri-la , é que todos poderão usar e
ter benefícios através de Extreme Program
ming.
REFERÊNCIA

https://www.devmedia.com.br/extreme-progr
amming-conceitos-e-praticas/1498#Integrati
on

Você também pode gostar