Otimizando o time to market - do zero a produção em poucas iterações
Embed Size (px)
description
Transcript of Otimizando o time to market - do zero a produção em poucas iterações
- 1. do zero a produo em poucas iteraes otimizando o time to market time to market
2. chico sokol [email protected] http://www.caelum.com.br http://www.casadocodigo.com.br 3. silveira silveira [email protected] http://www.caelum.com.br http://www.caelum.com.br/online 4. PARTE 1: Contexto 5. guj.com.br guj.com.br 6. 9 anos de cdigo fs 7. 158 mil usurios 1.5 milhes de mensagens fs 8. problema: frum fs assusta novos usurios sculo 20 vantagem: favorece discusses desvantagem: dificulta QA 9. evoluo de cdigo pouco a pouco possvel? 9 anos PQ DIFICIL EVOLUIR? 10. pq difcil evoluir? 1. funcionalidade distante do foco 2. falta de testes 3. ausncia dos criadores 4. mudanas chateiam usurios 5. pq as decises foram tomadas? 6. gap de anos desde a ltima feature nova fs/ gs 11. verso nova do ZERO 9 anos => no dava mais para evoluir aos poucos fs 12. Deciso: No vale a pena evoluir o cdigo atual fs 13. PARTE 2: COMO FAZER? COMO FAZER? 14. Como fazer? Compra? Adapta um open source que j existe? Cria o cdigo do zero? Mistura tudo isso? 15. diminuir o time to market (e o custo de entrada) (e o custo de entrada) fs 16. 1. buy it off the shelf mythical man month 17. procuramos um software pago um software pago MUITO CARO! 18. proposta de internacionalizao internacionalizao MUITO CARO! 19. 2. diversos + adaptaropen source fs 20. 3 pessoas + novas e 1 mais experiente Tentamos 3 meses Encontramos diversos problemas fs 21. fs internacionalizao espalhado por todo canto espalhado por todo canto espalhado por todo canto espalhado por todo canto espalhado por todo canto 22. Linguagem (python) o problema no aprender a linguagem o problema aprender as boas prticas fs 23. contratar o criador? Linguagem (python) curto prazo ok longo prazo ok fs 24. um nico autor 1) cowboy (macho alpha) 2) forever alone 25. Problemas de um nico autor suporte e documentao inexistente contactamos no fechou a conta 26. espagueti fs cdigo espagueti!= 27. problemas i18n espalhada linguagem desconhecida para a equipe cdigo espagueti desenvolvido por um nico autor problemas clssicos de engenharia que no foram cuidados antes fs 28. entregou para users alpha mas ficou a dvida continua a abordagem? fs 29. falhar em 3 meses no falhar rpido 30. faltou: a retrospectiva 31. 500 anos sem retrospectiva 32. a retrospectiva com olhar do produto no lado tcnico 33. Retrospectiva adicionando uma chance para mudar o caminho. 34. $ 3. escreve uma verso nova do ZERO ZERO $ $ $ $$ $ $ $ $ $ $ $ 35. pergunta: - substitui de uma vez - em paralelo em paralelo em paralelo fs 36. Feedback zero infinitas reclamaes Time to market ruim Bugs fs 37. Feedback cedo Time to market #win Bugs Reclamaes 38. lembrando que j passaram 3 meses! fs 39. fixamos prazo e escopo o que acontece nesse caso? vamos tentar substituir em paralelo 40. nossa dvida qual das duas variveis vai estourar, e pra qual lado 41. data+escopo => ~objetivo 42. pronto! podemos comear podemos comear 43. FASE 1 44. - escrever do zero - implementar o *mnimo vivel* - implementar o *mnimo vivel* 45. - escrever do zero - implementar o *mnimo vivel* do minimo viavel - implementar o *mnimo vivel* do minimo viavel 46. minimo viavel - implementar o *mnimo vivel* do minimo viavel do minimo viavel 47. alm do release planning, iteraes menores menores fs 48. reunio++ Text discusses a serem feitas: - linguagem - framework - design e usabilidade - funcionalidades minimas fs 49. discutimos: - funcionalidades minimas - funcionalidades minimas fs 50. goela abaixo: - linguagem escolhida - framework escolhido - framework escolhido - framework escolhido 51. ditador benevolente discusses so aceitveis ele tem a palavra final escolhido um caminho, todos o seguem 52. design: depois cores imagens responsivo fs 53. usabilidade: ok validaes ajax x no ajax maneira de interagir ao clicar, aparece algo fs 54. if pronto => continuaramos fs 55. se no ficasse pronto, voltariamos pro plano anterior Gostei do projeto! 56. desafio tempo esperado desafiador tecnologias que dominamos somos capazes? fs 57. aes muita gente pareando muito tempo nvel de experincia diferente (troca de experincias) + da metade tinha - de 1 ano de experincia fs bastante reviso de cdigo 58. produtividade++ pq? linguagem e tecnologia que a equipe domina no s a equipe, mas toda a empresa green field desafio topado pela equipe 59. equipe x ferramentas a equipe original tinha uma pessoa com mais experincia o problema no estava na equipe problemas mostrados at agora 60. resultados da fase 1 iteraes acabaram mais cedo 2 semanas, tudo ok sem design usabilidade implementada fs 61. FASE 2 fs 62. - continuar - implementar outras features outras features fs 63. lanamento fechado usurios convidados encontra mais bugs design pronto (vrios devs envolvidos) fs 64. deploy contnuo ambiente de produo teste de end-to-end scripts de deploy at hoje: +1 deploy por dia, s 2 bugs graves fs 65. lanamento aberto usurios que querem se aventurar colaboram quem no quer se aventurar, no reclama encontra mais bugs, fica mais estvel feedback rpido melhora usabilidade criar usurios fiis fs gs 66. misc da fase 2 iteraes continuaram surpreendendo prtica de deploy contnuo somente quando necessria menos pareamento 67. em beta encontramos problema de performance otimizao de performance somente quando necessria at esse instante sem testes ligados a performance h monitoramento (newrelic) fs 68. prxima fase troca fs 69. hoje 4000 pessoas 2500 perguntas 3700 respostas participe! www.guj.com.br/perguntas fs < 2 meses 70. revisando fs gs continuar o atual? adaptar? criar do zero? deploy em produo dbito tcnico m uito alto usurios alfa criar do zero m inim um viable product im plem entao lgica aprovao do cam inho design +pareamento reviso de cdigo testes de unidade testes end-to-end integrao contnua -pareamento entrega contnua usurios beta todos os usurios problem a de perform ance: otim izaes iteraes curtas ditadura benevolente FASE 0 FASE 1 FASE 1 FASE 2 FASE 3 71. Obrigado! 72. [email protected] http://www.caelum.com.br http://www.caelum.com.br/online http://www.casadocodigo.com.br [email protected]