SlideShare ist ein Scribd-Unternehmen logo
1 von 25
O Sentimento de Construir Software
                  Distribuído Utilizando Ágil




Fernando Kakimoto
@nandokakimoto
Motivação

              Face to Face Communication



Pair Programming                  Acceptance Tests
                           ?
     Continuous Delivery        Build Pipeline
Agenda


 Diminuir o GAP entre times distribuídos
 Influência da distância em práticas ágeis
 Práticas frequentes em times grandes/distribuídos
Quem é Fernando Kakimoto?


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




              join.thoughtworks.com
Agenda


 Diminuir o GAP entre times distribuídos
 Influência da distância em práticas ágeis
 Práticas frequentes em times grandes/distribuídos
Times Distribuídos


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



            Face to Face Communication
Encontros Regulares


  Seeding visit
  Contact visit
  Embaixadores viajantes
Canal Aberto De Comunicação


  100% do tempo
  Simular todos no mesmo local
TV + Câmera


 Contato visual
 Reuniões rápidas
Chat


 Postar informações genéricas
 Evitar conversas privadas
 Usar a criatividade
Times Distribuídos




      Nunca serão iguais a times colocados
Agenda


 Diminuir o GAP entre times distribuídos
 Influência da distância em práticas ágeis
 Práticas frequentes em times grandes/distribuídos
Standup Meetings


  Podem durar mais de 15 minutos
  Tentar diferentes formatos
  Alternar facilitador
Pair Programming


  Compartilhar conhecimento
  Truck number
  Qualidade de código
  Bom relacionamento
Remote Pairing


  Praticar com cautela
  Estórias estratégicas
  Alternar par
Agenda


 Diminuir o GAP entre times distribuídos
 Influência da distância em práticas ágeis
 Práticas frequentes em times grandes/distribuídos
Testes de Aceitação


  Fragilidade
  Confiança no build
  Se quebou, conserte!
Testes de Aceitação


  Corrigir teste
  Remover teste
  Mover para quarentena
Testes de Aceitação


  Isolamento
  Requisições Ajax




            Teste de Aceitação São Lentos
Build Pipeline


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


  Evitar release de versões indesejadas
  Automatizar processo de deploy
  Informar problemas o quanto antes no processo
Build Pipeline


  Escrever testes unitário sempre que possível
Build Pipeline


  Executar testes em paralelo
  Dividir estágio de aceitação
Agenda


 Times distribuídos
 Influência da distância em práticas ágeis
 Práticas ágeis mais frequentes
O Sentimento de Construir Software
                  Distribuído Utilizando Ágil




Fernando Kakimoto
@nandokakimoto

Weitere ähnliche Inhalte

Ähnlich wie Construindo Software Distribuído de Forma Ágil

Scrum Distribuído
Scrum DistribuídoScrum Distribuído
Scrum DistribuídoMassimus CT
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Caminhos do Scrum
Caminhos do ScrumCaminhos do Scrum
Caminhos do Scrumjrompkovski
 
Construindo software em segurança com BDD
Construindo software em segurança com BDDConstruindo software em segurança com BDD
Construindo software em segurança com BDDHenrique Luz
 
Gerando resultados com Scrum: Case Globosat
Gerando resultados com Scrum: Case GlobosatGerando resultados com Scrum: Case Globosat
Gerando resultados com Scrum: Case GlobosatDextra
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Gabriel Rubens
 
Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Danilo Sousa
 
Test-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayTest-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayRenato Groff
 
Palestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPROPalestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPROWildtech
 
Quando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesQuando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesJuliano Ribeiro
 
Os desafios da análise de negócios em equipes ágeis
Os desafios da análise de negócios em equipes ágeisOs desafios da análise de negócios em equipes ágeis
Os desafios da análise de negócios em equipes ágeisEmerson Schenatto
 
Help Desk - Processos
Help Desk - ProcessosHelp Desk - Processos
Help Desk - Processos4HD
 

Ähnlich wie Construindo Software Distribuído de Forma Ágil (20)

Scrum Distribuído
Scrum DistribuídoScrum Distribuído
Scrum Distribuído
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Caminhos do Scrum
Caminhos do ScrumCaminhos do Scrum
Caminhos do Scrum
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Construindo software em segurança com BDD
Construindo software em segurança com BDDConstruindo software em segurança com BDD
Construindo software em segurança com BDD
 
Scrum com Equipes Distribuidas
Scrum com Equipes DistribuidasScrum com Equipes Distribuidas
Scrum com Equipes Distribuidas
 
Gerando resultados com Scrum: Case Globosat
Gerando resultados com Scrum: Case GlobosatGerando resultados com Scrum: Case Globosat
Gerando resultados com Scrum: Case Globosat
 
Planning Onion
Planning OnionPlanning Onion
Planning Onion
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
 
Startup em Scrum
Startup em ScrumStartup em Scrum
Startup em Scrum
 
Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?
 
Test-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayTest-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding Day
 
Palestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPROPalestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPRO
 
Remote Design Sprint
Remote Design SprintRemote Design Sprint
Remote Design Sprint
 
Quando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesQuando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidades
 
Gerenciamento de projetos de TI
Gerenciamento de projetos de TIGerenciamento de projetos de TI
Gerenciamento de projetos de TI
 
Os desafios da análise de negócios em equipes ágeis
Os desafios da análise de negócios em equipes ágeisOs desafios da análise de negócios em equipes ágeis
Os desafios da análise de negócios em equipes ágeis
 
Help Desk - Processos
Help Desk - ProcessosHelp Desk - Processos
Help Desk - Processos
 

Construindo Software Distribuído de Forma Ágil

  • 1. O Sentimento de Construir Software Distribuído Utilizando Ágil Fernando Kakimoto @nandokakimoto
  • 2. Motivação Face to Face Communication Pair Programming Acceptance Tests ? Continuous Delivery Build Pipeline
  • 3. Agenda Diminuir o GAP entre times distribuídos Influência da distância em práticas ágeis Práticas frequentes em times grandes/distribuídos
  • 4. Quem é Fernando Kakimoto? Engenheiro de Software desde 2007 Bacharel em Ciências da Computação, UFPE (2008) Consultor da ThoughtWorks Brasil (Março/2011) join.thoughtworks.com
  • 5. Agenda Diminuir o GAP entre times distribuídos Influência da distância em práticas ágeis Práticas frequentes em times grandes/distribuídos
  • 6. Times Distribuídos Desenvolvedores não entendem o negócio ou o domínio do sistema Desenvolvedores em diferentes regiões descordam sobre questões técnicas Sentimento de Nós vs Eles Face to Face Communication
  • 7. Encontros Regulares Seeding visit Contact visit Embaixadores viajantes
  • 8. Canal Aberto De Comunicação 100% do tempo Simular todos no mesmo local
  • 9. TV + Câmera Contato visual Reuniões rápidas
  • 10. Chat Postar informações genéricas Evitar conversas privadas Usar a criatividade
  • 11. Times Distribuídos Nunca serão iguais a times colocados
  • 12. Agenda Diminuir o GAP entre times distribuídos Influência da distância em práticas ágeis Práticas frequentes em times grandes/distribuídos
  • 13. Standup Meetings Podem durar mais de 15 minutos Tentar diferentes formatos Alternar facilitador
  • 14. Pair Programming Compartilhar conhecimento Truck number Qualidade de código Bom relacionamento
  • 15. Remote Pairing Praticar com cautela Estórias estratégicas Alternar par
  • 16. Agenda Diminuir o GAP entre times distribuídos Influência da distância em práticas ágeis Práticas frequentes em times grandes/distribuídos
  • 17. Testes de Aceitação Fragilidade Confiança no build Se quebou, conserte!
  • 18. Testes de Aceitação Corrigir teste Remover teste Mover para quarentena
  • 19. Testes de Aceitação Isolamento Requisições Ajax Teste de Aceitação São Lentos
  • 20. Build Pipeline Processo de trazer software do controle de versão até usuário final
  • 21. Build Pipeline Evitar release de versões indesejadas Automatizar processo de deploy Informar problemas o quanto antes no processo
  • 22. Build Pipeline Escrever testes unitário sempre que possível
  • 23. Build Pipeline Executar testes em paralelo Dividir estágio de aceitação
  • 24. Agenda Times distribuídos Influência da distância em práticas ágeis Práticas ágeis mais frequentes
  • 25. O Sentimento de Construir Software Distribuído Utilizando Ágil Fernando Kakimoto @nandokakimoto