SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
Desenvolvimento ´Agil
Desenvolvimento ´Agil
Helio Henrique L. C. Monte-Alto
Disciplina: Projeto de Software
2016
Desenvolvimento ´Agil
T´opicos
1 O que ´e o Desenvolvimento ´Agil
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Em 2001: ”Agile Alliance- ”Alian¸ca dos ´Ageis”;
Composta por Kent Beck e outros dezesseis renomados
desenvolvedores, autores e consultores da ´area de software;
O ”Manifesto para o Desenvolvimento ´Agil de Software”
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Manifesto ´Agil
Valorizar:
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Manifesto ´Agil
Valorizar:
Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Manifesto ´Agil
Valorizar:
Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas
Software operacional acima de documenta¸c˜ao completa
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Manifesto ´Agil
Valorizar:
Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas
Software operacional acima de documenta¸c˜ao completa
Colabora¸c˜ao dos clientes acima de negocia¸c˜ao contratual
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Manifesto ´Agil
Valorizar:
Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas
Software operacional acima de documenta¸c˜ao completa
Colabora¸c˜ao dos clientes acima de negocia¸c˜ao contratual
Respostas a mudan¸cas acima de seguir um plano
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Manifesto ´Agil
Valorizar:
Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas
Software operacional acima de documenta¸c˜ao completa
Colabora¸c˜ao dos clientes acima de negocia¸c˜ao contratual
Respostas a mudan¸cas acima de seguir um plano
Ou seja, embora haja valor nos itens ´a direita, valorizaremos os da
esquerda mais ainda.
Ex: H´a documenta¸c˜ao e h´a planejamento, mas valoriza-se mais os
outros pontos.
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Motiva¸c˜ao
Figura: Custos de altera¸c˜oes como uma fun¸c˜ao do tempo de
desenvolvimento
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Motiva¸c˜ao
Figura: Custos de altera¸c˜oes como uma fun¸c˜ao do tempo de
desenvolvimento com Agile
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Motiva¸c˜ao
Os neg´ocios operam com requisitos que mudam rapidamente
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Motiva¸c˜ao
Os neg´ocios operam com requisitos que mudam rapidamente
Imposs´ıvel produzir um conjunto est´avel de requisitos
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Motiva¸c˜ao
Os neg´ocios operam com requisitos que mudam rapidamente
Imposs´ıvel produzir um conjunto est´avel de requisitos
O software precisa evoluir rapidamente
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Motiva¸c˜ao
Os neg´ocios operam com requisitos que mudam rapidamente
Imposs´ıvel produzir um conjunto est´avel de requisitos
O software precisa evoluir rapidamente
Os incrementos precisam ser entregues rapidamente
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
Maior prioridade: satisfazer o cliente com entrega cont´ınua
e o mais cedo poss´ıvel de software com valor de neg´ocio;
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
Maior prioridade: satisfazer o cliente com entrega cont´ınua
e o mais cedo poss´ıvel de software com valor de neg´ocio;
Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem
vindas;
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
Maior prioridade: satisfazer o cliente com entrega cont´ınua
e o mais cedo poss´ıvel de software com valor de neg´ocio;
Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem
vindas;
Cliente e desenvolvedor trabalham em conjunto diariamente
no projeto;
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
Maior prioridade: satisfazer o cliente com entrega cont´ınua
e o mais cedo poss´ıvel de software com valor de neg´ocio;
Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem
vindas;
Cliente e desenvolvedor trabalham em conjunto diariamente
no projeto;
Entregar software funcionando com frequˆencia: escala de
semanas at´e meses, com preferˆencias a per´ıodos curtos;
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
Maior prioridade: satisfazer o cliente com entrega cont´ınua
e o mais cedo poss´ıvel de software com valor de neg´ocio;
Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem
vindas;
Cliente e desenvolvedor trabalham em conjunto diariamente
no projeto;
Entregar software funcionando com frequˆencia: escala de
semanas at´e meses, com preferˆencias a per´ıodos curtos;
Os desenvolvedores devem ser motivados e devem ter
flexibilidade para levar o projeto adiante
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
Maior prioridade: satisfazer o cliente com entrega cont´ınua
e o mais cedo poss´ıvel de software com valor de neg´ocio;
Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem
vindas;
Cliente e desenvolvedor trabalham em conjunto diariamente
no projeto;
Entregar software funcionando com frequˆencia: escala de
semanas at´e meses, com preferˆencias a per´ıodos curtos;
Os desenvolvedores devem ser motivados e devem ter
flexibilidade para levar o projeto adiante
Sincroniza¸c˜ao e coordena¸c˜ao: encontros face-a-face
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
Maior prioridade: satisfazer o cliente com entrega cont´ınua
e o mais cedo poss´ıvel de software com valor de neg´ocio;
Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem
vindas;
Cliente e desenvolvedor trabalham em conjunto diariamente
no projeto;
Entregar software funcionando com frequˆencia: escala de
semanas at´e meses, com preferˆencias a per´ıodos curtos;
Os desenvolvedores devem ser motivados e devem ter
flexibilidade para levar o projeto adiante
Sincroniza¸c˜ao e coordena¸c˜ao: encontros face-a-face
Excelˆencia t´ecnica e Boas pr´aticas de projeto e
programa¸c˜ao devem ser aplicadas sempre que poss´ıvel
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
M´etrica base de sucesso: o software funciona e o cliente
est´a satisfeito;
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
M´etrica base de sucesso: o software funciona e o cliente
est´a satisfeito;
Software funciona ⇒ Testes!!
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
M´etrica base de sucesso: o software funciona e o cliente
est´a satisfeito;
Software funciona ⇒ Testes!!
Desenvolvimento sustent´avel: stakeholdes devem manter o
ritmo durante um tempo indefinido;
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
M´etrica base de sucesso: o software funciona e o cliente
est´a satisfeito;
Software funciona ⇒ Testes!!
Desenvolvimento sustent´avel: stakeholdes devem manter o
ritmo durante um tempo indefinido;
Simplicidade - a arte de maximizar a quantidade de trabalho
evitado - ´e essencial;
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
M´etrica base de sucesso: o software funciona e o cliente
est´a satisfeito;
Software funciona ⇒ Testes!!
Desenvolvimento sustent´avel: stakeholdes devem manter o
ritmo durante um tempo indefinido;
Simplicidade - a arte de maximizar a quantidade de trabalho
evitado - ´e essencial;
Times auto-organiz´aveis;
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Princ´ıpios das Metodologias ´Ageis
M´etrica base de sucesso: o software funciona e o cliente
est´a satisfeito;
Software funciona ⇒ Testes!!
Desenvolvimento sustent´avel: stakeholdes devem manter o
ritmo durante um tempo indefinido;
Simplicidade - a arte de maximizar a quantidade de trabalho
evitado - ´e essencial;
Times auto-organiz´aveis;
Times capazes de se auto-ajustarem: em intervalos regulares,
´e necess´ario refletir sobre como tornar o processo mais
efetivo.
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
´Ageis x RAD
N˜ao admite prot´otipo
Equipes democr´aticas
Membros da equipe s˜ao auto-gestores
Pr´aticas ´ageis focam nos problemas e os resolvem o mais
r´apido poss´ıvel
Equipes se comunicam
Equipes demonstram apenas trabalhos completos
Equipes incluem tamb´em testadores e especialistas com
experiˆencia do usu´ario
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Exemplos de Metodologias ´Ageis
Scrum
XP (eXtreme Programming)
FDD (Feature Driven Development)
Crystal
DSDM (Dynamic Systems Development Method)
OpenUP (Open Unified Process)
AUP (Agile Unified Process)
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
XP - Extreme Programming
Valores:
Comunica¸c˜ao
Simplicidade
Feedback
Coragem (disciplina) - ”projetar para hoje”
Respeito
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
XP - Extreme Programming
Princ´ıpios B´asicos:
Feedback r´apido
Presumir simplicidade
Mudan¸cas incrementais
Abra¸car mudan¸cas
Trabalho de alta qualidade.
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP
Figura: Processo do XP.
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Planning Game, ou Jogo do Planejamento:
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Planning Game, ou Jogo do Planejamento:
Feita no in´ıcio de cada itera¸c˜ao
Feito em conjunto com cliente
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Planning Game, ou Jogo do Planejamento:
Feita no in´ıcio de cada itera¸c˜ao
Feito em conjunto com cliente
1a Atividade: ”Ouvir”
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Planning Game, ou Jogo do Planejamento:
Feita no in´ıcio de cada itera¸c˜ao
Feito em conjunto com cliente
1a Atividade: ”Ouvir”
Cria¸c˜ao de ”hist´orias de usu´arios”(similar a ”casos de uso”)
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Planning Game, ou Jogo do Planejamento:
Feita no in´ıcio de cada itera¸c˜ao
Feito em conjunto com cliente
1a Atividade: ”Ouvir”
Cria¸c˜ao de ”hist´orias de usu´arios”(similar a ”casos de uso”)
Cliente atribui valores `as hist´orias (prioridades)
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Planning Game, ou Jogo do Planejamento:
Feita no in´ıcio de cada itera¸c˜ao
Feito em conjunto com cliente
1a Atividade: ”Ouvir”
Cria¸c˜ao de ”hist´orias de usu´arios”(similar a ”casos de uso”)
Cliente atribui valores `as hist´orias (prioridades)
Membros da equipe atribuem custos `as hist´orias (medido em
semanas de desenvolvimento)
Pode ser usado Planning Poker
Uma hist´oria: m´aximo 3 semanas
Clientes e devs decidem como agrupar e ordenar hist´orias para
a vers˜ao seguinte (pr´oximo incremento)
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Final da itera¸c˜ao:
Depois de entregue o incremento: calcular a velocidade do
projeto. Reflex˜ao. Ajuste de estimativas.
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Final da itera¸c˜ao:
Depois de entregue o incremento: calcular a velocidade do
projeto. Reflex˜ao. Ajuste de estimativas.
Cliente pode acrescentar hist´orias, mudar valor de uma
existente, dividir hist´orias ou elimin´a-las
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Planejamento
Final da itera¸c˜ao:
Depois de entregue o incremento: calcular a velocidade do
projeto. Reflex˜ao. Ajuste de estimativas.
Cliente pode acrescentar hist´orias, mudar valor de uma
existente, dividir hist´orias ou elimin´a-las
Equipe deve reconsiderar as hist´orias para pr´oximo incremento
com base nos valores e custos.
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Projeto (Design)
KISS - Projeto Simples
Projeto de funcionalidade extra ´e desencorajado
Cartoes CRC
Prot´otipos (solu¸c˜ao pontual)
Refatora¸c˜ao
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Projeto (Design)
Figura: Exemplo de cart˜ao CRC
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Codifica¸c˜ao e Testes
Antes do c´odigo: teste de unidade (TDD)
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Codifica¸c˜ao e Testes
Antes do c´odigo: teste de unidade (TDD)
Teste de unidade exercitam as hist´orias (requisitos)
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Codifica¸c˜ao e Testes
Antes do c´odigo: teste de unidade (TDD)
Teste de unidade exercitam as hist´orias (requisitos)
Programa¸c˜ao em pares (pair programming)
Garantia de qualidade em tempo real (revis˜ao)
Desenvolvedores focados
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Codifica¸c˜ao e Testes
Antes do c´odigo: teste de unidade (TDD)
Teste de unidade exercitam as hist´orias (requisitos)
Programa¸c˜ao em pares (pair programming)
Garantia de qualidade em tempo real (revis˜ao)
Desenvolvedores focados
Integra¸c˜ao cont´ınua
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Codifica¸c˜ao e Testes
Antes do c´odigo: teste de unidade (TDD)
Teste de unidade exercitam as hist´orias (requisitos)
Programa¸c˜ao em pares (pair programming)
Garantia de qualidade em tempo real (revis˜ao)
Desenvolvedores focados
Integra¸c˜ao cont´ınua
Conjunto total de testes de unidade ⇒ Testes de Integra¸c˜ao e
Valida¸c˜ao
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Codifica¸c˜ao e Testes
Antes do c´odigo: teste de unidade (TDD)
Teste de unidade exercitam as hist´orias (requisitos)
Programa¸c˜ao em pares (pair programming)
Garantia de qualidade em tempo real (revis˜ao)
Desenvolvedores focados
Integra¸c˜ao cont´ınua
Conjunto total de testes de unidade ⇒ Testes de Integra¸c˜ao e
Valida¸c˜ao
Testes de aceita¸c˜ao (testes do cliente)
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
O Processo XP - Ciclo de Vida
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Resumo de um Processo ´Agil com Scrum e XP
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum
Metodologia para gest˜ao e planejamento de software
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum
Metodologia para gest˜ao e planejamento de software
Premissa: processo de desenvolvimento ´e complexo e
imprevis´ıvel
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum
Metodologia para gest˜ao e planejamento de software
Premissa: processo de desenvolvimento ´e complexo e
imprevis´ıvel
Adota uma abordagem emp´ırica em rela¸c˜ao ao processo
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum
Figura: Workflow do Scrum
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum - Atividades
Principais atividades (cerimˆonias):
Reuni˜ao de Planejamento da Sprint
Reuni˜ao di´aria (daily meeting ou standup meeting)
Revis˜ao da Sprint
Retrospectiva da Sprint (reflex˜ao)
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum - Artefatos
Principais artefatos:
Product Backlog (conjunto de requisitos)
Sprint Backlog (itens do backlog a serem desenvolvidos na
sprint)
Gr´afico de burndown
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum - Artefatos
Figura: Scrum Board
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum - Artefatos
Figura: Gr´afico de burndown
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum - Principais Pap´eis
Principais pap´eis:
Product Owner: prioriza os requisitos do sistema, enumerados
no chamado Product Backlog;
Scrum Master: age como facilitar para a equipe de
desenvolvimento;
Equipe/Time Scrum: grupo respons´avel pelas tarefas
definidas.
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Product Owner
Hist´orias
Prioridades
Datas de release
Backlog
Aceite final
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Time Scrum
Sprint goal
Comprometimento
Multidisciplinaridade
Auto-gerenciamento
Comunica¸c˜ao constante
Autoridade
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Scrum Master
Aplica regras
Resolve impedimentos
Protetor
Garante Produtividade
Facilitador
Desenvolvimento ´Agil
O que ´e o Desenvolvimento ´Agil
Leitura Recomendada
SOMMERVILLE, I. Engenharia de Software. Dispon´ıvel na
biblioteca.
PRESSMAN, R. S. Engenharia de Software: Uma Abordagem
Profissional. Dispon´ıvel na biblioteca.

Mais conteúdo relacionado

Mais procurados

Desenvolvimento de software LEAN
Desenvolvimento de software LEAN Desenvolvimento de software LEAN
Desenvolvimento de software LEAN Venícios Gustavo
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreDionatan default
 
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do ConhecimentoMétodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do ConhecimentoClaudia Hofart Guzzo
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4André Vidal
 
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...Juliano Ribeiro
 
Sua Gestão é Ágil?
Sua Gestão é Ágil?Sua Gestão é Ágil?
Sua Gestão é Ágil?Teresa Maciel
 
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaFerramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaCarlos Felippe Cardoso
 
Material Workshop Scrum foundation - Fernando Cunha
Material Workshop Scrum foundation -  Fernando CunhaMaterial Workshop Scrum foundation -  Fernando Cunha
Material Workshop Scrum foundation - Fernando CunhaWise Systems
 
Cursos Agile Think - Lean - 2/4
Cursos Agile Think - Lean - 2/4Cursos Agile Think - Lean - 2/4
Cursos Agile Think - Lean - 2/4André Vidal
 
Do Scrum ao Kanban, passando pelo Scrumban: lições aprendidas do desenvolvime...
Do Scrum ao Kanban, passando pelo Scrumban: lições aprendidas do desenvolvime...Do Scrum ao Kanban, passando pelo Scrumban: lições aprendidas do desenvolvime...
Do Scrum ao Kanban, passando pelo Scrumban: lições aprendidas do desenvolvime...Natalia Manha
 
O que é Metodologia Ágil ?
O  que é Metodologia Ágil ?O  que é Metodologia Ágil ?
O que é Metodologia Ágil ?Busque o Melhor
 

Mais procurados (20)

Desenvolvimento de software LEAN
Desenvolvimento de software LEAN Desenvolvimento de software LEAN
Desenvolvimento de software LEAN
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software Livre
 
LEAN x Ágil
LEAN x ÁgilLEAN x Ágil
LEAN x Ágil
 
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do ConhecimentoMétodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
 
Teste Ágeis para todo o time
Teste Ágeis para todo o timeTeste Ágeis para todo o time
Teste Ágeis para todo o time
 
Onde Estamos?
Onde Estamos?Onde Estamos?
Onde Estamos?
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
 
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
 
Scrum
ScrumScrum
Scrum
 
Sua Gestão é Ágil?
Sua Gestão é Ágil?Sua Gestão é Ágil?
Sua Gestão é Ágil?
 
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaFerramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
 
05 agile
05 agile05 agile
05 agile
 
Personagens Ageis
Personagens AgeisPersonagens Ageis
Personagens Ageis
 
Processos Ágeis
Processos Ágeis Processos Ágeis
Processos Ágeis
 
Material Workshop Scrum foundation - Fernando Cunha
Material Workshop Scrum foundation -  Fernando CunhaMaterial Workshop Scrum foundation -  Fernando Cunha
Material Workshop Scrum foundation - Fernando Cunha
 
Cursos Agile Think - Lean - 2/4
Cursos Agile Think - Lean - 2/4Cursos Agile Think - Lean - 2/4
Cursos Agile Think - Lean - 2/4
 
Desmistificando Agile & Scrum
Desmistificando Agile & ScrumDesmistificando Agile & Scrum
Desmistificando Agile & Scrum
 
Do Scrum ao Kanban, passando pelo Scrumban: lições aprendidas do desenvolvime...
Do Scrum ao Kanban, passando pelo Scrumban: lições aprendidas do desenvolvime...Do Scrum ao Kanban, passando pelo Scrumban: lições aprendidas do desenvolvime...
Do Scrum ao Kanban, passando pelo Scrumban: lições aprendidas do desenvolvime...
 
O que é Metodologia Ágil ?
O  que é Metodologia Ágil ?O  que é Metodologia Ágil ?
O que é Metodologia Ágil ?
 
Direcao x Velocidade
Direcao x VelocidadeDirecao x Velocidade
Direcao x Velocidade
 

Semelhante a Desenvolvimento Ágil: Princípios e Metodologias

Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMarcelo Murad
 
Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2Edinaldo Mendes
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Agile Think® Share
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o focoewerttonbravo
 
Lean Thinking e Agile para desenvolvimento de software
Lean Thinking e Agile para desenvolvimento de softwareLean Thinking e Agile para desenvolvimento de software
Lean Thinking e Agile para desenvolvimento de softwareTiago França
 
O que não te contaram sobre o Ágil
O que não te contaram sobre o ÁgilO que não te contaram sobre o Ágil
O que não te contaram sobre o ÁgilWilhelm Meier
 
O que é um Processo Ágil? | BRUNO FERNANDES CHIMIESKI
O que é um Processo Ágil? | BRUNO FERNANDES CHIMIESKIO que é um Processo Ágil? | BRUNO FERNANDES CHIMIESKI
O que é um Processo Ágil? | BRUNO FERNANDES CHIMIESKIBruno Fernandes Chimieski
 
Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013Lourenco P Soares
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - ResumoDaniel Brandão
 
Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez! Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez! Adriano Tavares
 
Metodologia ágil das Desenvolvimento Adaptativo Software
Metodologia ágil das   Desenvolvimento Adaptativo SoftwareMetodologia ágil das   Desenvolvimento Adaptativo Software
Metodologia ágil das Desenvolvimento Adaptativo SoftwareMarilainny Martins da Silva
 
Metodologia agil no desenvolvimento criativo de software
Metodologia agil no desenvolvimento criativo de softwareMetodologia agil no desenvolvimento criativo de software
Metodologia agil no desenvolvimento criativo de softwareUniversidade Tiradentes
 

Semelhante a Desenvolvimento Ágil: Princípios e Metodologias (20)

Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs Agile
 
Vantagens agil 3
Vantagens agil 3Vantagens agil 3
Vantagens agil 3
 
Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
 
Agilidade em projetos de software
Agilidade em projetos de softwareAgilidade em projetos de software
Agilidade em projetos de software
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o foco
 
Lean Thinking e Agile para desenvolvimento de software
Lean Thinking e Agile para desenvolvimento de softwareLean Thinking e Agile para desenvolvimento de software
Lean Thinking e Agile para desenvolvimento de software
 
Seja ágil com o Scrum - parte 01
Seja ágil com o Scrum - parte 01Seja ágil com o Scrum - parte 01
Seja ágil com o Scrum - parte 01
 
JORNADA DE TRANSFORMAÇÃO ÁGIL NAS EMPRESAS
JORNADA DE TRANSFORMAÇÃO ÁGIL NAS EMPRESAS JORNADA DE TRANSFORMAÇÃO ÁGIL NAS EMPRESAS
JORNADA DE TRANSFORMAÇÃO ÁGIL NAS EMPRESAS
 
Manifesto Ágil
Manifesto ÁgilManifesto Ágil
Manifesto Ágil
 
Lightning talk Métodos Ágeis
Lightning talk Métodos ÁgeisLightning talk Métodos Ágeis
Lightning talk Métodos Ágeis
 
O que não te contaram sobre o Ágil
O que não te contaram sobre o ÁgilO que não te contaram sobre o Ágil
O que não te contaram sobre o Ágil
 
O que é um Processo Ágil? | BRUNO FERNANDES CHIMIESKI
O que é um Processo Ágil? | BRUNO FERNANDES CHIMIESKIO que é um Processo Ágil? | BRUNO FERNANDES CHIMIESKI
O que é um Processo Ágil? | BRUNO FERNANDES CHIMIESKI
 
Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - Resumo
 
Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez! Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez!
 
Lean software
Lean software Lean software
Lean software
 
Metodologia ágil das Desenvolvimento Adaptativo Software
Metodologia ágil das   Desenvolvimento Adaptativo SoftwareMetodologia ágil das   Desenvolvimento Adaptativo Software
Metodologia ágil das Desenvolvimento Adaptativo Software
 
Rally Software
Rally SoftwareRally Software
Rally Software
 
Metodologia agil no desenvolvimento criativo de software
Metodologia agil no desenvolvimento criativo de softwareMetodologia agil no desenvolvimento criativo de software
Metodologia agil no desenvolvimento criativo de software
 

Mais de Helio Henrique L. C. Monte-Alto

Context Awareness e Sistemas Multiagentes para o Suporte a Ambientes de Traba...
Context Awareness e Sistemas Multiagentes para o Suporte a Ambientes de Traba...Context Awareness e Sistemas Multiagentes para o Suporte a Ambientes de Traba...
Context Awareness e Sistemas Multiagentes para o Suporte a Ambientes de Traba...Helio Henrique L. C. Monte-Alto
 
Introdução à Programação Orientada a Objetos Usando Java
Introdução à Programação Orientada a Objetos Usando JavaIntrodução à Programação Orientada a Objetos Usando Java
Introdução à Programação Orientada a Objetos Usando JavaHelio Henrique L. C. Monte-Alto
 
Multi-agent applications in a context-aware global software development envir...
Multi-agent applications in a context-aware global software development envir...Multi-agent applications in a context-aware global software development envir...
Multi-agent applications in a context-aware global software development envir...Helio Henrique L. C. Monte-Alto
 
Estudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasEstudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasHelio Henrique L. C. Monte-Alto
 
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...Helio Henrique L. C. Monte-Alto
 
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoSistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoHelio Henrique L. C. Monte-Alto
 
ESTUDO DE MOBILIDADE DE AGENTES EM APLICAÇÕES SENSÍVEIS AO CONTEXTO
ESTUDO DE MOBILIDADE DE AGENTES EM  APLICAÇÕES SENSÍVEIS AO CONTEXTOESTUDO DE MOBILIDADE DE AGENTES EM  APLICAÇÕES SENSÍVEIS AO CONTEXTO
ESTUDO DE MOBILIDADE DE AGENTES EM APLICAÇÕES SENSÍVEIS AO CONTEXTOHelio Henrique L. C. Monte-Alto
 

Mais de Helio Henrique L. C. Monte-Alto (14)

Processo de Software
Processo de SoftwareProcesso de Software
Processo de Software
 
Context Awareness e Sistemas Multiagentes para o Suporte a Ambientes de Traba...
Context Awareness e Sistemas Multiagentes para o Suporte a Ambientes de Traba...Context Awareness e Sistemas Multiagentes para o Suporte a Ambientes de Traba...
Context Awareness e Sistemas Multiagentes para o Suporte a Ambientes de Traba...
 
Teoremas da Incompletude de Gödel
Teoremas da Incompletude de GödelTeoremas da Incompletude de Gödel
Teoremas da Incompletude de Gödel
 
Suporte à Programação Orientada a Objetos
Suporte à Programação Orientada a ObjetosSuporte à Programação Orientada a Objetos
Suporte à Programação Orientada a Objetos
 
Introdução à Programação Orientada a Objetos Usando Java
Introdução à Programação Orientada a Objetos Usando JavaIntrodução à Programação Orientada a Objetos Usando Java
Introdução à Programação Orientada a Objetos Usando Java
 
Tipos Abstratos de Dados e Encapsulamento
Tipos Abstratos de Dados e EncapsulamentoTipos Abstratos de Dados e Encapsulamento
Tipos Abstratos de Dados e Encapsulamento
 
Multi-agent applications in a context-aware global software development envir...
Multi-agent applications in a context-aware global software development envir...Multi-agent applications in a context-aware global software development envir...
Multi-agent applications in a context-aware global software development envir...
 
Estudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasEstudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologias
 
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
 
Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
 
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoSistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
 
Ferramentas Case - fase de análise e projeto
Ferramentas Case - fase de análise e projetoFerramentas Case - fase de análise e projeto
Ferramentas Case - fase de análise e projeto
 
Rmi (remote method invocation)
Rmi (remote method invocation)Rmi (remote method invocation)
Rmi (remote method invocation)
 
ESTUDO DE MOBILIDADE DE AGENTES EM APLICAÇÕES SENSÍVEIS AO CONTEXTO
ESTUDO DE MOBILIDADE DE AGENTES EM  APLICAÇÕES SENSÍVEIS AO CONTEXTOESTUDO DE MOBILIDADE DE AGENTES EM  APLICAÇÕES SENSÍVEIS AO CONTEXTO
ESTUDO DE MOBILIDADE DE AGENTES EM APLICAÇÕES SENSÍVEIS AO CONTEXTO
 

Desenvolvimento Ágil: Princípios e Metodologias

  • 1. Desenvolvimento ´Agil Desenvolvimento ´Agil Helio Henrique L. C. Monte-Alto Disciplina: Projeto de Software 2016
  • 2. Desenvolvimento ´Agil T´opicos 1 O que ´e o Desenvolvimento ´Agil
  • 3. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Em 2001: ”Agile Alliance- ”Alian¸ca dos ´Ageis”; Composta por Kent Beck e outros dezesseis renomados desenvolvedores, autores e consultores da ´area de software; O ”Manifesto para o Desenvolvimento ´Agil de Software”
  • 4. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Manifesto ´Agil Valorizar:
  • 5. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Manifesto ´Agil Valorizar: Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas
  • 6. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Manifesto ´Agil Valorizar: Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas Software operacional acima de documenta¸c˜ao completa
  • 7. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Manifesto ´Agil Valorizar: Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas Software operacional acima de documenta¸c˜ao completa Colabora¸c˜ao dos clientes acima de negocia¸c˜ao contratual
  • 8. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Manifesto ´Agil Valorizar: Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas Software operacional acima de documenta¸c˜ao completa Colabora¸c˜ao dos clientes acima de negocia¸c˜ao contratual Respostas a mudan¸cas acima de seguir um plano
  • 9. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Manifesto ´Agil Valorizar: Indiv´ıduos e intera¸c˜oes acima de processos e ferramentas Software operacional acima de documenta¸c˜ao completa Colabora¸c˜ao dos clientes acima de negocia¸c˜ao contratual Respostas a mudan¸cas acima de seguir um plano Ou seja, embora haja valor nos itens ´a direita, valorizaremos os da esquerda mais ainda. Ex: H´a documenta¸c˜ao e h´a planejamento, mas valoriza-se mais os outros pontos.
  • 10. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Motiva¸c˜ao Figura: Custos de altera¸c˜oes como uma fun¸c˜ao do tempo de desenvolvimento
  • 11. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Motiva¸c˜ao Figura: Custos de altera¸c˜oes como uma fun¸c˜ao do tempo de desenvolvimento com Agile
  • 12. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Motiva¸c˜ao Os neg´ocios operam com requisitos que mudam rapidamente
  • 13. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Motiva¸c˜ao Os neg´ocios operam com requisitos que mudam rapidamente Imposs´ıvel produzir um conjunto est´avel de requisitos
  • 14. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Motiva¸c˜ao Os neg´ocios operam com requisitos que mudam rapidamente Imposs´ıvel produzir um conjunto est´avel de requisitos O software precisa evoluir rapidamente
  • 15. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Motiva¸c˜ao Os neg´ocios operam com requisitos que mudam rapidamente Imposs´ıvel produzir um conjunto est´avel de requisitos O software precisa evoluir rapidamente Os incrementos precisam ser entregues rapidamente
  • 16. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis Maior prioridade: satisfazer o cliente com entrega cont´ınua e o mais cedo poss´ıvel de software com valor de neg´ocio;
  • 17. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis Maior prioridade: satisfazer o cliente com entrega cont´ınua e o mais cedo poss´ıvel de software com valor de neg´ocio; Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem vindas;
  • 18. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis Maior prioridade: satisfazer o cliente com entrega cont´ınua e o mais cedo poss´ıvel de software com valor de neg´ocio; Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem vindas; Cliente e desenvolvedor trabalham em conjunto diariamente no projeto;
  • 19. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis Maior prioridade: satisfazer o cliente com entrega cont´ınua e o mais cedo poss´ıvel de software com valor de neg´ocio; Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem vindas; Cliente e desenvolvedor trabalham em conjunto diariamente no projeto; Entregar software funcionando com frequˆencia: escala de semanas at´e meses, com preferˆencias a per´ıodos curtos;
  • 20. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis Maior prioridade: satisfazer o cliente com entrega cont´ınua e o mais cedo poss´ıvel de software com valor de neg´ocio; Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem vindas; Cliente e desenvolvedor trabalham em conjunto diariamente no projeto; Entregar software funcionando com frequˆencia: escala de semanas at´e meses, com preferˆencias a per´ıodos curtos; Os desenvolvedores devem ser motivados e devem ter flexibilidade para levar o projeto adiante
  • 21. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis Maior prioridade: satisfazer o cliente com entrega cont´ınua e o mais cedo poss´ıvel de software com valor de neg´ocio; Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem vindas; Cliente e desenvolvedor trabalham em conjunto diariamente no projeto; Entregar software funcionando com frequˆencia: escala de semanas at´e meses, com preferˆencias a per´ıodos curtos; Os desenvolvedores devem ser motivados e devem ter flexibilidade para levar o projeto adiante Sincroniza¸c˜ao e coordena¸c˜ao: encontros face-a-face
  • 22. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis Maior prioridade: satisfazer o cliente com entrega cont´ınua e o mais cedo poss´ıvel de software com valor de neg´ocio; Aceitar mudan¸cas: Mudan¸cas de requisitos s˜ao sempre bem vindas; Cliente e desenvolvedor trabalham em conjunto diariamente no projeto; Entregar software funcionando com frequˆencia: escala de semanas at´e meses, com preferˆencias a per´ıodos curtos; Os desenvolvedores devem ser motivados e devem ter flexibilidade para levar o projeto adiante Sincroniza¸c˜ao e coordena¸c˜ao: encontros face-a-face Excelˆencia t´ecnica e Boas pr´aticas de projeto e programa¸c˜ao devem ser aplicadas sempre que poss´ıvel
  • 23. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis M´etrica base de sucesso: o software funciona e o cliente est´a satisfeito;
  • 24. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis M´etrica base de sucesso: o software funciona e o cliente est´a satisfeito; Software funciona ⇒ Testes!!
  • 25. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis M´etrica base de sucesso: o software funciona e o cliente est´a satisfeito; Software funciona ⇒ Testes!! Desenvolvimento sustent´avel: stakeholdes devem manter o ritmo durante um tempo indefinido;
  • 26. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis M´etrica base de sucesso: o software funciona e o cliente est´a satisfeito; Software funciona ⇒ Testes!! Desenvolvimento sustent´avel: stakeholdes devem manter o ritmo durante um tempo indefinido; Simplicidade - a arte de maximizar a quantidade de trabalho evitado - ´e essencial;
  • 27. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis M´etrica base de sucesso: o software funciona e o cliente est´a satisfeito; Software funciona ⇒ Testes!! Desenvolvimento sustent´avel: stakeholdes devem manter o ritmo durante um tempo indefinido; Simplicidade - a arte de maximizar a quantidade de trabalho evitado - ´e essencial; Times auto-organiz´aveis;
  • 28. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Princ´ıpios das Metodologias ´Ageis M´etrica base de sucesso: o software funciona e o cliente est´a satisfeito; Software funciona ⇒ Testes!! Desenvolvimento sustent´avel: stakeholdes devem manter o ritmo durante um tempo indefinido; Simplicidade - a arte de maximizar a quantidade de trabalho evitado - ´e essencial; Times auto-organiz´aveis; Times capazes de se auto-ajustarem: em intervalos regulares, ´e necess´ario refletir sobre como tornar o processo mais efetivo.
  • 29. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil ´Ageis x RAD N˜ao admite prot´otipo Equipes democr´aticas Membros da equipe s˜ao auto-gestores Pr´aticas ´ageis focam nos problemas e os resolvem o mais r´apido poss´ıvel Equipes se comunicam Equipes demonstram apenas trabalhos completos Equipes incluem tamb´em testadores e especialistas com experiˆencia do usu´ario
  • 30. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Exemplos de Metodologias ´Ageis Scrum XP (eXtreme Programming) FDD (Feature Driven Development) Crystal DSDM (Dynamic Systems Development Method) OpenUP (Open Unified Process) AUP (Agile Unified Process)
  • 31. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil XP - Extreme Programming Valores: Comunica¸c˜ao Simplicidade Feedback Coragem (disciplina) - ”projetar para hoje” Respeito
  • 32. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil XP - Extreme Programming Princ´ıpios B´asicos: Feedback r´apido Presumir simplicidade Mudan¸cas incrementais Abra¸car mudan¸cas Trabalho de alta qualidade.
  • 33. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP Figura: Processo do XP.
  • 34. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Planning Game, ou Jogo do Planejamento:
  • 35. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Planning Game, ou Jogo do Planejamento: Feita no in´ıcio de cada itera¸c˜ao Feito em conjunto com cliente
  • 36. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Planning Game, ou Jogo do Planejamento: Feita no in´ıcio de cada itera¸c˜ao Feito em conjunto com cliente 1a Atividade: ”Ouvir”
  • 37. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Planning Game, ou Jogo do Planejamento: Feita no in´ıcio de cada itera¸c˜ao Feito em conjunto com cliente 1a Atividade: ”Ouvir” Cria¸c˜ao de ”hist´orias de usu´arios”(similar a ”casos de uso”)
  • 38. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Planning Game, ou Jogo do Planejamento: Feita no in´ıcio de cada itera¸c˜ao Feito em conjunto com cliente 1a Atividade: ”Ouvir” Cria¸c˜ao de ”hist´orias de usu´arios”(similar a ”casos de uso”) Cliente atribui valores `as hist´orias (prioridades)
  • 39. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Planning Game, ou Jogo do Planejamento: Feita no in´ıcio de cada itera¸c˜ao Feito em conjunto com cliente 1a Atividade: ”Ouvir” Cria¸c˜ao de ”hist´orias de usu´arios”(similar a ”casos de uso”) Cliente atribui valores `as hist´orias (prioridades) Membros da equipe atribuem custos `as hist´orias (medido em semanas de desenvolvimento) Pode ser usado Planning Poker Uma hist´oria: m´aximo 3 semanas Clientes e devs decidem como agrupar e ordenar hist´orias para a vers˜ao seguinte (pr´oximo incremento)
  • 40. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento
  • 41. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Final da itera¸c˜ao: Depois de entregue o incremento: calcular a velocidade do projeto. Reflex˜ao. Ajuste de estimativas.
  • 42. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Final da itera¸c˜ao: Depois de entregue o incremento: calcular a velocidade do projeto. Reflex˜ao. Ajuste de estimativas. Cliente pode acrescentar hist´orias, mudar valor de uma existente, dividir hist´orias ou elimin´a-las
  • 43. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Final da itera¸c˜ao: Depois de entregue o incremento: calcular a velocidade do projeto. Reflex˜ao. Ajuste de estimativas. Cliente pode acrescentar hist´orias, mudar valor de uma existente, dividir hist´orias ou elimin´a-las Equipe deve reconsiderar as hist´orias para pr´oximo incremento com base nos valores e custos.
  • 44. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Projeto (Design) KISS - Projeto Simples Projeto de funcionalidade extra ´e desencorajado Cartoes CRC Prot´otipos (solu¸c˜ao pontual) Refatora¸c˜ao
  • 45. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Projeto (Design) Figura: Exemplo de cart˜ao CRC
  • 46. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Codifica¸c˜ao e Testes Antes do c´odigo: teste de unidade (TDD)
  • 47. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Codifica¸c˜ao e Testes Antes do c´odigo: teste de unidade (TDD) Teste de unidade exercitam as hist´orias (requisitos)
  • 48. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Codifica¸c˜ao e Testes Antes do c´odigo: teste de unidade (TDD) Teste de unidade exercitam as hist´orias (requisitos) Programa¸c˜ao em pares (pair programming) Garantia de qualidade em tempo real (revis˜ao) Desenvolvedores focados
  • 49. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Codifica¸c˜ao e Testes Antes do c´odigo: teste de unidade (TDD) Teste de unidade exercitam as hist´orias (requisitos) Programa¸c˜ao em pares (pair programming) Garantia de qualidade em tempo real (revis˜ao) Desenvolvedores focados Integra¸c˜ao cont´ınua
  • 50. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Codifica¸c˜ao e Testes Antes do c´odigo: teste de unidade (TDD) Teste de unidade exercitam as hist´orias (requisitos) Programa¸c˜ao em pares (pair programming) Garantia de qualidade em tempo real (revis˜ao) Desenvolvedores focados Integra¸c˜ao cont´ınua Conjunto total de testes de unidade ⇒ Testes de Integra¸c˜ao e Valida¸c˜ao
  • 51. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Codifica¸c˜ao e Testes Antes do c´odigo: teste de unidade (TDD) Teste de unidade exercitam as hist´orias (requisitos) Programa¸c˜ao em pares (pair programming) Garantia de qualidade em tempo real (revis˜ao) Desenvolvedores focados Integra¸c˜ao cont´ınua Conjunto total de testes de unidade ⇒ Testes de Integra¸c˜ao e Valida¸c˜ao Testes de aceita¸c˜ao (testes do cliente)
  • 52. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Ciclo de Vida
  • 53. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Resumo de um Processo ´Agil com Scrum e XP
  • 54. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum Metodologia para gest˜ao e planejamento de software
  • 55. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum Metodologia para gest˜ao e planejamento de software Premissa: processo de desenvolvimento ´e complexo e imprevis´ıvel
  • 56. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum Metodologia para gest˜ao e planejamento de software Premissa: processo de desenvolvimento ´e complexo e imprevis´ıvel Adota uma abordagem emp´ırica em rela¸c˜ao ao processo
  • 57. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum Figura: Workflow do Scrum
  • 58. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum - Atividades Principais atividades (cerimˆonias): Reuni˜ao de Planejamento da Sprint Reuni˜ao di´aria (daily meeting ou standup meeting) Revis˜ao da Sprint Retrospectiva da Sprint (reflex˜ao)
  • 59. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum - Artefatos Principais artefatos: Product Backlog (conjunto de requisitos) Sprint Backlog (itens do backlog a serem desenvolvidos na sprint) Gr´afico de burndown
  • 60. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum - Artefatos Figura: Scrum Board
  • 61. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum - Artefatos Figura: Gr´afico de burndown
  • 62. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum - Principais Pap´eis Principais pap´eis: Product Owner: prioriza os requisitos do sistema, enumerados no chamado Product Backlog; Scrum Master: age como facilitar para a equipe de desenvolvimento; Equipe/Time Scrum: grupo respons´avel pelas tarefas definidas.
  • 63. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Product Owner Hist´orias Prioridades Datas de release Backlog Aceite final
  • 64. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Time Scrum Sprint goal Comprometimento Multidisciplinaridade Auto-gerenciamento Comunica¸c˜ao constante Autoridade
  • 65. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum Master Aplica regras Resolve impedimentos Protetor Garante Produtividade Facilitador
  • 66. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Leitura Recomendada SOMMERVILLE, I. Engenharia de Software. Dispon´ıvel na biblioteca. PRESSMAN, R. S. Engenharia de Software: Uma Abordagem Profissional. Dispon´ıvel na biblioteca.