agile brazil 2012 - distributed teams

25
O Sentimento de Construir Software Distribuído Utilizando Ágil Fernando Kakimoto @nandokakimoto

Upload: fernando-kakimoto

Post on 01-Jul-2015

327 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Agile Brazil 2012 - Distributed Teams

O Sentimento de Construir Software Distribuído Utilizando Ágil

Fernando Kakimoto@nandokakimoto

Page 2: Agile Brazil 2012 - Distributed Teams

Motivação

Face to Face Communication

Pair Programming

Acceptance Tests

Continuous Delivery

Build Pipeline

?

Page 3: Agile Brazil 2012 - Distributed Teams

Agenda

Diminuir o GAP entre times distribuídosInfluência da distância em práticas ágeisPráticas frequentes em times grandes/distribuídos

Page 4: Agile Brazil 2012 - Distributed Teams

Quem é Fernando Kakimoto?

Engenheiro de Software desde 2007Bacharel em Ciências da Computação, UFPE (2008)Consultor da ThoughtWorks Brasil (Março/2011)

join.thoughtworks.com

Page 5: Agile Brazil 2012 - Distributed Teams

Agenda

Diminuir o GAP entre times distribuídosInfluência da distância em práticas ágeisPráticas frequentes em times grandes/distribuídos

Page 6: Agile Brazil 2012 - Distributed Teams

Times Distribuídos

Desenvolvedores não entendem o negócio ou o domínio do sistemaDesenvolvedores em diferentes regiões descordam sobre questões técnicasSentimento de Nós vs Eles

Face to Face Communication

Page 7: Agile Brazil 2012 - Distributed Teams

Encontros Regulares

Seeding visitContact visitEmbaixadores viajantes

Page 8: Agile Brazil 2012 - Distributed Teams

Canal Aberto De Comunicação

100% do tempoSimular todos no mesmo local

Page 9: Agile Brazil 2012 - Distributed Teams

TV + Câmera

Contato visualReuniões rápidas

Page 10: Agile Brazil 2012 - Distributed Teams

Chat

Postar informações genéricasEvitar conversas privadasUsar a criatividade

Page 11: Agile Brazil 2012 - Distributed Teams

Times Distribuídos

Nunca serão iguais a times colocados

Page 12: Agile Brazil 2012 - Distributed Teams

Agenda

Diminuir o GAP entre times distribuídosInfluência da distância em práticas ágeisPráticas frequentes em times grandes/distribuídos

Page 13: Agile Brazil 2012 - Distributed Teams

Standup Meetings

Podem durar mais de 15 minutosTentar diferentes formatosAlternar facilitador

Page 14: Agile Brazil 2012 - Distributed Teams

Pair Programming

Compartilhar conhecimentoTruck numberQualidade de códigoBom relacionamento

Page 15: Agile Brazil 2012 - Distributed Teams

Remote Pairing

Praticar com cautelaEstórias estratégicasAlternar par

Page 16: Agile Brazil 2012 - Distributed Teams

Agenda

Diminuir o GAP entre times distribuídosInfluência da distância em práticas ágeisPráticas frequentes em times grandes/distribuídos

Page 17: Agile Brazil 2012 - Distributed Teams

Testes de Aceitação

FragilidadeConfiança no buildSe quebou, conserte!

Page 18: Agile Brazil 2012 - Distributed Teams

Testes de Aceitação

Corrigir testeRemover testeMover para quarentena

Page 19: Agile Brazil 2012 - Distributed Teams

Testes de Aceitação

IsolamentoRequisições Ajax

Teste de Aceitação São Lentos

Page 20: Agile Brazil 2012 - Distributed Teams

Build Pipeline

Processo de trazer software do controle de versão até usuário final

Page 21: Agile Brazil 2012 - Distributed Teams

Build Pipeline

Evitar release de versões indesejadasAutomatizar processo de deployInformar problemas o quanto antes no processo

Page 22: Agile Brazil 2012 - Distributed Teams

Build Pipeline

Escrever testes unitário sempre que possível

Page 23: Agile Brazil 2012 - Distributed Teams

Build Pipeline

Executar testes em paraleloDividir estágio de aceitação

Page 24: Agile Brazil 2012 - Distributed Teams

Agenda

Times distribuídosInfluência da distância em práticas ágeisPráticas ágeis mais frequentes

Page 25: Agile Brazil 2012 - Distributed Teams

O Sentimento de Construir Software Distribuído Utilizando Ágil

Fernando Kakimoto@nandokakimoto