Scrum Gathering Rio 2014

20
Integração entre times e o desafio de desenvolver uma aplicação Scrum Gathering Rio 2014

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

Transcript of Scrum Gathering Rio 2014

Page 1: Scrum Gathering Rio 2014

Integração entre times e o desafio dedesenvolver uma aplicação

Scrum Gathering Rio 2014

Page 2: 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.

Page 3: Scrum Gathering Rio 2014

Background4 Times Ágeis com 3 a 4 dev + 1 Infra + 1 DBA + SM + 1 PO

Python / Django

3

Page 4: Scrum Gathering Rio 2014

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!

Page 5: Scrum Gathering Rio 2014

Cenário 2011

5

1 time trabalhando no globoesporte.com e, depois, no sportv.com

Page 6: Scrum Gathering Rio 2014

6

Page 7: Scrum Gathering Rio 2014

Mudanças

7

1 time trabalhando no globoesporte.com + Combate + Eu Atleta ao mesmo tempo

Page 8: Scrum Gathering Rio 2014

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!

Page 9: Scrum Gathering Rio 2014

Tragédia Anunciada

9

Page 10: Scrum Gathering Rio 2014

10

Page 11: Scrum Gathering Rio 2014

11

Page 12: Scrum Gathering Rio 2014

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

Page 13: Scrum Gathering Rio 2014

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

Page 14: Scrum Gathering Rio 2014

Integração Antecipada de Código

14

Objetivo: descobrir o problema antes que ele chegue em produção

Page 15: Scrum Gathering Rio 2014

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

Page 16: Scrum Gathering Rio 2014

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

Page 17: Scrum Gathering Rio 2014

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

Page 18: Scrum Gathering Rio 2014

Mudar Tudo Novamente!

18

Mude sempre!

Page 19: Scrum Gathering Rio 2014

Palavra Final

19

Comunicação é a chave!

Page 20: Scrum Gathering Rio 2014

Perguntas!!

20

@victorpantoja

[email protected]