SlideShare una empresa de Scribd logo
1 de 17
Leonardo Micheloni
@leomicheloni
TDD y Pair programming
QUIÉN SOY?
• Leonardo Micheloni
• @leomicheloni
• De Argentina
• V=B LL=Y C=S=Z
• Con la agilidad de 2008
AGENDA
• Un poco sobre TDD 35’
• Práctica: Micropairing / ramdori Kata/ timeboxing / TDD 60’ / Baby
steps
• Reflexiones 25’
https://cdn.pixabay.com/photo/2016/03/31/19/19/alarm-1294909_960_720.png
Hablemos de TDD
TDD
• Hacer software es complejo
• El diseño es complejo
• Hay mucho que no sabemos
• Las cosas pueden cambiar
• No queremos hacer un análisis profundo
“El cliente es esa persona que nos dice lo que quería en el momento que le entregamos lo que nos pidió”
http://agilitrix.com/wp-content/uploads/2016/04/Agile-vs-Waterfall.jpg
¿CUÁLES SON LAS VENTAJAS?
• Tiempo fijo (timeboxing)
• Feedback rápido
• Fallar rápido
• Aprender en el camino
• Hacer Iteraciones (baby steps)
• Producto “entregable” cada sprint
TDD
• Tomar un requerimiento simple
• Hacer los test primero
• Hacer que fallen
• Implementar la solución
• Refactor
• Repetir
• No se consideran casos excepcionales
(inicialmente)
• La idea es centrarse solo en la
funcionalidad actual
https://anvileight.com/media/django-summernote/
¿CUÁLES SON LAS VENTAJAS?
• Tiempo fijo (timeboxing)
• Feedback rápido
• Fallar rápido
• Adaptar y continuar
• Aprender en el camino
• Hacer Iteraciones (baby steps)
• “Producto” potencialmente entregable
VENTAJAS
• El diseño “emerge”
• Mejora la autoestima
• Evitamos el sobre-diseño
• Hacemos refactor sobre la marcha
• Mejoramos la comprensión del problema
• Tenemos tests
• Tenemos code coverage
• YAGNI
• KISS
A codear para aprender
TDD KATA
• http://osherove.com/
Relfexiones
REFLEXIONES
• No es simple
• No es aplicable a todas las partes del sistema
• Puede dar una falsa sensación de seguridad
• En ocasiones es difícil de justificar
• Hace falta “ejercicio”, hay que ejercitarse
GRACIAS!
REFERENCIAS
• http://codingdojo.org/MicroPairing/
• http://codingdojo.org/TimeBox/
• https://www.youtube.com/watch?v=TgLfdsjJREI
• http://codingdojo.org/RandoriKata/
• http://osherove.com/tdd-kata-1/
• http://agiles2008.agiles.org/es/organizadores.php

Más contenido relacionado

Similar a Tdd y pair programming

Scrum UMNG - Herramientas de Emprendimiento
Scrum UMNG - Herramientas de EmprendimientoScrum UMNG - Herramientas de Emprendimiento
Scrum UMNG - Herramientas de EmprendimientoJulián R. Figueroa
 
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasHaz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasDavid Muñoz Gaete
 
Profesor Eme en CENTRO: Key Activities (Business Model Canvas)
Profesor Eme en CENTRO: Key Activities (Business Model Canvas)Profesor Eme en CENTRO: Key Activities (Business Model Canvas)
Profesor Eme en CENTRO: Key Activities (Business Model Canvas)Manuel Emilio Morato Mungaray
 
Greentizen: qué aprendimos
Greentizen: qué aprendimosGreentizen: qué aprendimos
Greentizen: qué aprendimosGeneXus
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágilesnetmind
 
The Agile Road v2 - San Marcos Agile Week
The Agile Road v2 - San Marcos Agile WeekThe Agile Road v2 - San Marcos Agile Week
The Agile Road v2 - San Marcos Agile WeekUzi Mamani Fernández
 
Lo que podemos aprender de +1000 PMs de latinomerica
Lo que podemos aprender de +1000 PMs de latinomericaLo que podemos aprender de +1000 PMs de latinomerica
Lo que podemos aprender de +1000 PMs de latinomericaEdgar Vasquez, MBA, PMP
 
Principios ágiles que ayudan a guiar a los equipos remotos
Principios ágiles que ayudan a guiar a los equipos remotosPrincipios ágiles que ayudan a guiar a los equipos remotos
Principios ágiles que ayudan a guiar a los equipos remotosAlfredo Javier Camperos
 
Presentación Agile Inception ADWE Madrid
Presentación Agile Inception ADWE MadridPresentación Agile Inception ADWE Madrid
Presentación Agile Inception ADWE MadridADWE Team
 
Agile, en que te hemos convertido v2
Agile, en que te hemos convertido v2Agile, en que te hemos convertido v2
Agile, en que te hemos convertido v2Eduardo Ferro Aldama
 
4 escenarios para volverse locos en Retail y cómo solucionarlos
4 escenarios para volverse locos en Retail y cómo solucionarlos4 escenarios para volverse locos en Retail y cómo solucionarlos
4 escenarios para volverse locos en Retail y cómo solucionarlosSolidQ
 
Be agile my friend - Cómo gestionar proyectos y dormir por las noches
Be agile my friend - Cómo gestionar proyectos y dormir por las nochesBe agile my friend - Cómo gestionar proyectos y dormir por las noches
Be agile my friend - Cómo gestionar proyectos y dormir por las nochesÁlvaro Agea Herradón
 
The agile road - Tacna Agile Day 2012
The agile road  - Tacna Agile Day 2012The agile road  - Tacna Agile Day 2012
The agile road - Tacna Agile Day 2012Uzi Mamani Fernández
 
Confianza+Participación+Transparencia= Refactorizando la empresa
Confianza+Participación+Transparencia= Refactorizando la empresaConfianza+Participación+Transparencia= Refactorizando la empresa
Confianza+Participación+Transparencia= Refactorizando la empresaHernan Wilkinson
 
Metodologías ágiles como catalizador del cambio
Metodologías ágiles como catalizador del cambioMetodologías ágiles como catalizador del cambio
Metodologías ágiles como catalizador del cambioRoberto Canales
 

Similar a Tdd y pair programming (20)

Scrum UMNG - Herramientas de Emprendimiento
Scrum UMNG - Herramientas de EmprendimientoScrum UMNG - Herramientas de Emprendimiento
Scrum UMNG - Herramientas de Emprendimiento
 
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasHaz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
 
Profesor Eme en CENTRO: Key Activities (Business Model Canvas)
Profesor Eme en CENTRO: Key Activities (Business Model Canvas)Profesor Eme en CENTRO: Key Activities (Business Model Canvas)
Profesor Eme en CENTRO: Key Activities (Business Model Canvas)
 
Agilidad al rescate
Agilidad al rescateAgilidad al rescate
Agilidad al rescate
 
Greentizen: qué aprendimos
Greentizen: qué aprendimosGreentizen: qué aprendimos
Greentizen: qué aprendimos
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágiles
 
The Agile Road v2 - San Marcos Agile Week
The Agile Road v2 - San Marcos Agile WeekThe Agile Road v2 - San Marcos Agile Week
The Agile Road v2 - San Marcos Agile Week
 
Lo que podemos aprender de +1000 PMs de latinomerica
Lo que podemos aprender de +1000 PMs de latinomericaLo que podemos aprender de +1000 PMs de latinomerica
Lo que podemos aprender de +1000 PMs de latinomerica
 
Principios ágiles que ayudan a guiar a los equipos remotos
Principios ágiles que ayudan a guiar a los equipos remotosPrincipios ágiles que ayudan a guiar a los equipos remotos
Principios ágiles que ayudan a guiar a los equipos remotos
 
Presentación Agile Inception ADWE Madrid
Presentación Agile Inception ADWE MadridPresentación Agile Inception ADWE Madrid
Presentación Agile Inception ADWE Madrid
 
Agile, en que te hemos convertido v2
Agile, en que te hemos convertido v2Agile, en que te hemos convertido v2
Agile, en que te hemos convertido v2
 
4 escenarios para volverse locos en Retail y cómo solucionarlos
4 escenarios para volverse locos en Retail y cómo solucionarlos4 escenarios para volverse locos en Retail y cómo solucionarlos
4 escenarios para volverse locos en Retail y cómo solucionarlos
 
Scrum@IMI Qué ha funcionado y qué no
Scrum@IMI Qué ha funcionado y qué noScrum@IMI Qué ha funcionado y qué no
Scrum@IMI Qué ha funcionado y qué no
 
Scrum y craftsmanship
Scrum y craftsmanshipScrum y craftsmanship
Scrum y craftsmanship
 
Be agile my friend - Cómo gestionar proyectos y dormir por las noches
Be agile my friend - Cómo gestionar proyectos y dormir por las nochesBe agile my friend - Cómo gestionar proyectos y dormir por las noches
Be agile my friend - Cómo gestionar proyectos y dormir por las noches
 
La alternativa agil v5.7
La alternativa agil   v5.7La alternativa agil   v5.7
La alternativa agil v5.7
 
The agile road - Tacna Agile Day 2012
The agile road  - Tacna Agile Day 2012The agile road  - Tacna Agile Day 2012
The agile road - Tacna Agile Day 2012
 
Confianza+Participación+Transparencia= Refactorizando la empresa
Confianza+Participación+Transparencia= Refactorizando la empresaConfianza+Participación+Transparencia= Refactorizando la empresa
Confianza+Participación+Transparencia= Refactorizando la empresa
 
Metodologías ágiles como catalizador del cambio
Metodologías ágiles como catalizador del cambioMetodologías ágiles como catalizador del cambio
Metodologías ágiles como catalizador del cambio
 
Corporate agile
Corporate agile Corporate agile
Corporate agile
 

Más de Leonardo Micheloni

Más de Leonardo Micheloni (16)

Docker_K8S_lecciones_netcoreconf_2022.pdf
Docker_K8S_lecciones_netcoreconf_2022.pdfDocker_K8S_lecciones_netcoreconf_2022.pdf
Docker_K8S_lecciones_netcoreconf_2022.pdf
 
Docker dotnet netbaires
Docker dotnet netbairesDocker dotnet netbaires
Docker dotnet netbaires
 
Mas alla de javascript con typescript
Mas alla de javascript con typescriptMas alla de javascript con typescript
Mas alla de javascript con typescript
 
Workshop clean code javascript
Workshop clean code javascriptWorkshop clean code javascript
Workshop clean code javascript
 
2019 commit solid typescript
2019 commit solid typescript2019 commit solid typescript
2019 commit solid typescript
 
Solid con typescript
Solid con typescriptSolid con typescript
Solid con typescript
 
Docker Dotnet Málaga
Docker Dotnet MálagaDocker Dotnet Málaga
Docker Dotnet Málaga
 
Pipeline continuo con VSTS Azure DevOps
Pipeline continuo con VSTS Azure DevOpsPipeline continuo con VSTS Azure DevOps
Pipeline continuo con VSTS Azure DevOps
 
Docker for losers
Docker for losersDocker for losers
Docker for losers
 
Clean code javascript + live coding
Clean code javascript + live codingClean code javascript + live coding
Clean code javascript + live coding
 
Un viaje por Cosmos DB
Un viaje por Cosmos DBUn viaje por Cosmos DB
Un viaje por Cosmos DB
 
Cosmos db gab2018
Cosmos db gab2018Cosmos db gab2018
Cosmos db gab2018
 
Cosmos DB in a nutshell
Cosmos DB in a nutshellCosmos DB in a nutshell
Cosmos DB in a nutshell
 
Esp8266 iothub Azure data analysis in real time
Esp8266 iothub Azure data analysis in real timeEsp8266 iothub Azure data analysis in real time
Esp8266 iothub Azure data analysis in real time
 
Clean code javascript
Clean code javascriptClean code javascript
Clean code javascript
 
Blockchain, smart contracts y azure
Blockchain, smart contracts y azureBlockchain, smart contracts y azure
Blockchain, smart contracts y azure
 

Tdd y pair programming

  • 2. QUIÉN SOY? • Leonardo Micheloni • @leomicheloni • De Argentina • V=B LL=Y C=S=Z • Con la agilidad de 2008
  • 3. AGENDA • Un poco sobre TDD 35’ • Práctica: Micropairing / ramdori Kata/ timeboxing / TDD 60’ / Baby steps • Reflexiones 25’ https://cdn.pixabay.com/photo/2016/03/31/19/19/alarm-1294909_960_720.png
  • 5. TDD • Hacer software es complejo • El diseño es complejo • Hay mucho que no sabemos • Las cosas pueden cambiar • No queremos hacer un análisis profundo “El cliente es esa persona que nos dice lo que quería en el momento que le entregamos lo que nos pidió”
  • 7.
  • 8. ¿CUÁLES SON LAS VENTAJAS? • Tiempo fijo (timeboxing) • Feedback rápido • Fallar rápido • Aprender en el camino • Hacer Iteraciones (baby steps) • Producto “entregable” cada sprint
  • 9. TDD • Tomar un requerimiento simple • Hacer los test primero • Hacer que fallen • Implementar la solución • Refactor • Repetir • No se consideran casos excepcionales (inicialmente) • La idea es centrarse solo en la funcionalidad actual https://anvileight.com/media/django-summernote/
  • 10. ¿CUÁLES SON LAS VENTAJAS? • Tiempo fijo (timeboxing) • Feedback rápido • Fallar rápido • Adaptar y continuar • Aprender en el camino • Hacer Iteraciones (baby steps) • “Producto” potencialmente entregable
  • 11. VENTAJAS • El diseño “emerge” • Mejora la autoestima • Evitamos el sobre-diseño • Hacemos refactor sobre la marcha • Mejoramos la comprensión del problema • Tenemos tests • Tenemos code coverage • YAGNI • KISS
  • 12. A codear para aprender
  • 15. REFLEXIONES • No es simple • No es aplicable a todas las partes del sistema • Puede dar una falsa sensación de seguridad • En ocasiones es difícil de justificar • Hace falta “ejercicio”, hay que ejercitarse
  • 17. REFERENCIAS • http://codingdojo.org/MicroPairing/ • http://codingdojo.org/TimeBox/ • https://www.youtube.com/watch?v=TgLfdsjJREI • http://codingdojo.org/RandoriKata/ • http://osherove.com/tdd-kata-1/ • http://agiles2008.agiles.org/es/organizadores.php