Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Metodologias ágeis interativas

Más Contenido Relacionado

Audiolibros relacionados

Gratis con una prueba de 30 días de Scribd

Ver todo

Metodologias ágeis interativas

  1. 1. Metodologias ágeis interativasElton Minetto - @eminetto
  2. 2. Que problemas os projetos enfrentam em 2017?
  3. 3. Para cada $1 bilhão investido nos EUA, $122 milhões são perdidos devido a falta de performance em projetos. (Source: PMI.org)
  4. 4. Menos de um terço de todos os projetos foram finalizados dentro do prazo e orçamento no último ano (2015) (Source: Standish Group)
  5. 5. Pressão para cumprir prazos irreais é a maior razão de código ser lançado antes de estar pronto. 81% dos desenvolvedores admitiram liberar código antes de estar pronto. (Source: Gitlab 2016 Global Developer Report)
  6. 6. Como resolver esses problemas *?
  7. 7. Como resolver esses problemas *? → Metodologias
  8. 8. Como resolver esses problemas *? → Metodologias → Ferramentas
  9. 9. Como resolver esses problemas *? → Metodologias → Ferramentas → Métricas * IMHO
  10. 10. Metodologias
  11. 11. (
  12. 12. Iterativo x Interativo
  13. 13. Iterativo se refere a ciclo, repetição. Uma iteração é um ciclo ou uma etapa de uma rotina maior. Interativo se refere a relacionamento, comunicação. Uma interação é uma ação mútua, uma entidade agindo sobre a outra ou vice-versa.
  14. 14. )
  15. 15. Metodologias ágeis "iterativas"
  16. 16. Metodologias ágeis "iterativas" → Scrum
  17. 17. Metodologias ágeis "iterativas" → Scrum → Kanban
  18. 18. Metodologias ágeis "interativas"
  19. 19. Metodologias ágeis "interativas" → InnerSource
  20. 20. Metodologias ágeis "interativas" → InnerSource → ConvDev
  21. 21. InnerSource InnerSource usa as lições aprendidas do desenvolvimento de software de código aberto e as aplica para a forma como as empresas desenvolvem software internamente. Para as empresas o InnerSource pode ser uma grande ferramenta para ajudar a quebrar silos, incentivar a colaboração interna, acelerar o on- boarding de novos engenheiros, e identificar oportunidades de contribuir para o mundo de código aberto.
  22. 22. Princípios
  23. 23. Princípios → Comunicação
  24. 24. Princípios → Comunicação → Transparência
  25. 25. Princípios → Comunicação → Transparência → Colaboração
  26. 26. Princípios → Comunicação → Transparência → Colaboração → Comunidade
  27. 27. Princípios → Comunicação → Transparência → Colaboração → Comunidade → Meritocracia
  28. 28. ConvDev ConvDev (Conversational Development) é uma evolução natural do desenvolvimento de software. Ele incentiva a conversa entre grupos funcionais através de todo o processo de desenvolvimento de software, permitindo que os desenvolvedores possam manter um histórico de toda evolução em uma forma coesa e intuitiva. ConvDev acelera o ciclo de vida do desenvolvimento incentivando a colaboração e o compartilhamento desde a ideia até o lançamento em produção.
  29. 29. Princípios
  30. 30. Princípios → Reduzir o ciclo de entrega, aumentando a efetividade
  31. 31. Princípios → Reduzir o ciclo de entrega, aumentando a efetividade → Monitorar o processo desde a ideia até o lançamento em produção
  32. 32. Princípios → Reduzir o ciclo de entrega, aumentando a efetividade → Monitorar o processo desde a ideia até o lançamento em produção → As conversas devem fluir entre todos os estágios
  33. 33. Princípios → Reduzir o ciclo de entrega, aumentando a efetividade → Monitorar o processo desde a ideia até o lançamento em produção → As conversas devem fluir entre todos os estágios → Todos os envolvidos no projeto fazem parte da conversa
  34. 34. Princípios → Reduzir o ciclo de entrega, aumentando a efetividade → Monitorar o processo desde a ideia até o lançamento em produção → As conversas devem fluir entre todos os estágios → Todos os envolvidos no projeto fazem parte da conversa → Toda a empresa pode contribuir com o processo
  35. 35. Benefícios
  36. 36. Benefícios → Entregar mudanças menores e mais simples é mais eficiente
  37. 37. Benefícios → Entregar mudanças menores e mais simples é mais eficiente → Interações frequentes geram melhores coletas de informações
  38. 38. Benefícios → Entregar mudanças menores e mais simples é mais eficiente → Interações frequentes geram melhores coletas de informações → Velocidade para responder às necessidades do mercado
  39. 39. Benefícios → Entregar mudanças menores e mais simples é mais eficiente → Interações frequentes geram melhores coletas de informações → Velocidade para responder às necessidades do mercado → Maior previsibilidade
  40. 40. Benefícios → Entregar mudanças menores e mais simples é mais eficiente → Interações frequentes geram melhores coletas de informações → Velocidade para responder às necessidades do mercado → Maior previsibilidade → Maior senso de progresso
  41. 41. ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation, no matter what framework or methodology is used. 1 1 http://conversationaldevelopment.com/2017/04/16/what-is-conversational- development/
  42. 42. Ferramentas
  43. 43. as que nós usamos...
  44. 44. ... hoje
  45. 45. Unit testing
  46. 46. Unit testing → PHPUnit
  47. 47. Unit testing → PHPUnit → Codeception
  48. 48. Unit testing → PHPUnit → Codeception → Karma
  49. 49. Unit testing → PHPUnit → Codeception → Karma → Jasmine
  50. 50. Unit testing → PHPUnit → Codeception → Karma → Jasmine → Mocha
  51. 51. Continuous integration/deploy
  52. 52. Continuous integration/deploy → Buildkite
  53. 53. Continuous integration/deploy → Buildkite → DeployBot
  54. 54. Continuous integration/deploy → Buildkite → DeployBot → Drone.io (em avaliação)
  55. 55. Code reviews
  56. 56. Code reviews → Github/Bitbucket/Gitlab
  57. 57. Code coverage reports
  58. 58. Code coverage reports → PHPUnit
  59. 59. Code coverage reports → PHPUnit → Codecov
  60. 60. Static analysis
  61. 61. Static analysis → PHPCS, eslint, etc
  62. 62. Static analysis → PHPCS, eslint, etc → Git hooks
  63. 63. Static analysis → PHPCS, eslint, etc → Git hooks → Codacy/Ebert
  64. 64. Static analysis → PHPCS, eslint, etc → Git hooks → Codacy/Ebert → Code Climate CLI (em avaliação)
  65. 65. Performance & debug
  66. 66. Performance & debug → Sentry
  67. 67. Performance & debug → Sentry → xhprof
  68. 68. Performance & debug → Sentry → xhprof → Xdebug
  69. 69. Performance & debug → Sentry → xhprof → Xdebug → New Relic
  70. 70. DevOps tools
  71. 71. DevOps tools → Docker
  72. 72. DevOps tools → Docker → Kubernetes (em avaliação)
  73. 73. DevOps tools → Docker → Kubernetes (em avaliação) → shell script
  74. 74. DevOps tools → Docker → Kubernetes (em avaliação) → shell script → e mais shell script
  75. 75. Tasks
  76. 76. Tasks → Trello
  77. 77. Tasks → Trello → Github Issues + Waffle
  78. 78. Métricas
  79. 79. Métricas "Painel de Ferrari"
  80. 80. Métricas "Painel de Ferrari" → Lead Time
  81. 81. Métricas "Painel de Ferrari" → Lead Time → Cycle Time
  82. 82. Métricas "Painel de Ferrari" → Lead Time → Cycle Time → Response Time
  83. 83. Métricas "Painel de Ferrari" → Lead Time → Cycle Time → Response Time → Takt Time
  84. 84. Métricas "Painel de Ferrari" → Lead Time → Cycle Time → Response Time → Takt Time → Throughput
  85. 85. Referências O que é Lead time, Cycle Time e Reaction Time? InnerSource Commons InnerSource Convdev http://conversationaldevelopment.com/
  86. 86. Contato eminetto@coderockr.com http://eltonminetto.net http://asemanaphp.com.br http://asemanago.com.br http://twitter.com/eminetto

×