Metodologias Ágeis Para o
Desenvolvimento de Software
Profa. Karen Borges
Motivação

http://youtu.be/sZ38n9gwYiw
Manifesto Ágil
• Indivíduos e interações mais
que processos e ferramentas
• Software em funcionamento mais
que documentaçã...
Manifesto Ágil
• Propõe, através dos seus 12 princípios, uma
metodologia de desenvolvimento de software baseada
em :
– for...
Ser ágil é ...
•
•
•
•
•

Evitar o desperdício
Buscar a melhoria contínua
Agregar valor ao que está sendo produzido
Colabo...
Ser ágil é ...
Você é ágil ?
• Busca ir além do que lhe foi pedido ? Fazer
sempre melhor ?
• Fica esperando que lhe digam o que fazer ?
O...
Pigs and Chickens
• Quem você é ?
O que são métodos ágeis
• É uma atitude, não um processo
prescritivo.
• É um suplemento aos métodos existentes,
ele não é ...
O que são métodos ágeis
• É para o desenvolvedor médio, mas não é
um substituto de pessoas competentes.
• Não é um ataque ...
Métodos Ágeis
•
•
•
•
•
•
•
•
•
•

Agile Data (AD)
Agile Microsoft Solutions Framework (MSF)
Agile Modeling (AM)
Agile Uni...
Métodos Ágeis
• São baseados em princípios e valores
• Os artefatos não são a essência
• Agile by the book pode não ser a ...
Scrum
Scrum

http://www.youtube.com/watch?v=1kGBLGEvDcc
Scrum
• Em Rugby, Scrum é um time de oito
integrantes que trabalham em conjunto
para levar a bola adiante no campo.
• Ou s...
Scrum
• Metodologia para gestão de projetos de
desenvolvimento de software.
• Ideal para equipes de 5 a 9 profissionais.
•...
Scrum
• Papéis:
– Scrum master: é o responsável por garantir
que os princípios, valores e regras do Scrum
sejam aplicados....
Scrum
• “ Se uma empresa não possui processos
definidos, o Scrum é uma das melhores opções,
pois ele é simples de entender...
Scrum
• Princípios:
– Aceitar as incertezas
– Constante planejamento
– Trabalhar como um time
– Equipes auto-gerenciáveis
...
Práticas Ágeis
• Sprint: é um período de tempo, de 1 a 4
semanas, ao final do qual é apresentada uma
nova funcionalidade i...
Práticas Ágeis
• Backlog é uma lista das
atividades a serem
realizadas pela equipe.
– Os itens que compõe a
lista são cham...
Ferramenta - Kanban

http://youtu.be/LJOiFRsp0Z8
Práticas Ágeis
• Histórias:
–
–

São os problemas a serem resolvidos
São subdivididas em tarefas (tasks). Cada
task tem:
•...
Práticas Ágeis
• Histórias – exemplo
Como:
Desejo:
Para com isso:
Critérios de
Aceitação

Administrador do sistema
Que ape...
Práticas Ágeis
• Tarefas da história
T01 - US03 – Acrescentar ao modelo de dados do sistema de carga a tabela
de permissõe...
Ferramenta
Ferramenta
Ferramenta – Planning Poker

http://www.youtube.com/watch?v=gE7srp2BzoM
Práticas Ágeis
• Daily Meetings: reuniões diárias de 15 minutos,
onde todos respondem às perguntas:
– O que você realizou ...
Scrum + XP
“É um erro achar que usar Scrum sozinho trará
agilidade para os projetos de software. Scrum é
apenas uma ferram...
XP
• Extreme Programming é uma metodologia
de desenvolvimento de software voltada
para equipes de 2 a 10 programadores
com...
XP
• Valores básicos:
– Comunicação: constante entre os membros
da equipe
– Simplicidade: implementar o que é necessário
–...
Práticas Ágeis
– Foco na codificação
• Programação em
pares
• Código público (SVN)
• Refatoração
• Uso de padrões
Práticas Ágeis
• Pouca documentação
• Desenvolvimento orientado a testes
– Testes unitários
– Testes de integração
– Teste...
Não ser ágil é ...
Referências
• Abrahamson, Pekka; Salo, Outi; Ronkainen,
Jussi. Agile Software Development Methods:
review and analysis. Ot...
Referências
• Cohn, Mike. User Stories Applied For Agile
Software Development. Edt. Pearson. 2004
• Costa, Fernando. Agili...
Referências
Próximos SlideShares
Carregando em…5
×

Metodologias Ágeis

476 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
476
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
16
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Metodologias Ágeis

  1. 1. Metodologias Ágeis Para o Desenvolvimento de Software Profa. Karen Borges
  2. 2. Motivação http://youtu.be/sZ38n9gwYiw
  3. 3. Manifesto Ágil • Indivíduos e interações mais que processos e ferramentas • Software em funcionamento mais que documentação abrangente • Colaboração com o cliente mais que negociação de contratos • Responder a mudanças mais que seguir um plano
  4. 4. Manifesto Ágil • Propõe, através dos seus 12 princípios, uma metodologia de desenvolvimento de software baseada em : – forte interação com o cliente; – redução e simplificação da quantidade de documentos gerados durante o projeto; – entrega freqüente de executáveis – desenvolvimento incremental
  5. 5. Ser ágil é ... • • • • • Evitar o desperdício Buscar a melhoria contínua Agregar valor ao que está sendo produzido Colaborar Ser pró-ativo AGILE = SMART
  6. 6. Ser ágil é ...
  7. 7. Você é ágil ? • Busca ir além do que lhe foi pedido ? Fazer sempre melhor ? • Fica esperando que lhe digam o que fazer ? Onde trabalhar ? • É capaz de se adaptar ? De lidar com as mudanças ? • É colaborativo ? • Busca prazer naquilo que faz ? Vê propósito no que faz ? • É diligente, inspirador e compreensivo ? • Consegue manter equilíbrio entre trabalho e vida pessoal ?
  8. 8. Pigs and Chickens • Quem você é ?
  9. 9. O que são métodos ágeis • É uma atitude, não um processo prescritivo. • É um suplemento aos métodos existentes, ele não é uma metodologia completa. • É uma forma efetiva de se trabalhar em conjunto para atingir as necessidades das partes interessadas no projeto. • É uma coisa que funciona na prática, não é teoria acadêmica
  10. 10. O que são métodos ágeis • É para o desenvolvedor médio, mas não é um substituto de pessoas competentes. • Não é um ataque à documentação, pelo contrário aconselha a criação de documentos que tem valor. • Não é um ataque às ferramentas CASE
  11. 11. Métodos Ágeis • • • • • • • • • • Agile Data (AD) Agile Microsoft Solutions Framework (MSF) Agile Modeling (AM) Agile Unified Process (AUP) Dynamic System Development Method (DSDM) Extreme Programming (XP) Feature Driven Development (FDD) Scrum Usage-Centered Design (UCD) Outros ...
  12. 12. Métodos Ágeis • São baseados em princípios e valores • Os artefatos não são a essência • Agile by the book pode não ser a melhor abordagem
  13. 13. Scrum
  14. 14. Scrum http://www.youtube.com/watch?v=1kGBLGEvDcc
  15. 15. Scrum • Em Rugby, Scrum é um time de oito integrantes que trabalham em conjunto para levar a bola adiante no campo. • Ou seja: times trabalhando como uma unidade altamente integrada com cada membro desempenhando um papel bem definido e o time inteiro focando num único objetivo.
  16. 16. Scrum • Metodologia para gestão de projetos de desenvolvimento de software. • Ideal para equipes de 5 a 9 profissionais. • Não existem as figuras de programador, testador, arquiteto, etc. Equipe multidisciplinar (cross-functional). • Time !
  17. 17. Scrum • Papéis: – Scrum master: é o responsável por garantir que os princípios, valores e regras do Scrum sejam aplicados. – Product owner: é um representante do cliente. Responsável pelo levantamento de requisitos (histórias) e manutenção do backlog. – Time
  18. 18. Scrum • “ Se uma empresa não possui processos definidos, o Scrum é uma das melhores opções, pois ele é simples de entender e bem mais simples de implantar que outros processos ... O mais importante é que ele traz uma caixa de ferramentas de boas práticas de trabalho, permitindo obter bons resultados, mesmo que a equipe não tenha domínio completo das técnicas que estão sendo utilizadas”. Nelson Abu Scrum Master
  19. 19. Scrum • Princípios: – Aceitar as incertezas – Constante planejamento – Trabalhar como um time – Equipes auto-gerenciáveis – Manter um ritmo de trabalho suportável – Entregas freqüentes
  20. 20. Práticas Ágeis • Sprint: é um período de tempo, de 1 a 4 semanas, ao final do qual é apresentada uma nova funcionalidade integrada ao sistema
  21. 21. Práticas Ágeis • Backlog é uma lista das atividades a serem realizadas pela equipe. – Os itens que compõe a lista são chamados de histórias – Todos podem incluir histórias – Somente o Product Owner pode priorizá-las – Product Owner pode priorizar novamente no início de cada Sprint
  22. 22. Ferramenta - Kanban http://youtu.be/LJOiFRsp0Z8
  23. 23. Práticas Ágeis • Histórias: – – São os problemas a serem resolvidos São subdivididas em tarefas (tasks). Cada task tem: • • • um responsável um executor (cada um escolhe o que acha que tem condições de resolver), estimativa de horas (conforme a experiência do executor).
  24. 24. Práticas Ágeis • Histórias – exemplo Como: Desejo: Para com isso: Critérios de Aceitação Administrador do sistema Que apenas pessoas autorizadas tenham acesso ao sistema de pesquisa Ter controle sobre o acesso aos dados Sistema de autenticação funcionando corretamente Conforme Mike Cohn
  25. 25. Práticas Ágeis • Tarefas da história T01 - US03 – Acrescentar ao modelo de dados do sistema de carga a tabela de permissões de acesso Responsável: Ricardo/ João Complexidade: 13 Prioridade: 2 Iniciada em: 23/06 Finalizada em: 30/06 T02 - US03 - Elaborar as consultas de usuários cadastrados Responsável: João/ Jane Complexidade: 8 Prioridade: 5 Iniciada em: Finalizada em: T03 - US03 – Implementar a interface do sistema de autenticação Responsável: Ricardo/Guilherme Complexidade: 2 Prioridade: 4 Iniciada em: Finalizada em: T04 - US03 – Implementar a interface do sistema de cadastramento de usuários e permissões Responsável: Ricardo/Guilherme Complexidade: 2 Prioridade: 4 Iniciada em: Finalizada em: T05 – US03 – Linkar o sistema autenticação com o sistema de geração de gráficos e relatórios Responsável: Ricardo/ Carlos Complexidade: 21 Prioridade: 6 Iniciada em: Finalizada em:
  26. 26. Ferramenta
  27. 27. Ferramenta
  28. 28. Ferramenta – Planning Poker http://www.youtube.com/watch?v=gE7srp2BzoM
  29. 29. Práticas Ágeis • Daily Meetings: reuniões diárias de 15 minutos, onde todos respondem às perguntas: – O que você realizou desde a última reunião? – Quais problemas você enfrentou? – Em que você trabalhará até a próxima reunião?
  30. 30. Scrum + XP “É um erro achar que usar Scrum sozinho trará agilidade para os projetos de software. Scrum é apenas uma ferramenta para facilitar o gerenciamento de projetos, sejam eles de aviões, carros ou softwares. Para desenvolver software com Scrum é necessário adicionar práticas ágeis de engenharia de software como as do XP, que é específico para isso, para que aí sim você tenha verdadeira agilidade”. Guilherme Chapiewski Coordenador de webmedia da Globo.com 30
  31. 31. XP • Extreme Programming é uma metodologia de desenvolvimento de software voltada para equipes de 2 a 10 programadores com vistas a atender as rápidas mudanças de requisitos do sistema. • Projeto com no máximo 36 meses de duração 31
  32. 32. XP • Valores básicos: – Comunicação: constante entre os membros da equipe – Simplicidade: implementar o que é necessário – Feedback: entregas rápidas e freqüentes – Coragem: para implantar os três valores anteriores. – Respeito: para saber ouvir, compreender e respeitar o ponto de vista do outro, sempre tendo em mente o sucesso do projeto. 32
  33. 33. Práticas Ágeis – Foco na codificação • Programação em pares • Código público (SVN) • Refatoração • Uso de padrões
  34. 34. Práticas Ágeis • Pouca documentação • Desenvolvimento orientado a testes – Testes unitários – Testes de integração – Testes de usabilidade • Integração contínua
  35. 35. Não ser ágil é ...
  36. 36. Referências • Abrahamson, Pekka; Salo, Outi; Ronkainen, Jussi. Agile Software Development Methods: review and analysis. Otamedia Oy, Espoo 2002. VT Publications 478. Disponível em http://www.vtt.fi/inf/pdf/publications/2002/P478.p df • Beck, Kent. Extreme Programming Explained: embrace changes. Addison-Wesley, 2000 • Freire, Flávia. Desvendando o Scrum. Revista TIDigital pags 36 – 43. abr 2009.
  37. 37. Referências • Cohn, Mike. User Stories Applied For Agile Software Development. Edt. Pearson. 2004 • Costa, Fernando. Agilidade: scrum e xp. Disponível em http://www.slideshare.net/fernandocostafln/agilid ade-scrum-e-xp-presentation • Kniberg, Henrik. Scrum and XP from the Trenches. Disponível em http://infoq.com/minibooks/scrum-xp-from-thetrenches.
  38. 38. Referências

×