Você está na página 1de 17

Programação
para
a
Plataforma
Android
–
Aula
15


Desenvolvimento
Ágil

•  O
que
são
métodos
ágeis
de
programação?

•  O
que
é
desenvolvimento
orientado
a
testes?

•  Quais
recursos
podem
ser
usados
para
deixar
o
desenvolvimento
mais
eficiente?

•  O
que
é
extreme
programming?

•  Quais
as
vantagens
da
programação
em
pares?

•  O
que
é
Scrum?

Compromissos

•  Considere
as
seguintes
contraposições:

–  Iterações
entre
indivíduos
vs
ferramentas
e
processos.

–  O
so7ware
que
funciona
vs
boa
documentação.

–  Colaboração
com
os
clientes
vs
contratos
bem

estabelecidos.

–  Respostas
rápidas
às
conAngências
vs
plano
bem

estruturado
de
trabalho.


•  Quais
os
prós
e
contras
entre
as
duas
abordagens?

•  Qual
a
metodologia
de
desenvolvimento
de
soJware

adotada
no
lado
direito?

•  E
qual
a
metodologia
de
desenvolvimento
de
soJware

adotada
no
lado
esquerdo?

Compromissos

•  Considere
as
seguintes
contraposições:

–  Iterações
entre
indivíduos
vs
ferramentas
e
processos.

–  O
soJware
que
funciona
vs
boa
documentação

s u a s p r óprias
–  Colaboração
com
os
clientes
vs
contratos
bem

E m

estabelecidos

a v r a s, o qu
pal
agilidade no
–  Respostas
rápidas
às
conRngências
vs
plano
bem

o l v im e n to de
estruturado
de
trabalho.

dese n v
software?
•  Quais
os
prós
e
contras
entre
as
duas
abordagens?

Por que o
•  Qual
a
metodologia
de
desenvolvimento
de
soJware

desenvolvimento
adotada
no
lado
direito?
 ágil faz sentido em
Android?
•  E
qual
a
metodologia
de
desenvolvimento
de
soJware

adotada
no
lado
esquerdo?

Processos
IteraRvos

•  Por
que
processo
iteraRvos
facilitam
a

gerência
de
mudanças
na
especificação
do

so#ware?

•  É
possível
que
um
process
possa
ser

terminado
em
apenas
uma
iteração,
e
ainda

ser
chamado
ágil?

Princípios

•  SoJware
deve
ser
liberado
frequentemente,
seja

semanalmente,
seja
mensalmente.
O
tempo
de
liberação

deve
ser
o
mais
curto
possível.

•  Mudanças
nos
requisitos
são
esperadas
e
bem‐vidas.

•  Desenvovledores
e
clientes
devem
trabalhar
juntos,
se

possível
diariamente,
durante
o
projeto.

•  Dado
o
suporte
tecnológico
necessário,
os
desenvolvedores

devem
ter
flexibilidade
para
levar
o
projeto
adiante.

•  Encontros
face‐a‐face
são
a
melhor
forma
de
disseminar
e

sincronizar
informações
entre
o
Rme
de
desenvolvedores.

•  Boas
práRcas
de
projeto
e
programação
devem
ser

conhecidas
e
aplicáveis
sempre
que
possível.

Princípios

•  A
métrica
básica
de
sucesso
é
o
so#ware
que
funciona.

•  Desenvolvedores
precisam
prover
testes
que
indiquem
que

o
so#ware
está
funcionando.

•  O
desenvolvimento
do
soJware
deve
ser
sustentável,
isto

é,
patrocinadores,
desenvolvedores
e
usuários
devem
ser

capazes
de
manter
um
ritmo
constante
durante
um
tempo

indefinido.

•  Simplicidade
–
a
arte
de
maximizar
a
quanRdade
de

trabalho
evitado
–
é
essencial.

•  Os
Rmes
de
desenvolvimento
de
soJware
devem
ser

capazes
de
se
auto‐organizarem.

•  Os
Rmes
devem
ser
capazes
de
se
auto‐ajustarem
durante

o
processo
de
desenvolvimento,
isto
é,
em
intervalos

regulares
o
Rme
precisa
refleRr
sobre
como
se
tornar
mais

efeRvo.

Princípios

•  A
métrica
básica
de
sucesso
é
o
so#ware
que
funciona.

•  Desenvolvedores
precisam
prover
testes
que
indiquem
que

o
so#ware
está
funcionando.

Seria possível citarmos
•  O
desenvolvimento
do
soJware
deve
ser
sustentável,
isto

mais algum princípio
é,
patrocinadores,
desenvolvedores
e
usuários
devem
ser

que ajudasse os
capazes
de
manter
um
ritmo
constante
durante
um
tempo

indefinido.
 desenvolvedores a
serem mais ágeis e
•  Simplicidade
–
a
arte
de
maximiar
a
quanRdade
de
trabalho

flexíveis?
evitado
–
é
essencial.

•  Os
Rmes
de
desenvolvimento
de
soJware
devem
ser

capazes
de
se
auto‐organizarem.

•  Os
Rmes
devem
ser
capazes
de
se
auto‐ajustarem
durante

o
processo
de
desenvolvimento,
isto
é,
em
intervalos

regulares
o
Rme
precisa
refleRr
sobre
como
se
tornar
mais

efeRvo.

Princípios

•  A
métrica
básica
de
sucesso
é
o
so#ware
que
funciona.

itos
r que requis
• PoDesenvolvedores
precisam
prover
testes
que
indiquem
que

a m t a n ? Será
o
so#ware
está
funcionando.

t o
mud ã o Seria possível citarmos
e s s o a s n
• quO
desenvolvimento
do
soJware
deve
ser
sustentável,
isto

e as p mais algum princípio
e l a s
é,
patrocinadores,
desenvolvedores
e
usuários
devem
ser

o q u e
sabem que ajudasse os
capazes
de
manter
um
ritmo
constante
durante
um
tempo

querem?
indefinido.
 desenvolvedores a
serem mais ágeis e
•  Simplicidade
–
a
arte
de
maximiar
a
quanRdade
de
trabalho

evitado
–
é
essencial.
 flexíveis?
•  Os
Rmes
de
desenvolvimento
de
soJware
devem
ser

capazes
de
se
auto‐organizarem.

•  Os
Rmes
devem
ser
capazes
de
se
auto‐ajustarem
durante

o
processo
de
desenvolvimento,
isto
é,
em
intervalos

regulares
o
Rme
precisa
refleRr
sobre
como
se
tornar
mais

efeRvo.

Princípios

Alguém
•  A
métrica
básica
de
sucesso
é
o
so#ware
que
funciona.
 poderi
u is i to s c i t ar algu a
• PoDesenvolvedores
precisam
prover
testes
que
indiquem
que

r qu e r e q
d m exem
t a n t ? S e r
o
so#ware
está
funcionando.

o á e mudan plo
mud a m r ça de
n ã o Seria possível e
citarmos
q u isitos d
e as pessoas
• quO
desenvolvimento
do
soJware
deve
ser
sustentável,
isto

mais algum r
princípio
e a a “vida
l a s l ” ?
sabem o que e
é,
patrocinadores,
desenvolvedores
e
usuários
devem
ser

que ajudasse os

capazes
de
manter
um
ritmo
constante
durante
um
tempo

querem?
indefinido.
 desenvolvedores a
serem mais ágeis e
•  Simplicidade
–
a
arte
de
maximiar
a
quanRdade
de
trabalho

evitado
–
é
essencial.
 flexíveis?
•  Os
Rmes
de
desenvolvimento
de
soJware
devem
ser

capazes
de
se
auto‐organizarem.

•  Os
Rmes
devem
ser
capazes
de
se
auto‐ajustarem
durante

o
processo
de
desenvolvimento,
isto
é,
em
intervalos

regulares
o
Rme
precisa
refleRr
sobre
como
se
tornar
mais

efeRvo.

Encontros
Face‐a‐Face

•  Métodos
de
desenvolvimento
que
se
encaixam

neste
paradigma
“ágil”
em
geral
advogam

encontros
face‐a‐face
entre
os
desenvolvedores.

Por
exemplo,
o
método
scrum
advoga
encontros

diários
de
15
minutos,
em
que
são
respondidas
as

três
perguntas
clássicas:

–  O
que
você
fez
desde
o
úlRmo
encontro?

–  Que
obstáculos
você
tem
encontrado?

–  O
que
você
planeja
fazer
até
o
próximo
encontro?

Encontros
Face‐a‐Face

•  Métodos
de
desenvolvimento
que
se
encaixam

Quneste
paradigma
“ágil”
em
geral
advogam

al a
o r t ân c i a de
im encontros
face‐a‐face
tnre
os
desenvolvedores.

p
r o s face-a-
e n c o n t
faPor
exemplo,
o
método
scrum
advoga
encontros

ce?
diários
de
15
minutos,
em
que
são
respondidas
as

três
perguntas
clássicas:

–  O
que
você
fez
desde
o
úlRmo
encontro?

–  Que
obstáculos
você
tem
encontrado?

–  O
que
você
planeja
fazer
até
o
próximo
encontro?

Encontros
Face‐a‐Face

•  Métodos
de
desenvolvimento
que
se
encaixam

Quneste
paradigma
“ágil”
em
geral
advogam

al a
o r t ân c i a de
im encontros
face‐a‐face
tnre
os
desenvolvedores.

p
r o s face-a-
e n c o n t
faPor
exemplo,
o
método
scrum
advoga
encontros

ce?
diários
de
15
minutos,
em
que
são
respondidas
as

três
perguntas
clássicas:

É possível
cooperação s
e as
–  O
que
você
fez
desde
o
úlRmo
encontro?

partes estão
–  Que
obstáculos
você
tem
encontrado?

separadas
geograficame
–  O
que
você
planeja
fazer
até
o
próximo
encontro?

nte?
Encontros
Face‐a‐Face

•  Métodos
de
desenvolvimento
que
se
encaixam

Alguém poderia
Quneste
paradigma
“ágil”
em
geral
advogam

al a compartilhar as
o r t ân c i a de práticas de
im encontros
face‐a‐face
tnre
os
desenvolvedores.

p
r o s face-a-
e n c o n t reuniões em seu
faPor
exemplo,
o
método
scrum
advoga
encontros

ce? trabalho?
diários
de
15
minutos,
em
que
são
respondidas
as

três
perguntas
clássicas:

É possível
cooperação s
e as
–  O
que
você
fez
desde
o
úlRmo
encontro?

partes estão
–  Que
obstáculos
você
tem
encontrado?

separadas
geograficame
–  O
que
você
planeja
fazer
até
o
próximo
encontro?

nte?
Refatoração

•  Refactoring
é
especialmente
importante
em

desenvolvimento
ágil.

–  O
que
é
refactoring?

–  Vocês
podem
listar
algumas
técnicas
de

refatoração?

–  Porque
esta
importância
especial?

Extreme
Programming

Cartões CRC Protótipos
Estórias
- Estimativas
- Critérios de Projeto
aceitação de testes
- Plano de iteração Programação em pares

Planejamento Codificação

Integração contínua
Liberação
Reavaliação do processo Teste

Testes de unidade
Testes de aceitação
Extreme
Programming

•  Que
Rpo
de
diretrizes
seguir
para
definir
quais

classes
compõem
a
aplicação
e
quais
as

responsabilidades
de
cada
classe?

•  Qual
é
a
vantagem
da
protoRpagem?

•  E
qual
é
o
perigo
da
protoRpagem?

•  O
que
é
programação
em
pares?

•  A
programação
em
pares
não
desperdiça
um

programador?

Extreme
Programming

•  X‐programming
é
um
conceito
relaRvamente

novo,
tendo
surgido
como
tal
em
1999.
Essa

metodologia
de
desenvolvimento
de
soJware

recebeu
muitas
–
muitas
mesmo
–
críRcas.

–  Quais
as
possíveis
desvantagens
dessa
abordagem?

•  Ainda
assim,
X‐programming
possui
muitas
fãs
e

proponentes,
tanto
na
indústria
quanto
na

academia.

–  Alguém
já
parRcipou
de
rodadas
de
X‐programming

em
alguma
empresa?


Você também pode gostar

  • Aula 18
    Aula 18
    Documento52 páginas
    Aula 18
    Damn
    Ainda não há avaliações
  • Aula 20
    Aula 20
    Documento46 páginas
    Aula 20
    Damn
    Ainda não há avaliações
  • Aula 17
    Aula 17
    Documento34 páginas
    Aula 17
    Damn
    Ainda não há avaliações
  • Aula 6
    Aula 6
    Documento79 páginas
    Aula 6
    Damn
    Ainda não há avaliações