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 s
boa documentação
as posróp r i a
Em su
– Colaboração com clientes
é vs contratos bem
qu e
palavras, o
estabelecidos
– Respostas ilidade às
agrápidas noconRngências vs plano bem
o lv im e n to de
estruturado
desede trabalho.
n v
software?
• Quais os prós e contras entre as duasPor
abordagens?
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 mais
do soJware deve ser sustentável, isto
algum princípio
é, patrocinadores, desenvolvedores e usuários devem ser
capazes de manter um queritmo
ajudasse os
constante durante um tempo
indefinido. desenvolvedores a
• Simplicidade – a arteserem mais ágeis
de maximiar e
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 precisam prover testes que indiquem que
r que requis
•PoDesenvolvedores

o so#ware
a m t a n t ?
está
o Sefuncionando.
mud ã o Seria possível citarmos
s o
• quOedesenvolvimento
as p e s a s n do soJware deve ser sustentável, isto
mais algum princípio
elas desenvolvedores e usuários devem ser
s é,
ab epatrocinadores,
m o q u e
capazes de manter queritmo
um ajudasse os
constante durante um tempo
querem? desenvolvedores a
indefinido.
• Simplicidade – a arteserem mais ágeis
de maximiar e
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
• A métrica básica de sucesso é o so#ware Alqueguém funciona.
poderi
u is i t o c
s precisam prover testes que i t ar aindiquem a
•PoDesenvolvedores
r qu e r e q
d
l g u m exem que
o so#ware
t an t ?
está
o rá
Sefuncionando. e muda plo
mud a m r n ça de
ã o Seria possível e
citarmosq u
as pessoas n
• quOedesenvolvimento do
mais
soJware
algum
deve ser
r
princípioe
isitos d
sustentável,a “viisto
da
é, e
patrocinadores,
o q u e l a s desenvolvedores e a l”? devem ser
usuários
sabem queritmo
ajudasse os
capazes
querem? de manter um constante durante um tempo
indefinido. desenvolvedores a
• Simplicidade – a arteserem mais ágeis
de maximiar e
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
al a paradigma “ágil” em geral advogam
or t ân c i a de
im encontros
p
s fa c face‐a‐face
e - a - tnre os desenvolvedores.
encontro
faPor
ce? 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
al a paradigma “ágil” em geral advogam
or t ân c i a de
im encontros
p
s fa c face‐a‐face
e - a - tnre os desenvolvedores.
encontro
faPor
ce? exemplo, o método scrum advoga encontros
diários de 15 minutos, em que são respondidas as
três perguntasÉclássicas: possível
cooperação s
– O que você fez desde o e as encontro?
úlRmo
partes estão
– Que obstáculos
sepavocê
radatem
s encontrado?
geograficame
– O que você planeja fazer até
nte?o próximo encontro?
Encontros Face‐a‐Face
• Métodos de desenvolvimento que se
Alguém encaixam
poderia
Quneste
al a paradigma “ágil” em geral advogam
compartilhar as
o r t ân c i a de práticas de
im encontros
p
r o s f face‐a‐face
ace-a- tnre os desenvolvedores.
e n c o n t reuniões em seu
faPor
ce? exemplo, o método scrum advoga encontros
trabalho?
diários de 15 minutos, em que são respondidas as
três perguntasÉclássicas: possível
cooperação s
– O que você fez desde o e as encontro?
úlRmo
partes estão
– Que obstáculos
sepavocê
radatem
s encontrado?
geograficame
– O que você planeja fazer até
nte?o próximo encontro?
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