O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Desenvolvimento Ágil de Software

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 66 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Desenvolvimento Ágil de Software (20)

Anúncio

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

Mais recentes (20)

Anúncio

Desenvolvimento Ágil de Software

  1. 1. Desenvolvimento ´Agil Desenvolvimento ´Agil Helio Henrique L. C. Monte-Alto Disciplina: Projeto de Software 2016
  2. 2. Desenvolvimento ´Agil T´opicos 1 O que ´e o Desenvolvimento ´Agil
  3. 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. 4. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Manifesto ´Agil Valorizar:
  5. 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. 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. 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. 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. 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. 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. 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. 12. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Motiva¸c˜ao Os neg´ocios operam com requisitos que mudam rapidamente
  13. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 33. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP Figura: Processo do XP.
  34. 34. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento Planning Game, ou Jogo do Planejamento:
  35. 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. 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. 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. 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. 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. 40. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Planejamento
  41. 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. 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. 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. 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. 45. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Projeto (Design) Figura: Exemplo de cart˜ao CRC
  46. 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. 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. 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. 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. 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. 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. 52. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil O Processo XP - Ciclo de Vida
  53. 53. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Resumo de um Processo ´Agil com Scrum e XP
  54. 54. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum Metodologia para gest˜ao e planejamento de software
  55. 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. 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. 57. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum Figura: Workflow do Scrum
  58. 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. 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. 60. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum - Artefatos Figura: Scrum Board
  61. 61. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum - Artefatos Figura: Gr´afico de burndown
  62. 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. 63. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Product Owner Hist´orias Prioridades Datas de release Backlog Aceite final
  64. 64. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Time Scrum Sprint goal Comprometimento Multidisciplinaridade Auto-gerenciamento Comunica¸c˜ao constante Autoridade
  65. 65. Desenvolvimento ´Agil O que ´e o Desenvolvimento ´Agil Scrum Master Aplica regras Resolve impedimentos Protetor Garante Produtividade Facilitador
  66. 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.

×