Upload
victor-pantoja
View
271
Download
4
Embed Size (px)
DESCRIPTION
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
Citation preview
Integração entre times e o desafio dedesenvolver 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 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.
Background4 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
4
Visitas: 215 milhões por mês
8 milhões de visitas por dia!
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 / Tabelas
O mesmo código ao mesmo tempo!
Tragédia Anunciada
9
10
11
Diálogo
12
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 de trabalho
Segregação do Código
13
-havia uma quantidade (pequena) de bugs introduzidos em código alheio
-isolamento do código legadoIsolamento do código
através de apps django
Integração Antecipada de Código
14
Objetivo: descobrir o problema antes que ele chegue em produção
Integração Antecipada de Código
15
- 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
Integração Antecipada de Código
16
-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
Isolamento dos Testes
17
-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 própria linguagem para isso é uma boa abordagem
Mudar Tudo Novamente!
18
Mude sempre!
Palavra Final
19
Comunicação é a chave!