Metodologias Ágeis

471 visualizações

Publicada em

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

Sem downloads
Visualizações
Visualizações totais
471
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
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

×