Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Metodologias ágeis interativas

917 views

Published on

Apresentação sobre InnerSource e ConvDev

Published in: Technology

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

×