SlideShare uma empresa Scribd logo
Coding Dojo AplicandoPrincípiosÁgeis LorivalSmolskiChapuis MCP, MCTS ASP.NET, MCPD ASP.NET http://blog.lorival.com / lorival@chapuis.com.br XII Semana da Computação Universidade do Estado de Santa Catarina – UDESC 2010
Considerações iniciais 2 The Curious Case of the CHAOS Report 2009 – Standish Group http://www.projectsmart.co.uk/the-curious-case-of-the-chaos-report-2009.html
Porque treinar? Dojo? O que é um CodingDojo Princípios ágeis: Pair Programming TDD e Refactory Baby Steps Como funciona um CodingDojo Joinville Dojo Considerações finais Dúvidas Agenda 3
	O Brasil teria conseguido chegar a penta campeão do mundo sem treino? 	O dia-a-dia de um desenvolvedor  são os campeonatos. Quando são os treinos? 	Um campeonato serve como treino? Por que treinar? 4
A expressão treinamento refere-se à aquisição de conhecimento, habilidades e competências como resultado de formação profissional ou do ensino de habilidades práticas relacionadas à competências úteis específicas. Fonte: Wikipedia Definição de treinamento 5
O dojo ou dojô (pronuncia-se DÔ-JÔ) é o local onde se treinam artes marciais, especialmente as nipônicas. Muito mais do que uma simples área, o dojo deve ser respeitado como se fosse a casa dos praticantes. Por isso, é comum ver o praticante fazendo uma reverência antes de adentrar, tal como se faz nos lares japoneses. 	Artes marciais que utilizam dojo: 		Judô, Jiu-Jitsu, Ninjutsu, Karatê e Taekwondo. Dojo 6
Dojo 7
CodingDojo Um Coding Dojo é uma reunião presencial para estudar e praticardesenvolvimento de software.  Seus praticantes estão lá para se divertir e para participar em prática expontânea de forma a melhorar suas habilidades. Em um ambiente não competivivo e colaborativo, todos os participantes possuem um objetivo em comum: resolver o problema que foi proposto no início da sessão.  Para tanto, é utilizado algumas práticas ágeis como Pair Programming, Test Driven Development (TDD), Refactoring e Baby Steps.
Pair programming Programação em par é uma das práticas mais conhecidas e mais polêmicas utilizadas pelos que adotam o Extreme Programming. Ela sugere que todo e qualquer código produzido no projeto seja sempre implementado por duaspessoasjuntas, diante do mesmo computador, revezando-se no teclado.
Pair programming Será que funciona? Já imaginou um avião apenas com o piloto sem um co-piloto? Você jamais voaria em um avião assim. Mesmo que você não se preocupe com isso a companhia aérea se preocupa e muito. Piloto e co-piloto possuem visões  diferentes.
Pair programming Em 1971, em um livro chamado The Psychology of Computer Programming (Gerald Weinberg) mostrou que o olho humano tem uma incrível capacidade de só enxergar aquilo que deseja e, naturalmente, ignorar aquilo que não quer ver “Programadores, se deixados por conta própria, ignoram os erros mais gritantes, os quais qualquer pessoa seria capaz de detectar instantaneamente“ Princípio da dissonância cognitiva.
Pair programming Desenvolvedores rendemmais em duplas. Disseminação de conhecimento é uma das importantes características da programação em par. Eleva a capacidade técnica dos desenvolvedores. Aumenta a confiança do desenvolvedor e no software.
Pair programming     Programar em par exige que as pessoas envolvidas sejam receptivas, compreensivas umas com as outras, engajadas e, sobretudo, humildes. É necessário aceitar que somos falíveis para que possamos programar em par. Weinberg criou o termo egoless programming, ou seja, programação sem ego.
TestDrivenDevelopment Desenvolvimento Guiado por Testes, ou simplesmente TDD. Consiste numa técnica de desenvolvimento de software onde primeiro são criados os testes e somente depois é escrito o código necessário para passar por eles.
Fonte: http://www.joinvilledojo.com.br
Entrada Saída Verificação Fonte: http://www.joinvilledojo.com.br
Feedback Instantâneo Fonte: http://www.joinvilledojo.com.br
Fonte: http://www.joinvilledojo.com.br
Segurança Fonte: http://www.joinvilledojo.com.br
Cenário comum
Diversasiteraçõesparaumaúnicafuncionalidade. Cenário com TDD
Refactoring Revisão, simplificação e evolução do código. A história do apartamento sujo...
Baby Steps Trabalhe em passos e pense simples. Escreva códigos simplificados que atuem e resolvam apenas o seu respectivo teste. Não crie 10 testes e saia codificando. Crie um teste e faça a codificação para que ele funcione. Não crie testes gigantes e codificações de mesma proporção.
Requisitos para o CodingDojo No mínimo 5 participantes Uma sala Um computador com projetor (apenas um) Um problema Um contador de tempo
Requisitos dos participantes Desejo de aprender e compartilhar conhecimento Respeito ao próximo Mente sempre aberta Disciplina Comprometimento
Como funciona um encontro ,[object Object]
Retrospectiva
Define o Kata (problema)
Define data do próximo encontro
Sessão (90 min – intervalo de 10 min)
PreparedKata ou RandoriKataExemplo grupo ParisDojo. Fonte: http://codingdojo.org
Como funciona um encontro ,[object Object]
Co-piloto: Explica o que o Piloto está fazendo e o ajuda
Rodada:
Dura 7 minutos
Piloto se une ao grupo, Co-piloto vira piloto e alguêm do grupo vira Co-piloto.

Mais conteúdo relacionado

Mais procurados

Código limpo php
Código limpo phpCódigo limpo php
Código limpo php
FilipiAtaideArruda
 
DojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SCDojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SC
Gefferson Figueiredo Marcos
 
Demoiselle Paraguay Dojo 18/01/2012
Demoiselle Paraguay Dojo 18/01/2012Demoiselle Paraguay Dojo 18/01/2012
Demoiselle Paraguay Dojo 18/01/2012
Cleverson Sacramento
 
Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!
Josenaldo de Oliveira Matos Filho
 
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKTDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
tdc-globalcode
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
Marlon Carvalho
 
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
tdc-globalcode
 
O que é Desenvolvimento de Aplicações
O que é Desenvolvimento de AplicaçõesO que é Desenvolvimento de Aplicações
O que é Desenvolvimento de Aplicações
ProfThiagoAAlves
 
Codding dojos
Codding dojosCodding dojos
Codding dojos
Rodrigo Urubatan
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
Maicon Heck
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a ModelagemRodrigo Branas
 
A integração contínua pode te dar metricas de graca - SGRIO 2014
A integração contínua pode te dar metricas de graca - SGRIO 2014A integração contínua pode te dar metricas de graca - SGRIO 2014
A integração contínua pode te dar metricas de graca - SGRIO 2014
Carlos Felippe Cardoso
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
Pablo Bender
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
COTIC-PROEG (UFPA)
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
Marlon Carvalho
 
TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...
TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...
TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...
José Correia
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
Gabriel Schade Cardoso
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalho
Janynne Gomes
 

Mais procurados (20)

Código limpo php
Código limpo phpCódigo limpo php
Código limpo php
 
DojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SCDojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SC
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Demoiselle Paraguay Dojo 18/01/2012
Demoiselle Paraguay Dojo 18/01/2012Demoiselle Paraguay Dojo 18/01/2012
Demoiselle Paraguay Dojo 18/01/2012
 
Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!
 
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKTDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
 
O que é Desenvolvimento de Aplicações
O que é Desenvolvimento de AplicaçõesO que é Desenvolvimento de Aplicações
O que é Desenvolvimento de Aplicações
 
Codding dojos
Codding dojosCodding dojos
Codding dojos
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a Modelagem
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
A integração contínua pode te dar metricas de graca - SGRIO 2014
A integração contínua pode te dar metricas de graca - SGRIO 2014A integração contínua pode te dar metricas de graca - SGRIO 2014
A integração contínua pode te dar metricas de graca - SGRIO 2014
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...
TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...
TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalho
 

Semelhante a Coding Dojo - Aplicando Princípios Ágeis

Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Developer Academy
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
Dionatan default
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Coding dojo
Coding dojo Coding dojo
Coding dojo
wbrito2011
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)Felipe Pimentel
 
Coding dojo C# com NUnit
Coding dojo C# com NUnitCoding dojo C# com NUnit
Coding dojo C# com NUnit
Fabricio Panhan
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agileday
Carlos Felippe Cardoso
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
4Soft
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
Kleitor Franklint Correa Araujo
 
Coding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente OrganizacionalCoding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente Organizacional
Avelino Ferreira Gomes Filho
 
Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
William G. Comnisky
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Marcio Miyamoto
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Luca Bastos
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
Adolfo Neto
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Softwareguest4b8d24
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De SoftwareMarcos Cardoso
 
São Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOpsSão Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOps
Guilherme Pereira Silva
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Adolfo Neto
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Fábio Nogueira de Lucena
 

Semelhante a Coding Dojo - Aplicando Princípios Ágeis (20)

Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Coding dojo
Coding dojo Coding dojo
Coding dojo
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)
 
Coding dojo C# com NUnit
Coding dojo C# com NUnitCoding dojo C# com NUnit
Coding dojo C# com NUnit
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agileday
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
Coding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente OrganizacionalCoding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente Organizacional
 
Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelum
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Software
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Software
 
São Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOpsSão Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOps
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
 

Mais de Lorival Smolski Chapuis

Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...
Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...
Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...
Lorival Smolski Chapuis
 
Joinville Dojo 2010
Joinville Dojo   2010Joinville Dojo   2010
Joinville Dojo 2010
Lorival Smolski Chapuis
 
Domain driven design - Visão Geral
Domain driven design - Visão GeralDomain driven design - Visão Geral
Domain driven design - Visão Geral
Lorival Smolski Chapuis
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
Lorival Smolski Chapuis
 
Aula inaugural da GeraçãoTec - Softville/Joinville
Aula inaugural da GeraçãoTec - Softville/JoinvilleAula inaugural da GeraçãoTec - Softville/Joinville
Aula inaugural da GeraçãoTec - Softville/Joinville
Lorival Smolski Chapuis
 
Tutorial realidade aumentada - Sociesc 2011
Tutorial realidade aumentada - Sociesc 2011Tutorial realidade aumentada - Sociesc 2011
Tutorial realidade aumentada - Sociesc 2011
Lorival Smolski Chapuis
 
Realidade Aumentada - Sociesc 2011
Realidade Aumentada - Sociesc 2011Realidade Aumentada - Sociesc 2011
Realidade Aumentada - Sociesc 2011
Lorival Smolski Chapuis
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
Lorival Smolski Chapuis
 
Iadis Conference Flood Forecasting
Iadis Conference   Flood ForecastingIadis Conference   Flood Forecasting
Iadis Conference Flood Forecasting
Lorival Smolski Chapuis
 

Mais de Lorival Smolski Chapuis (9)

Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...
Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...
Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...
 
Joinville Dojo 2010
Joinville Dojo   2010Joinville Dojo   2010
Joinville Dojo 2010
 
Domain driven design - Visão Geral
Domain driven design - Visão GeralDomain driven design - Visão Geral
Domain driven design - Visão Geral
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
Aula inaugural da GeraçãoTec - Softville/Joinville
Aula inaugural da GeraçãoTec - Softville/JoinvilleAula inaugural da GeraçãoTec - Softville/Joinville
Aula inaugural da GeraçãoTec - Softville/Joinville
 
Tutorial realidade aumentada - Sociesc 2011
Tutorial realidade aumentada - Sociesc 2011Tutorial realidade aumentada - Sociesc 2011
Tutorial realidade aumentada - Sociesc 2011
 
Realidade Aumentada - Sociesc 2011
Realidade Aumentada - Sociesc 2011Realidade Aumentada - Sociesc 2011
Realidade Aumentada - Sociesc 2011
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Iadis Conference Flood Forecasting
Iadis Conference   Flood ForecastingIadis Conference   Flood Forecasting
Iadis Conference Flood Forecasting
 

Último

História Do Assaré - Prof. Francisco Leite
História Do Assaré - Prof. Francisco LeiteHistória Do Assaré - Prof. Francisco Leite
História Do Assaré - Prof. Francisco Leite
profesfrancleite
 
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Luana Neres
 
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptxHISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
WALTERDECARVALHOBRAG
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
UFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manualUFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manual
Manuais Formação
 
educação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmenteeducação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmente
DeuzinhaAzevedo
 
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdfUFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
Manuais Formação
 
the_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdfthe_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdf
CarinaSoto12
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Biblioteca UCS
 
Acróstico - Reciclar é preciso
Acróstico   -  Reciclar é preciso Acróstico   -  Reciclar é preciso
Acróstico - Reciclar é preciso
Mary Alvarenga
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
Mary Alvarenga
 
Memorial do convento slides- português 2023
Memorial do convento slides- português 2023Memorial do convento slides- português 2023
Memorial do convento slides- português 2023
MatildeBrites
 
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptxApresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
JulianeMelo17
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
MateusTavares54
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
enpfilosofiaufu
 
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
NatySousa3
 
Unificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da AlemanhaUnificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da Alemanha
Acrópole - História & Educação
 
A Ilustre Casa de Ramires, de Eça de Queirós
A Ilustre Casa de Ramires, de Eça de QueirósA Ilustre Casa de Ramires, de Eça de Queirós
A Ilustre Casa de Ramires, de Eça de Queirós
rafabebum
 
os-lusiadas-resumo-os-lusiadas-10-ano.pdf
os-lusiadas-resumo-os-lusiadas-10-ano.pdfos-lusiadas-resumo-os-lusiadas-10-ano.pdf
os-lusiadas-resumo-os-lusiadas-10-ano.pdf
GiselaAlves15
 
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Luana Neres
 

Último (20)

História Do Assaré - Prof. Francisco Leite
História Do Assaré - Prof. Francisco LeiteHistória Do Assaré - Prof. Francisco Leite
História Do Assaré - Prof. Francisco Leite
 
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
 
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptxHISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
UFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manualUFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manual
 
educação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmenteeducação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmente
 
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdfUFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
 
the_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdfthe_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdf
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
 
Acróstico - Reciclar é preciso
Acróstico   -  Reciclar é preciso Acróstico   -  Reciclar é preciso
Acróstico - Reciclar é preciso
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
 
Memorial do convento slides- português 2023
Memorial do convento slides- português 2023Memorial do convento slides- português 2023
Memorial do convento slides- português 2023
 
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptxApresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
 
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
 
Unificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da AlemanhaUnificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da Alemanha
 
A Ilustre Casa de Ramires, de Eça de Queirós
A Ilustre Casa de Ramires, de Eça de QueirósA Ilustre Casa de Ramires, de Eça de Queirós
A Ilustre Casa de Ramires, de Eça de Queirós
 
os-lusiadas-resumo-os-lusiadas-10-ano.pdf
os-lusiadas-resumo-os-lusiadas-10-ano.pdfos-lusiadas-resumo-os-lusiadas-10-ano.pdf
os-lusiadas-resumo-os-lusiadas-10-ano.pdf
 
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
 

Coding Dojo - Aplicando Princípios Ágeis

  • 1. Coding Dojo AplicandoPrincípiosÁgeis LorivalSmolskiChapuis MCP, MCTS ASP.NET, MCPD ASP.NET http://blog.lorival.com / lorival@chapuis.com.br XII Semana da Computação Universidade do Estado de Santa Catarina – UDESC 2010
  • 2. Considerações iniciais 2 The Curious Case of the CHAOS Report 2009 – Standish Group http://www.projectsmart.co.uk/the-curious-case-of-the-chaos-report-2009.html
  • 3. Porque treinar? Dojo? O que é um CodingDojo Princípios ágeis: Pair Programming TDD e Refactory Baby Steps Como funciona um CodingDojo Joinville Dojo Considerações finais Dúvidas Agenda 3
  • 4. O Brasil teria conseguido chegar a penta campeão do mundo sem treino? O dia-a-dia de um desenvolvedor são os campeonatos. Quando são os treinos? Um campeonato serve como treino? Por que treinar? 4
  • 5. A expressão treinamento refere-se à aquisição de conhecimento, habilidades e competências como resultado de formação profissional ou do ensino de habilidades práticas relacionadas à competências úteis específicas. Fonte: Wikipedia Definição de treinamento 5
  • 6. O dojo ou dojô (pronuncia-se DÔ-JÔ) é o local onde se treinam artes marciais, especialmente as nipônicas. Muito mais do que uma simples área, o dojo deve ser respeitado como se fosse a casa dos praticantes. Por isso, é comum ver o praticante fazendo uma reverência antes de adentrar, tal como se faz nos lares japoneses. Artes marciais que utilizam dojo: Judô, Jiu-Jitsu, Ninjutsu, Karatê e Taekwondo. Dojo 6
  • 8. CodingDojo Um Coding Dojo é uma reunião presencial para estudar e praticardesenvolvimento de software. Seus praticantes estão lá para se divertir e para participar em prática expontânea de forma a melhorar suas habilidades. Em um ambiente não competivivo e colaborativo, todos os participantes possuem um objetivo em comum: resolver o problema que foi proposto no início da sessão. Para tanto, é utilizado algumas práticas ágeis como Pair Programming, Test Driven Development (TDD), Refactoring e Baby Steps.
  • 9. Pair programming Programação em par é uma das práticas mais conhecidas e mais polêmicas utilizadas pelos que adotam o Extreme Programming. Ela sugere que todo e qualquer código produzido no projeto seja sempre implementado por duaspessoasjuntas, diante do mesmo computador, revezando-se no teclado.
  • 10. Pair programming Será que funciona? Já imaginou um avião apenas com o piloto sem um co-piloto? Você jamais voaria em um avião assim. Mesmo que você não se preocupe com isso a companhia aérea se preocupa e muito. Piloto e co-piloto possuem visões diferentes.
  • 11. Pair programming Em 1971, em um livro chamado The Psychology of Computer Programming (Gerald Weinberg) mostrou que o olho humano tem uma incrível capacidade de só enxergar aquilo que deseja e, naturalmente, ignorar aquilo que não quer ver “Programadores, se deixados por conta própria, ignoram os erros mais gritantes, os quais qualquer pessoa seria capaz de detectar instantaneamente“ Princípio da dissonância cognitiva.
  • 12. Pair programming Desenvolvedores rendemmais em duplas. Disseminação de conhecimento é uma das importantes características da programação em par. Eleva a capacidade técnica dos desenvolvedores. Aumenta a confiança do desenvolvedor e no software.
  • 13. Pair programming Programar em par exige que as pessoas envolvidas sejam receptivas, compreensivas umas com as outras, engajadas e, sobretudo, humildes. É necessário aceitar que somos falíveis para que possamos programar em par. Weinberg criou o termo egoless programming, ou seja, programação sem ego.
  • 14. TestDrivenDevelopment Desenvolvimento Guiado por Testes, ou simplesmente TDD. Consiste numa técnica de desenvolvimento de software onde primeiro são criados os testes e somente depois é escrito o código necessário para passar por eles.
  • 16. Entrada Saída Verificação Fonte: http://www.joinvilledojo.com.br
  • 17. Feedback Instantâneo Fonte: http://www.joinvilledojo.com.br
  • 22.
  • 23. Refactoring Revisão, simplificação e evolução do código. A história do apartamento sujo...
  • 24. Baby Steps Trabalhe em passos e pense simples. Escreva códigos simplificados que atuem e resolvam apenas o seu respectivo teste. Não crie 10 testes e saia codificando. Crie um teste e faça a codificação para que ele funcione. Não crie testes gigantes e codificações de mesma proporção.
  • 25. Requisitos para o CodingDojo No mínimo 5 participantes Uma sala Um computador com projetor (apenas um) Um problema Um contador de tempo
  • 26. Requisitos dos participantes Desejo de aprender e compartilhar conhecimento Respeito ao próximo Mente sempre aberta Disciplina Comprometimento
  • 27.
  • 29. Define o Kata (problema)
  • 30. Define data do próximo encontro
  • 31. Sessão (90 min – intervalo de 10 min)
  • 32. PreparedKata ou RandoriKataExemplo grupo ParisDojo. Fonte: http://codingdojo.org
  • 33.
  • 34. Co-piloto: Explica o que o Piloto está fazendo e o ajuda
  • 37. Piloto se une ao grupo, Co-piloto vira piloto e alguêm do grupo vira Co-piloto.
  • 39. Teste está verde (passou)
  • 40.
  • 41.
  • 42. Objetivo: Criar um grupo de estudos para praticar técnicas de desenvolvimento de sistema em Joinville
  • 43.
  • 45.
  • 47. Define o Kata (problema)
  • 48. Define data do próximo encontro
  • 49. Sessão (90 min – intervalo de 10 min)
  • 52.
  • 53. Posts das sessões e informações sobre o grupo
  • 57.
  • 58. Considerações finais 36 Não aperte o botão de desistência
  • 59. Dúvidas?CodingDojo LorivalSmolskiChapuis MCP, MCTS ASP.NET, MCPD ASP.NET http://blog.lorival.com / lorival@chapuis.com.br XII Semana da Computação Universidade do Estado de Santa Catarina – UDESC 2010