SlideShare una empresa de Scribd logo
1 de 25
Craftsmanship y Scrum
   Desarrolladores
ágiles, profesionales y
     responsables.
             Carlos Peix
 carlos.peix@kleer.la - @carlospeix
Agenda
• Craftsmanship y Scrum
• Simplicidad, comunicación, realimentación, re
  speto y coraje
• Condiciones de trabajo
• Estado de flow
• Mejorando habilidades
• Codificando ágilmente
• El camino hacia software craftsmanship
Craftsmanship y Scrum


Antes que procesos y herramientas
  buscamos individuos e interacciones
     y nos comportamos como profesionales
Craftsmanship y Scrum


Antes que documentación extensiva
  preferimos software funcionando
     y del cual estemos orgullosos
Craftsmanship y Scrum


Antes que negociación contractual
  preferimos colaborar con el cliente
     y buscamos alianzas productivas
Craftsmanship y Scrum


Antes que seguir un plan
  respondemos al cambio
     y agregamos valor continuamente
Simplicidad
Con código simple mantenemos controlados los costos
   de mantenimiento

TDD como camino a la simplicidad

Sin refactoring no hay código simple
  Sin buenas pruebas no ha refactoring
      Sin TDD no hay buenas pruebas


¿Qué otra manera propones para lograrlo?
Comunicación
Debemos mejorar nuestra comunicación
  – Verbal - Precisión en el lenguaje
  – Escrita - Riqueza, puntuación, eficiencia
  – Visual - Facilitación y documentación gráfica


Si no nos entienden o nos entienden mal
    ¿Cómo lograremos comunicarnos?
Realimentación
Ningún profesional del desarrollo de software
   puede permitirse el lujo de no validar
   internamente y externamente su trabajo.

Queremos hacer lo que el cliente necesita, que
  no siempre es lo que nos pide…
Respeto
Debemos romper el círculo vicioso del engaño
   mutuo
Para romper ese círculo, debemos entender el
   punto de vista del que paga



Antes que pedir respeto debemos
   ganárnoslo, comportándonos como
   profesionales
Coraje
Para decir “No”
Para aceptar errores
Para sostener nuestras estimaciones
Para tomar control de nuestro software
Para cambiar de entorno si no puedo cambiarlo

Nadie mejor que nosotros mismos para
  defender nuestros intereses
¿Cómo lo
hacemos?
Condiciones de trabajo
Ningún médico operaría a un paciente si el
   anestesista o el quirófano no fuera confiable
Ningún notario permitiría una operación si no nos
   pudiese identificar según las reglas
Como profesionales, debemos exigir condiciones
   seguras de trabajo
(TDD, IC, pair programming, refactoring, entorno
   apropiado, sin interrupciones, cliente
   accesible, deploy automatizado, etc.)
Estado de “flow”
El estado de flow se logra por acciones
    “secundarias”
Si estoy bloqueado o me distraigo fácilmente
    Pair programming
Si quiero ir rápido y sostenido
    Prolijo, ordenado, pequeños pasos
Si el trabajo parece demasiado
    Entregas pequeñas y frecuentes (cadencia)
Mejorando habilidades
Duras
  – Un lenguajes y paradigma nuevo cada año
  – Participar en un proyecto open source
Blandas
  – Entender explicando
  – Aprender enseñando
  – Presentar en eventos
  – Participar en la comunidad
Codificando ágilmente
Simplicidad
Test Driven Development
La regla del boy scout
Cadencia de corto plazo (Pomodoro)
Principios de diseño e ingeniería
Programamos para el usuario/cliente
Optimizamos velocidad solo si se justifica
Mantener la calma en la crisis
Debugger driven development -> ¡FAIL!
Mal humor o desmotivación -> ¡FAIL!
Horas extra -> ¡FAIL!
Atajos del IDE o editor
Zona de flow
Pair programming
Arquitectura ágil
El camino hacia software craftsmanship
•  Lenguajes y paradigmas
  – Ruby, Io, Java, Scala, Prolog, Erlang, Clojure, etc.
• Herramientas
  – Editores: Vim, Sublime, IDEs (aprender atajos)
  – Git, Heroku, Travis
  – VM con Linux (mucho mas fácil todo)
• Libros
  – Clean Code
  – The Clean Coder
  – Pragmatic Programmer
El camino hacia software craftsmanship
•    Herramientas
    – TDD con JUnit, NUnit, RSpec, QUnit
    – ATDD (Fitnesse, Cucumber, JBehave, SpecFlow)
• Tutoriales
    –   Koans sobre distintos lenguajes
    –   Git, Subversion, políticas de branching y commit
    –   Diseño con objetos (sigan a @HernanWilkinson)
    –   Principios SOLID
    –   Patrones de diseño (solo después de 5 años)
    –   Katas y Dojos, muchos, en diferentes entornos
El camino hacia software craftsmanship
•    Videos
    – TDD con James Shore, Robert Martin
    – http://holatdd.com/
    – Agile Planning de Mike Cohn
    – http://www.cleancoders.com/
    – ¡Comparte tus propios videos!
“The trouble with quick and dirty is that
   dirty remains long after quick has been
   forgotten.”
“El problema con rápido y feo es que lo feo
   se mantiene mucho después de que nos
   olvidamos que fué rápido.”

Steve McConnell
(Code Complete, Rapid Development, Software Estimation, etc)
“Make it run, make it right, make it fast.”

“Primero que funcione, luego que sea
   limpio, por último que sea rápido.”

Lampson
http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast
“Premature optimization is the root of all
   evil.”
“La optimización prematura es la causa de
   todos los males.”

Knuth
http://c2.com/cgi/wiki?PrematureOptimization
Referencias
•   On line
    –   http://agilemanifesto.org/
    –   http://manifesto.softwarecraftsmanship.org/
•   Libros
    –   Clean Code - 2009 - (Robert Martin)
    –   The Clean Code - 2011 - (Robert Martin)
    –   The Pragmatic Programmer - 1999 - (Andrew Hunt, David Thomas)
•   Videos
    –   http://www.jamesshore.com/Blog/Lets-Play/Lets-Play-Test-Driven-
        Development.html
    –   http://holatdd.com/
    –   http://www.cleancoders.com/
¡Muchas Gracias!
carlos.peix@kleer.la - @carlospeix
        http//www.kleer.la/
http://www.slideshare.net/kleer_la

Más contenido relacionado

La actualidad más candente

ALD.cl.09 Caso de Exito - NameAction
ALD.cl.09 Caso de Exito - NameActionALD.cl.09 Caso de Exito - NameAction
ALD.cl.09 Caso de Exito - NameAction
ChileAgil
 
SCRUM un camino exitoso, no sólo para el Desarrollo de SW
SCRUM un camino  exitoso, no sólo para el Desarrollo de SWSCRUM un camino  exitoso, no sólo para el Desarrollo de SW
SCRUM un camino exitoso, no sólo para el Desarrollo de SW
scrumecuador
 

La actualidad más candente (20)

Mapa de Historias de Usuario - User Story Map
Mapa de Historias de Usuario - User Story MapMapa de Historias de Usuario - User Story Map
Mapa de Historias de Usuario - User Story Map
 
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
 
ALD.cl.09 Caso de Exito - NameAction
ALD.cl.09 Caso de Exito - NameActionALD.cl.09 Caso de Exito - NameAction
ALD.cl.09 Caso de Exito - NameAction
 
Sensibilizacion a las Metodologías Ágiles y Framework de Cynefin por @jorge_abad
Sensibilizacion a las Metodologías Ágiles y Framework de Cynefin por @jorge_abadSensibilizacion a las Metodologías Ágiles y Framework de Cynefin por @jorge_abad
Sensibilizacion a las Metodologías Ágiles y Framework de Cynefin por @jorge_abad
 
DEISER expoQA 2017
DEISER expoQA 2017DEISER expoQA 2017
DEISER expoQA 2017
 
Acelerando la cultura DevOps mediante Entrega Continua
Acelerando la cultura DevOps mediante Entrega ContinuaAcelerando la cultura DevOps mediante Entrega Continua
Acelerando la cultura DevOps mediante Entrega Continua
 
HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPS
HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPSHABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPS
HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPS
 
Ejecutando proyectos con equipos autogestionados por @jorge_abad
Ejecutando proyectos con equipos autogestionados por @jorge_abadEjecutando proyectos con equipos autogestionados por @jorge_abad
Ejecutando proyectos con equipos autogestionados por @jorge_abad
 
La transformacion DevOps
La transformacion DevOpsLa transformacion DevOps
La transformacion DevOps
 
SCPNA2017 El arte del patadon pa'lante / libro de recetas
SCPNA2017 El arte del patadon pa'lante / libro de recetasSCPNA2017 El arte del patadon pa'lante / libro de recetas
SCPNA2017 El arte del patadon pa'lante / libro de recetas
 
Scrum Con Exito
Scrum Con ExitoScrum Con Exito
Scrum Con Exito
 
Inceptions
InceptionsInceptions
Inceptions
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Version Chile: Ejecutando proyectos con equipos autogestionados por @jorge_abad
Version Chile: Ejecutando proyectos con equipos autogestionados por @jorge_abadVersion Chile: Ejecutando proyectos con equipos autogestionados por @jorge_abad
Version Chile: Ejecutando proyectos con equipos autogestionados por @jorge_abad
 
SCRUM un camino exitoso, no sólo para el Desarrollo de SW
SCRUM un camino  exitoso, no sólo para el Desarrollo de SWSCRUM un camino  exitoso, no sólo para el Desarrollo de SW
SCRUM un camino exitoso, no sólo para el Desarrollo de SW
 
AUGBCN - Agile¿What?
AUGBCN - Agile¿What?AUGBCN - Agile¿What?
AUGBCN - Agile¿What?
 
Generación de Valor con Scrum
Generación de Valor con ScrumGeneración de Valor con Scrum
Generación de Valor con Scrum
 
Scrum Xp Agile Tour Peru2008
Scrum Xp Agile Tour Peru2008Scrum Xp Agile Tour Peru2008
Scrum Xp Agile Tour Peru2008
 
Una introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abadUna introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abad
 
Yo soy Dev, yo soy Ops y somos dos en un equipo - [DEISER TOUR Madrid Talks]
Yo soy Dev, yo soy Ops y somos dos en un equipo - [DEISER TOUR Madrid Talks]Yo soy Dev, yo soy Ops y somos dos en un equipo - [DEISER TOUR Madrid Talks]
Yo soy Dev, yo soy Ops y somos dos en un equipo - [DEISER TOUR Madrid Talks]
 

Destacado

International opps unimi april 2013
International opps unimi april 2013International opps unimi april 2013
International opps unimi april 2013
BonBoard Srl
 
I ar e-pulache calle-fotografía
I ar e-pulache calle-fotografíaI ar e-pulache calle-fotografía
I ar e-pulache calle-fotografía
Tochy
 
Digital Pulse Summit - A Report From the Front Lines of CEM - Randy Woods, No...
Digital Pulse Summit - A Report From the Front Lines of CEM - Randy Woods, No...Digital Pulse Summit - A Report From the Front Lines of CEM - Randy Woods, No...
Digital Pulse Summit - A Report From the Front Lines of CEM - Randy Woods, No...
Digital Clarity Group
 
წლიური ანგარიში 2009-2010
წლიური ანგარიში 2009-2010 წლიური ანგარიში 2009-2010
წლიური ანგარიში 2009-2010
civilservicebureau
 
PresentacióN De Proxmox
PresentacióN De Proxmox PresentacióN De Proxmox
PresentacióN De Proxmox
daten
 

Destacado (20)

FDSeminar Processen Stroomlijnen - Bart De Backer en Joris Vanderlinden - Bar...
FDSeminar Processen Stroomlijnen - Bart De Backer en Joris Vanderlinden - Bar...FDSeminar Processen Stroomlijnen - Bart De Backer en Joris Vanderlinden - Bar...
FDSeminar Processen Stroomlijnen - Bart De Backer en Joris Vanderlinden - Bar...
 
Entrevista a reynaldo charres vargas muce 2
Entrevista a reynaldo charres vargas muce 2Entrevista a reynaldo charres vargas muce 2
Entrevista a reynaldo charres vargas muce 2
 
International opps unimi april 2013
International opps unimi april 2013International opps unimi april 2013
International opps unimi april 2013
 
Information från Läkemedelsverket #2 2012
Information från Läkemedelsverket #2 2012Information från Läkemedelsverket #2 2012
Information från Läkemedelsverket #2 2012
 
GSA Recommendation
GSA RecommendationGSA Recommendation
GSA Recommendation
 
Netpeak Agency — SEO and PPC for Business
Netpeak Agency — SEO and PPC for BusinessNetpeak Agency — SEO and PPC for Business
Netpeak Agency — SEO and PPC for Business
 
I ar e-pulache calle-fotografía
I ar e-pulache calle-fotografíaI ar e-pulache calle-fotografía
I ar e-pulache calle-fotografía
 
El inicio de los dinosaurios
El inicio de los dinosauriosEl inicio de los dinosaurios
El inicio de los dinosaurios
 
Digital Pulse Summit - A Report From the Front Lines of CEM - Randy Woods, No...
Digital Pulse Summit - A Report From the Front Lines of CEM - Randy Woods, No...Digital Pulse Summit - A Report From the Front Lines of CEM - Randy Woods, No...
Digital Pulse Summit - A Report From the Front Lines of CEM - Randy Woods, No...
 
Eurococ en
Eurococ enEurococ en
Eurococ en
 
Upgrade von TYPO3 4.5 auf 6.2 - CertiFUNcation Phantasialand 2015
Upgrade von TYPO3 4.5 auf 6.2 - CertiFUNcation Phantasialand 2015Upgrade von TYPO3 4.5 auf 6.2 - CertiFUNcation Phantasialand 2015
Upgrade von TYPO3 4.5 auf 6.2 - CertiFUNcation Phantasialand 2015
 
Davidson County Sales Tax Handouts
Davidson County Sales Tax HandoutsDavidson County Sales Tax Handouts
Davidson County Sales Tax Handouts
 
წლიური ანგარიში 2009-2010
წლიური ანგარიში 2009-2010 წლიური ანგარიში 2009-2010
წლიური ანგარიში 2009-2010
 
Revista de la Fundación Exportar #18
Revista de la Fundación Exportar #18Revista de la Fundación Exportar #18
Revista de la Fundación Exportar #18
 
Datalicious Media Attribution
Datalicious Media AttributionDatalicious Media Attribution
Datalicious Media Attribution
 
R136
R136R136
R136
 
Taller aprendiendo a relacionarnos.
Taller aprendiendo a relacionarnos.Taller aprendiendo a relacionarnos.
Taller aprendiendo a relacionarnos.
 
Ebola2
Ebola2Ebola2
Ebola2
 
Tdr diagnóstico plan 4000
Tdr diagnóstico plan 4000Tdr diagnóstico plan 4000
Tdr diagnóstico plan 4000
 
PresentacióN De Proxmox
PresentacióN De Proxmox PresentacióN De Proxmox
PresentacióN De Proxmox
 

Similar a Scrum y craftsmanship

Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer   cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)Kleer   cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer Agile Coaching & Training
 

Similar a Scrum y craftsmanship (20)

BDD para la mejora de la calidad software
BDD para la mejora de la calidad softwareBDD para la mejora de la calidad software
BDD para la mejora de la calidad software
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
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
 
Módulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilMódulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágil
 
Metodologías Ágiles en la Práctica
Metodologías Ágiles en la PrácticaMetodologías Ágiles en la Práctica
Metodologías Ágiles en la Práctica
 
Scrum
ScrumScrum
Scrum
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Softagile
SoftagileSoftagile
Softagile
 
Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer   cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)Kleer   cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
 
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de SoftwareMetodologías de Desarrollo de Software
Metodologías de Desarrollo de Software
 
Práctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptxPráctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptx
 
Integración continua y despliegue automático en Azure 
Integración continua y despliegue automático en Azure Integración continua y despliegue automático en Azure 
Integración continua y despliegue automático en Azure 
 
Desarrollo de Software
Desarrollo de SoftwareDesarrollo de Software
Desarrollo de Software
 
Day01
Day01Day01
Day01
 
Desarrollo de Software 2013
Desarrollo de Software 2013Desarrollo de Software 2013
Desarrollo de Software 2013
 
Desarrollo de Software por www.jasoftsolutions.com
Desarrollo de Software por www.jasoftsolutions.comDesarrollo de Software por www.jasoftsolutions.com
Desarrollo de Software por www.jasoftsolutions.com
 
Presentacion DevSecOps Argentina
Presentacion DevSecOps ArgentinaPresentacion DevSecOps Argentina
Presentacion DevSecOps Argentina
 
Tw ¿Por qué elegir ágil?
Tw   ¿Por qué elegir ágil? Tw   ¿Por qué elegir ágil?
Tw ¿Por qué elegir ágil?
 
Ingeniería de Software, Agilidad y Tecnología
Ingeniería de Software, Agilidad y TecnologíaIngeniería de Software, Agilidad y Tecnología
Ingeniería de Software, Agilidad y Tecnología
 
Documentación y agilidad
Documentación y agilidadDocumentación y agilidad
Documentación y agilidad
 

Más de Kleer Agile Coaching & Training

Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
Kleer Agile Coaching & Training
 
Kleer: "Cómo llevamos scrum al próximo nivel" - Lima 2011-01-18
Kleer: "Cómo llevamos scrum al próximo nivel" - Lima 2011-01-18Kleer: "Cómo llevamos scrum al próximo nivel" - Lima 2011-01-18
Kleer: "Cómo llevamos scrum al próximo nivel" - Lima 2011-01-18
Kleer Agile Coaching & Training
 

Más de Kleer Agile Coaching & Training (18)

¿Cómo es un desarrollador ágil full stack?
¿Cómo es un desarrollador ágil full stack?¿Cómo es un desarrollador ágil full stack?
¿Cómo es un desarrollador ágil full stack?
 
2015 07 Agile Uy - ¿Víctima o Responsable?
2015 07 Agile Uy - ¿Víctima o Responsable?2015 07 Agile Uy - ¿Víctima o Responsable?
2015 07 Agile Uy - ¿Víctima o Responsable?
 
Great Coaching Conversations Workshop at #SGPHX 2015
Great Coaching Conversations Workshop at #SGPHX 2015Great Coaching Conversations Workshop at #SGPHX 2015
Great Coaching Conversations Workshop at #SGPHX 2015
 
#NoSeréFeliz, pero tengo trabajo - Ágiles 2014 - Martín Alaimo
#NoSeréFeliz, pero tengo trabajo - Ágiles 2014 - Martín Alaimo#NoSeréFeliz, pero tengo trabajo - Ágiles 2014 - Martín Alaimo
#NoSeréFeliz, pero tengo trabajo - Ágiles 2014 - Martín Alaimo
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Kleer - Continuous delivery - calidad con ingenieria agil de software
Kleer - Continuous delivery - calidad con ingenieria agil de softwareKleer - Continuous delivery - calidad con ingenieria agil de software
Kleer - Continuous delivery - calidad con ingenieria agil de software
 
R=R. Agilidad con Resultados en PMI Tour Cono Sur Buenos Aires 2013
R=R. Agilidad con Resultados en PMI Tour Cono Sur Buenos Aires 2013R=R. Agilidad con Resultados en PMI Tour Cono Sur Buenos Aires 2013
R=R. Agilidad con Resultados en PMI Tour Cono Sur Buenos Aires 2013
 
Scrum detrás de Scrum en Ágiles 2013
Scrum detrás de Scrum en Ágiles 2013Scrum detrás de Scrum en Ágiles 2013
Scrum detrás de Scrum en Ágiles 2013
 
Kleer yoseki coding dojo - 2012-08-03 - medellín
Kleer   yoseki coding dojo - 2012-08-03 - medellínKleer   yoseki coding dojo - 2012-08-03 - medellín
Kleer yoseki coding dojo - 2012-08-03 - medellín
 
Adoptando Scrum y no morir en el intento - Agile Bolivia Day 2012
Adoptando Scrum y no morir en el intento - Agile Bolivia Day 2012Adoptando Scrum y no morir en el intento - Agile Bolivia Day 2012
Adoptando Scrum y no morir en el intento - Agile Bolivia Day 2012
 
Kleer: "Cómo llevamos scrum al próximo nivel" - Lima 2011-01-18
Kleer: "Cómo llevamos scrum al próximo nivel" - Lima 2011-01-18Kleer: "Cómo llevamos scrum al próximo nivel" - Lima 2011-01-18
Kleer: "Cómo llevamos scrum al próximo nivel" - Lima 2011-01-18
 
Kleer - Yoseki Coding Dojo - RubyConfAr
Kleer  - Yoseki Coding Dojo - RubyConfArKleer  - Yoseki Coding Dojo - RubyConfAr
Kleer - Yoseki Coding Dojo - RubyConfAr
 
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03
 
Coding Dojo en Ágiles 2011
Coding Dojo en Ágiles 2011Coding Dojo en Ágiles 2011
Coding Dojo en Ágiles 2011
 
Coaching Dojo en Ágiles 2011
Coaching Dojo en Ágiles 2011Coaching Dojo en Ágiles 2011
Coaching Dojo en Ágiles 2011
 
Kleer - Agile Testing - Especificaciones por medio de Ejemplos usando Fitnesse
Kleer - Agile Testing - Especificaciones por medio de Ejemplos usando FitnesseKleer - Agile Testing - Especificaciones por medio de Ejemplos usando Fitnesse
Kleer - Agile Testing - Especificaciones por medio de Ejemplos usando Fitnesse
 
Kleer Lean-Kanban en el Polo IT Rosario
Kleer Lean-Kanban en el Polo IT RosarioKleer Lean-Kanban en el Polo IT Rosario
Kleer Lean-Kanban en el Polo IT Rosario
 
Especificaciones por medio de ejemplos usando Fitnesse
Especificaciones por medio de ejemplos usando FitnesseEspecificaciones por medio de ejemplos usando Fitnesse
Especificaciones por medio de ejemplos usando Fitnesse
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Scrum y craftsmanship

  • 1. Craftsmanship y Scrum Desarrolladores ágiles, profesionales y responsables. Carlos Peix carlos.peix@kleer.la - @carlospeix
  • 2. Agenda • Craftsmanship y Scrum • Simplicidad, comunicación, realimentación, re speto y coraje • Condiciones de trabajo • Estado de flow • Mejorando habilidades • Codificando ágilmente • El camino hacia software craftsmanship
  • 3. Craftsmanship y Scrum Antes que procesos y herramientas buscamos individuos e interacciones y nos comportamos como profesionales
  • 4. Craftsmanship y Scrum Antes que documentación extensiva preferimos software funcionando y del cual estemos orgullosos
  • 5. Craftsmanship y Scrum Antes que negociación contractual preferimos colaborar con el cliente y buscamos alianzas productivas
  • 6. Craftsmanship y Scrum Antes que seguir un plan respondemos al cambio y agregamos valor continuamente
  • 7. Simplicidad Con código simple mantenemos controlados los costos de mantenimiento TDD como camino a la simplicidad Sin refactoring no hay código simple Sin buenas pruebas no ha refactoring Sin TDD no hay buenas pruebas ¿Qué otra manera propones para lograrlo?
  • 8. Comunicación Debemos mejorar nuestra comunicación – Verbal - Precisión en el lenguaje – Escrita - Riqueza, puntuación, eficiencia – Visual - Facilitación y documentación gráfica Si no nos entienden o nos entienden mal ¿Cómo lograremos comunicarnos?
  • 9. Realimentación Ningún profesional del desarrollo de software puede permitirse el lujo de no validar internamente y externamente su trabajo. Queremos hacer lo que el cliente necesita, que no siempre es lo que nos pide…
  • 10. Respeto Debemos romper el círculo vicioso del engaño mutuo Para romper ese círculo, debemos entender el punto de vista del que paga Antes que pedir respeto debemos ganárnoslo, comportándonos como profesionales
  • 11. Coraje Para decir “No” Para aceptar errores Para sostener nuestras estimaciones Para tomar control de nuestro software Para cambiar de entorno si no puedo cambiarlo Nadie mejor que nosotros mismos para defender nuestros intereses
  • 13. Condiciones de trabajo Ningún médico operaría a un paciente si el anestesista o el quirófano no fuera confiable Ningún notario permitiría una operación si no nos pudiese identificar según las reglas Como profesionales, debemos exigir condiciones seguras de trabajo (TDD, IC, pair programming, refactoring, entorno apropiado, sin interrupciones, cliente accesible, deploy automatizado, etc.)
  • 14. Estado de “flow” El estado de flow se logra por acciones “secundarias” Si estoy bloqueado o me distraigo fácilmente Pair programming Si quiero ir rápido y sostenido Prolijo, ordenado, pequeños pasos Si el trabajo parece demasiado Entregas pequeñas y frecuentes (cadencia)
  • 15. Mejorando habilidades Duras – Un lenguajes y paradigma nuevo cada año – Participar en un proyecto open source Blandas – Entender explicando – Aprender enseñando – Presentar en eventos – Participar en la comunidad
  • 16. Codificando ágilmente Simplicidad Test Driven Development La regla del boy scout Cadencia de corto plazo (Pomodoro) Principios de diseño e ingeniería Programamos para el usuario/cliente Optimizamos velocidad solo si se justifica Mantener la calma en la crisis Debugger driven development -> ¡FAIL! Mal humor o desmotivación -> ¡FAIL! Horas extra -> ¡FAIL! Atajos del IDE o editor Zona de flow Pair programming Arquitectura ágil
  • 17. El camino hacia software craftsmanship • Lenguajes y paradigmas – Ruby, Io, Java, Scala, Prolog, Erlang, Clojure, etc. • Herramientas – Editores: Vim, Sublime, IDEs (aprender atajos) – Git, Heroku, Travis – VM con Linux (mucho mas fácil todo) • Libros – Clean Code – The Clean Coder – Pragmatic Programmer
  • 18. El camino hacia software craftsmanship • Herramientas – TDD con JUnit, NUnit, RSpec, QUnit – ATDD (Fitnesse, Cucumber, JBehave, SpecFlow) • Tutoriales – Koans sobre distintos lenguajes – Git, Subversion, políticas de branching y commit – Diseño con objetos (sigan a @HernanWilkinson) – Principios SOLID – Patrones de diseño (solo después de 5 años) – Katas y Dojos, muchos, en diferentes entornos
  • 19. El camino hacia software craftsmanship • Videos – TDD con James Shore, Robert Martin – http://holatdd.com/ – Agile Planning de Mike Cohn – http://www.cleancoders.com/ – ¡Comparte tus propios videos!
  • 20. “The trouble with quick and dirty is that dirty remains long after quick has been forgotten.” “El problema con rápido y feo es que lo feo se mantiene mucho después de que nos olvidamos que fué rápido.” Steve McConnell (Code Complete, Rapid Development, Software Estimation, etc)
  • 21. “Make it run, make it right, make it fast.” “Primero que funcione, luego que sea limpio, por último que sea rápido.” Lampson http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast
  • 22. “Premature optimization is the root of all evil.” “La optimización prematura es la causa de todos los males.” Knuth http://c2.com/cgi/wiki?PrematureOptimization
  • 23. Referencias • On line – http://agilemanifesto.org/ – http://manifesto.softwarecraftsmanship.org/ • Libros – Clean Code - 2009 - (Robert Martin) – The Clean Code - 2011 - (Robert Martin) – The Pragmatic Programmer - 1999 - (Andrew Hunt, David Thomas) • Videos – http://www.jamesshore.com/Blog/Lets-Play/Lets-Play-Test-Driven- Development.html – http://holatdd.com/ – http://www.cleancoders.com/
  • 24. ¡Muchas Gracias! carlos.peix@kleer.la - @carlospeix http//www.kleer.la/

Notas del editor

  1. Mi Presentación – Kleer - Twitter
  2. CC y Slide