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.
Integração entre times e o desafio de 
desenvolver uma aplicação 
Scrum Gathering Rio 2014
2 
Victor 
Pantoja 
Engenheiro Eletrônico e de Computação pela 
UFRJ e mestre em Informática pela PUC-Rio, 
possuo mais de...
Background 
4 Times Ágeis com 3 a 4 dev + 1 Infra + 1 DBA 
+ SM + 1 PO 
Python / Django 
3
Alguns números 
Visitantes únicos: 20,7 milhões por mês 
Visitas: 215 milhões por mês 
8 milhões de visitas por dia! 
4
Cenário 2011 
5 
1 time trabalhando no 
globoesporte.com e, 
depois, no sportv.com
6
Mudanças 
7 
1 time trabalhando no 
globoesporte.com + 
Combate + Eu Atleta ao 
mesmo tempo
Mudanças 
8 
1 time trabalhando no 
globoesporte.com 
1 time trabalhando no 
SporTV 
1 time trabalhando em 
Classificação ...
Tragédia 
Anunciada 
9
10
11
Diálogo 
Reuniões periódicas para: 
-falar sobre o que cada 
time está fazendo 
-identificar pontos de 
sobreposição de 
t...
Segregação do 
Código 
-havia uma quantidade (pequena) de 
bugs introduzidos em código alheio 
-isolamento do código legad...
Integração Antecipada de 
Código 
14 
Objetivo: descobrir o 
problema antes que 
ele chegue em 
produção
Integração Antecipada de 
Código 
- ambiente de desenvolvimento local + 
DEV0[1-4] + QA1 + Staging + PROD 
- estava se tor...
Integração Antecipada de 
Código 
- perguntar se alguém usa certo trecho 
de código se mostrou bastante 
ineficiente pelo ...
Isolamento dos 
Testes 
- o objetivo é garantir que o código da 
app está bem isolado 
- isolamento de testes através de u...
Mudar Tudo 
Novamente! 
Mude sempre! 
18
Palavra Final 
19 
Comunicação é a 
chave!
Perguntas!! 
@victorpantoja 
victor.pantoja@gmail.com 
20
Upcoming SlideShare
Loading in …5
×

Scrum Gathering Rio 2014

735 views

Published on

Nessa apresentação, eu falo sobre como 3 times (cerca de 12 desenvolvedores) conseguem trabalhar na mesma básica de código sem gerar bugs e entregar o globoesporte.com

Published in: Leadership & Management

Scrum Gathering Rio 2014

  1. 1. Integração entre times e o desafio de desenvolver uma aplicação Scrum Gathering Rio 2014
  2. 2. 2 Victor Pantoja Engenheiro Eletrônico e de Computação pela UFRJ e mestre em Informática pela PUC-Rio, possuo mais de 9 anos de experiência desenvolvendo grandes sites focados no usuário. Scrum Master da área de aplicações móveis (before it was cool) de 2007 a 2008. Atualmente, sou desenvolvedor web sênior no globoesporte.com, o maior site de esportes do Brasil e o site oficial da Copa do Mundo FIFA Brasil 2014.
  3. 3. Background 4 Times Ágeis com 3 a 4 dev + 1 Infra + 1 DBA + SM + 1 PO Python / Django 3
  4. 4. Alguns números Visitantes únicos: 20,7 milhões por mês Visitas: 215 milhões por mês 8 milhões de visitas por dia! 4
  5. 5. Cenário 2011 5 1 time trabalhando no globoesporte.com e, depois, no sportv.com
  6. 6. 6
  7. 7. Mudanças 7 1 time trabalhando no globoesporte.com + Combate + Eu Atleta ao mesmo tempo
  8. 8. Mudanças 8 1 time trabalhando no globoesporte.com 1 time trabalhando no SporTV 1 time trabalhando em Classificação / Tabelas O mesmo código ao mesmo tempo!
  9. 9. Tragédia Anunciada 9
  10. 10. 10
  11. 11. 11
  12. 12. Diálogo Reuniões periódicas para: -falar sobre o que cada time está fazendo -identificar pontos de sobreposição de trabalho -discutir novas tecnologias -melhorar nosso processo 12 de trabalho
  13. 13. Segregação do Código -havia uma quantidade (pequena) de bugs introduzidos em código alheio -isolamento do código legado Isolamento do código através de apps django 13
  14. 14. Integração Antecipada de Código 14 Objetivo: descobrir o problema antes que ele chegue em produção
  15. 15. Integração Antecipada de Código - ambiente de desenvolvimento local + DEV0[1-4] + QA1 + Staging + PROD - estava se tornando comum quebrar o código do colega ao lado e só perceber isso no último momento 15
  16. 16. Integração Antecipada de Código - perguntar se alguém usa certo trecho de código se mostrou bastante ineficiente pelo tamanho do projeto - solução: ambiente único de integração continua executando a última versão de todas as apps - coordenação dos releases 16
  17. 17. Isolamento dos Testes - o objetivo é garantir que o código da app está bem isolado - isolamento de testes através de um settings no projeto que faz referência apenas para a app em questão - grau de acoplamento deve ser visto caso a caso. Utilizar os recursos da 17 própria linguagem para isso é uma boa abordagem
  18. 18. Mudar Tudo Novamente! Mude sempre! 18
  19. 19. Palavra Final 19 Comunicação é a chave!
  20. 20. Perguntas!! @victorpantoja victor.pantoja@gmail.com 20

×