SlideShare uma empresa Scribd logo
1 de 37
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

Demoiselle Paraguay Dojo 18/01/2012
Demoiselle Paraguay Dojo 18/01/2012Demoiselle Paraguay Dojo 18/01/2012
Demoiselle Paraguay Dojo 18/01/2012Cleverson Sacramento
 
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 SDKtdc-globalcode
 
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çõesProfThiagoAAlves
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design PatternsMaicon 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 2014Carlos Felippe Cardoso
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesPablo Bender
 
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
 
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 trabalhoJanynne 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 MantraDionatan default
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
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 NUnitFabricio 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 agiledayCarlos 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 Desenvolvimento4Soft
 
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-noiteagilcaelumLuca Bastos
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal EngineAdolfo 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
 
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 SoftwareAdolfo 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
 
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çãoLorival 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/JoinvilleLorival Smolski Chapuis
 
Tutorial realidade aumentada - Sociesc 2011
Tutorial realidade aumentada - Sociesc 2011Tutorial realidade aumentada - Sociesc 2011
Tutorial realidade aumentada - Sociesc 2011Lorival 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

Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeitotatianehilda
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...DirceuNascimento5
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxReinaldoMuller1
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...Francisco Márcio Bezerra Oliveira
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxLeonardoGabriel65
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 

Último (20)

Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 

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