SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Coding Dojo
 @apiconz - Armando Picón
¿Qué es un Coding Dojo?
Un Coding Dojo es un lugar donde los
programadores asisten para mejorar sus
"skills", siguiendo un patrón similar al de un
dojo de artes marciales. Los participantes se
reunen para dar solución a un desafío de
programación, aplicando sus conocimientos y
aprendiendo nuevas técnicas para mejorar su
desarrollo, a través, de la interacción con sus
compañeros.
TDD (Test Driven Development)

                  Test



Refactor                        Fail


                                  KISS!
           Pass          Code     (Simple)
Dinámica

Pair programming:
    2 personas x
    1 computadora

Kake Coding Dojo:
5 - 7 minutos por ronda
Driver regresa a la audiencia.
Copilot pasa a ser Coder.
Un miembro de la audiencia pasa a ser
Copilot.
Desafío – Greed Kata
• Greed es un juego de dados. En el juego, se
  hacen rodar los dados tratando de obtener la
  mayor cantidad de puntos como sea posible.
• Se nos pide desarrollar una solución en la que
  se reciba una colección de valores de dados y
  nos permita conocer el puntaje obtenido.
• Para este kata, solo nos enfocaremos en un
  solo lanzamiento de cinco dados.
Desafío – Greed Kata
•   Escribir el código en el cuál se calcule el mejor puntaje basado en cualquier
    lanzamiento empleando la siguiente serie de puntuación:
      o Un solo 1 (100)
      o Un solo 5 (50)
      o Triple 1 [1,1,1] (1000)
      o Triple 2 [2,2,2] (200)
      o Triple 3 [3,3,3] (300)
      o Triple 4 [4,4,4] (400)
      o Triple 5 [5,5,5] (500)
      o Triple 6 [6,6,6] (600)
•   Ejemplos:
     o [1,1,1,5,1] = 1150 puntos
     o [2,3,4,6,2] = 0 puntos
     o [5,5,5,5,5] = 600 puntos
     o [1,5,1,2,4] = 250 puntos
Desafío – Greed Kata (Bonus)
•   Algunas reglas extras (cambiarán la forma de puntuación de algunos de los
    ejemplos anteriores):
     o El jugador puede lanzar 6 dados.
     o Cuatro en línea [2,2,2,2]: Multiplica el Triple por 2 (cuatro 2 deberían ser
        400).
     o Cinco en línea [2,2,2,2,2]: Multiplica el Triple por 3 (cinco 2 deberían
        hacer 800).
     o Seis en línea [2,2,2,2,2,2]: Multiplica el Triple puntaje por 8 (seis 2
        deberían hacer 1600).
     o Tres pares [2,2,3,3,4,4]: 800 puntos.
     o Raya [1,2,3,4,5,6]: 1200 puntos.
Feedback - Retrospectiva
Participa en la comunidad…




          AgilePerú en Google Groups
Armando Picón Z.
IBM WebSphere Portal Specialist
     & Agile Professional
  Certified Scrum Developer


      web | about.me/apiconz
   e-mail | apiconz@gmail.com
twitter | www.twitter.com/apiconz

Mais conteúdo relacionado

Mais de Armando Picón Z.

Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Armando Picón Z.
 
Integra tu Aplicación Android con Firebase
Integra tu Aplicación Android con FirebaseIntegra tu Aplicación Android con Firebase
Integra tu Aplicación Android con FirebaseArmando Picón Z.
 
GDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladoresGDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladoresArmando Picón Z.
 
Introducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidIntroducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidArmando Picón Z.
 
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...Armando Picón Z.
 
GDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud PlatformGDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud PlatformArmando Picón Z.
 
Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014Armando Picón Z.
 
Coding Dojo - Presentation Template
Coding Dojo - Presentation TemplateCoding Dojo - Presentation Template
Coding Dojo - Presentation TemplateArmando Picón Z.
 
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesferaUsabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesferaArmando Picón Z.
 
Introducción a la agilidad el manifiesto v2.0
Introducción a la agilidad   el manifiesto v2.0Introducción a la agilidad   el manifiesto v2.0
Introducción a la agilidad el manifiesto v2.0Armando Picón Z.
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoArmando Picón Z.
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoArmando Picón Z.
 
Lima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopLima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopArmando Picón Z.
 
Android 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloAndroid 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloArmando Picón Z.
 
Distributed Scrum por Heitor Roriz
Distributed Scrum por Heitor RorizDistributed Scrum por Heitor Roriz
Distributed Scrum por Heitor RorizArmando Picón Z.
 
Como Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De MovistarComo Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De MovistarArmando Picón Z.
 

Mais de Armando Picón Z. (18)

Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
 
Integra tu Aplicación Android con Firebase
Integra tu Aplicación Android con FirebaseIntegra tu Aplicación Android con Firebase
Integra tu Aplicación Android con Firebase
 
Android Espresso
Android EspressoAndroid Espresso
Android Espresso
 
GDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladoresGDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladores
 
Introducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidIntroducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para Android
 
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
 
GDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud PlatformGDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud Platform
 
Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014
 
Coding Dojo - Presentation Template
Coding Dojo - Presentation TemplateCoding Dojo - Presentation Template
Coding Dojo - Presentation Template
 
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesferaUsabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
 
Introducción a la agilidad el manifiesto v2.0
Introducción a la agilidad   el manifiesto v2.0Introducción a la agilidad   el manifiesto v2.0
Introducción a la agilidad el manifiesto v2.0
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El Manifiesto
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El Manifiesto
 
Lima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopLima GTUG - Startup Android Workshop
Lima GTUG - Startup Android Workshop
 
Android 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloAndroid 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrollo
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Distributed Scrum por Heitor Roriz
Distributed Scrum por Heitor RorizDistributed Scrum por Heitor Roriz
Distributed Scrum por Heitor Roriz
 
Como Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De MovistarComo Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De Movistar
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Coding Dojo - Greed Kata

  • 1. Coding Dojo @apiconz - Armando Picón
  • 2. ¿Qué es un Coding Dojo? Un Coding Dojo es un lugar donde los programadores asisten para mejorar sus "skills", siguiendo un patrón similar al de un dojo de artes marciales. Los participantes se reunen para dar solución a un desafío de programación, aplicando sus conocimientos y aprendiendo nuevas técnicas para mejorar su desarrollo, a través, de la interacción con sus compañeros.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. TDD (Test Driven Development) Test Refactor Fail KISS! Pass Code (Simple)
  • 9. Dinámica Pair programming: 2 personas x 1 computadora Kake Coding Dojo: 5 - 7 minutos por ronda Driver regresa a la audiencia. Copilot pasa a ser Coder. Un miembro de la audiencia pasa a ser Copilot.
  • 10. Desafío – Greed Kata • Greed es un juego de dados. En el juego, se hacen rodar los dados tratando de obtener la mayor cantidad de puntos como sea posible. • Se nos pide desarrollar una solución en la que se reciba una colección de valores de dados y nos permita conocer el puntaje obtenido. • Para este kata, solo nos enfocaremos en un solo lanzamiento de cinco dados.
  • 11. Desafío – Greed Kata • Escribir el código en el cuál se calcule el mejor puntaje basado en cualquier lanzamiento empleando la siguiente serie de puntuación: o Un solo 1 (100) o Un solo 5 (50) o Triple 1 [1,1,1] (1000) o Triple 2 [2,2,2] (200) o Triple 3 [3,3,3] (300) o Triple 4 [4,4,4] (400) o Triple 5 [5,5,5] (500) o Triple 6 [6,6,6] (600) • Ejemplos: o [1,1,1,5,1] = 1150 puntos o [2,3,4,6,2] = 0 puntos o [5,5,5,5,5] = 600 puntos o [1,5,1,2,4] = 250 puntos
  • 12. Desafío – Greed Kata (Bonus) • Algunas reglas extras (cambiarán la forma de puntuación de algunos de los ejemplos anteriores): o El jugador puede lanzar 6 dados. o Cuatro en línea [2,2,2,2]: Multiplica el Triple por 2 (cuatro 2 deberían ser 400). o Cinco en línea [2,2,2,2,2]: Multiplica el Triple por 3 (cinco 2 deberían hacer 800). o Seis en línea [2,2,2,2,2,2]: Multiplica el Triple puntaje por 8 (seis 2 deberían hacer 1600). o Tres pares [2,2,3,3,4,4]: 800 puntos. o Raya [1,2,3,4,5,6]: 1200 puntos.
  • 14. Participa en la comunidad… AgilePerú en Google Groups
  • 15. Armando Picón Z. IBM WebSphere Portal Specialist & Agile Professional Certified Scrum Developer web | about.me/apiconz e-mail | apiconz@gmail.com twitter | www.twitter.com/apiconz