SlideShare une entreprise Scribd logo
1  sur  39
Quien Soy y por que deberia importar


  •Scrum Master Certificado
  •Mas de 6 años de Experiencia en desarrollo Java
  •Mas de 3 años de Experiencia en metodologías Agiles
      Me importa lo que hago
  •Miembro de la comunidad Agile
  •Expositor en Eventos de Agilismo
  •Expositor en Eventos sobre Spring Framework
Que es Craftsmanship?
El proceso de desarrollo de Software




  • Software como Capital
  • Trabajo de Equipo
  • Evitar la division del trabajo
  • No existen las balas de plata ni una solucion
    que se ajuste a todo
  • http://www.sei.cmu.edu/library/assets/white
    papers/17072009whydontthey.pdf
La Necesidad de un nuevo enfoque




  •   Arte
  •   Ingenieria
  •   Ciencia
  •   Oficio (Craft)
Nunca Olvidemos



  • Desarrollar Software NO es igual que construir
    un edificio
  • Las metodologias no escriben Software
  • Existe un vacio entre el requerimiento y la
    implementacion que no se puede automatizar
  • Programar != Desarrollar
  • Desarrollar Software NO ES FACIL
  • Es necesario ser primero un aprendiz
Aprendizaje
Mentoria
Que hace a alguien Excepcional en lo que hace
Manifiesto
Software Craftsmanship




  • No se trata de obtener un título o certificación
  • Se trata de construir una Reputación
Compromiso
Focus y Ritmo Sostenible
Don’t Be a Hero
Llamado a las armas




       Estamos cansados de escribir
           Basura que funciona
Que es lo que no vamos a hacer




  • No pondremos al código en el centro de todo
  • No nos convertiremos en engreidos e
    ignoraremos el negocio y al cliente
  • No ofreceremos certificaciones baratas
  • No olvidaremos que nuestro trabajo es
    satisfacer a los clientes
Que es lo que vamos a dejar de hacer

  • Dejaremos de estafar para cumplir un
    cronograma.
  • Dejaremos de aceptar la vieja mentira de:
    “Después lo arreglamos”.
  • Dejaremos de creer que rápido nos da derecho a
    hacerlo mal.
  • Dejaremos de aceptar la opción de hacerlo mal.
  • Dejaremos de permitir que nos obliguen a
    comportarnos de manera poco profesional.
Que es lo que empezaremos a hacer

 • Cumpliremos nuestros cronogramas sabiendo que la
   unica manera de avanzar rapido es haciendo bien las
   cosas.
 • Complaceremos a nuestros clientes escribiendo el
   mejor codigo que podamos.
 • Honraremos a nuestros empleadores creando el mejor
   diseño que podamos.
 • Honraremos a nuestro equipo testeando todo lo que
   pueda ser testeado.
 • Seremos lo suficientemente humildes como para
   escribir los tests primero.
 • Practicaremos para volvernos mejor en nuestro oficio.
• Relación entre tamaño, ambito (scope)
• Claro
• Evitar contexto innecesario
•   Cantidad
•   Boolean = false
•   Orden
•   Claridad
• Buenos Comentarios
• Malos Comentarios
• Decir el “por que” y no el “que”
• Una sola cosa
• Una cosa tambien es encadenar acciones del
  mismo nivel de abstracción o
  conceptualización
• Nombres claros
Algunos libros
•   Software Craftsmanship the new imperative
•   Refactoring
•   Agile Software Development
•   Design Patterns
•   Clean Code
•   Clean coder
•   Refactoring to Patterns
•   The Art of Agile Development
Otros recursos




                 Object Mentor
Y Por supuesto:




                      @agileperu


                  groups.google.com/group/agileperu
Edson ‘Grubhart’ Chávez Montaño

Mail: echavez@innovabs.com
Twitter: @grubhart
Blog: http://soyfreakytambiengeek.blogspot.com

Contenu connexe

Similaire à Software Craftsmanship

Betabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticasBetabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticasRicard Clau
 
Gestión Ágil de Proyectos: Scrum, Kanban y XP
Gestión Ágil de Proyectos: Scrum, Kanban y XPGestión Ágil de Proyectos: Scrum, Kanban y XP
Gestión Ágil de Proyectos: Scrum, Kanban y XPJose Antonio Dorado
 
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingMetodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingEmergya
 
Módulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilMódulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilJohnny Ordóñez
 
Introduccion al desarrollo guiado por comportamiento
Introduccion al desarrollo guiado por comportamientoIntroduccion al desarrollo guiado por comportamiento
Introduccion al desarrollo guiado por comportamientoAlejandro Hernández
 
¿Por qué amazon no usa un marco de escalado y por qué puede que tú sí lo nece...
¿Por qué amazon no usa un marco de escalado y por qué puede que tú sí lo nece...¿Por qué amazon no usa un marco de escalado y por qué puede que tú sí lo nece...
¿Por qué amazon no usa un marco de escalado y por qué puede que tú sí lo nece...Jorge Hernán Abad Londoño
 
520313818-Metodologias-Agiles.pptx
520313818-Metodologias-Agiles.pptx520313818-Metodologias-Agiles.pptx
520313818-Metodologias-Agiles.pptxronald flores
 
520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdfEdgarAngelRojas
 
520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdfEdgarAngelRojas
 
Ejecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetEjecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetAsier Marqués
 
"Estamos buscando mejores formas..." ¿lo estamos haciendo?
"Estamos buscando mejores formas..." ¿lo estamos haciendo?"Estamos buscando mejores formas..." ¿lo estamos haciendo?
"Estamos buscando mejores formas..." ¿lo estamos haciendo?LeanSight Consulting
 
Formación Scrum Masters Online alumnos.pptx
Formación Scrum Masters Online alumnos.pptxFormación Scrum Masters Online alumnos.pptx
Formación Scrum Masters Online alumnos.pptxJoseDelaTorre41
 
Cómo crear un CV Diferente y superar una entrevista por Skype
Cómo crear un CV Diferente y superar una entrevista por SkypeCómo crear un CV Diferente y superar una entrevista por Skype
Cómo crear un CV Diferente y superar una entrevista por SkypeMaría José Muñoz
 
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...Jorge Hernán Abad Londoño
 
Trabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizTrabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizDiego Caballero
 
Devops talk
Devops talkDevops talk
Devops talk_Lagash
 

Similaire à Software Craftsmanship (20)

Betabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticasBetabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticas
 
Gestión Ágil de Proyectos: Scrum, Kanban y XP
Gestión Ágil de Proyectos: Scrum, Kanban y XPGestión Ágil de Proyectos: Scrum, Kanban y XP
Gestión Ágil de Proyectos: Scrum, Kanban y XP
 
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingMetodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
 
Módulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilMódulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágil
 
Introduccion al desarrollo guiado por comportamiento
Introduccion al desarrollo guiado por comportamientoIntroduccion al desarrollo guiado por comportamiento
Introduccion al desarrollo guiado por comportamiento
 
Agile Inception
Agile InceptionAgile Inception
Agile Inception
 
¿Por qué amazon no usa un marco de escalado y por qué puede que tú sí lo nece...
¿Por qué amazon no usa un marco de escalado y por qué puede que tú sí lo nece...¿Por qué amazon no usa un marco de escalado y por qué puede que tú sí lo nece...
¿Por qué amazon no usa un marco de escalado y por qué puede que tú sí lo nece...
 
520313818-Metodologias-Agiles.pptx
520313818-Metodologias-Agiles.pptx520313818-Metodologias-Agiles.pptx
520313818-Metodologias-Agiles.pptx
 
520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf
 
520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf
 
Ejecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetEjecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en Internet
 
Scrum y craftsmanship
Scrum y craftsmanshipScrum y craftsmanship
Scrum y craftsmanship
 
"Estamos buscando mejores formas..." ¿lo estamos haciendo?
"Estamos buscando mejores formas..." ¿lo estamos haciendo?"Estamos buscando mejores formas..." ¿lo estamos haciendo?
"Estamos buscando mejores formas..." ¿lo estamos haciendo?
 
Formación Scrum Masters Online alumnos.pptx
Formación Scrum Masters Online alumnos.pptxFormación Scrum Masters Online alumnos.pptx
Formación Scrum Masters Online alumnos.pptx
 
Cómo crear un CV Diferente y superar una entrevista por Skype
Cómo crear un CV Diferente y superar una entrevista por SkypeCómo crear un CV Diferente y superar una entrevista por Skype
Cómo crear un CV Diferente y superar una entrevista por Skype
 
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
 
Trabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizTrabajando con código heredado y ser feliz
Trabajando con código heredado y ser feliz
 
Devops talk
Devops talkDevops talk
Devops talk
 
Devops talk
Devops talkDevops talk
Devops talk
 
Growing alivethings
Growing alivethingsGrowing alivethings
Growing alivethings
 

Plus de Edson Chávez Montaño (13)

Hablemos de oauth2 v3
Hablemos de oauth2 v3Hablemos de oauth2 v3
Hablemos de oauth2 v3
 
Baby steps to tdd v3
Baby steps to tdd v3Baby steps to tdd v3
Baby steps to tdd v3
 
Hablemos de oauth2 v2
Hablemos de oauth2 v2Hablemos de oauth2 v2
Hablemos de oauth2 v2
 
Que hemos aprendido en 5 anos de devops version agile peru
Que hemos aprendido en 5 anos de devops   version agile peruQue hemos aprendido en 5 anos de devops   version agile peru
Que hemos aprendido en 5 anos de devops version agile peru
 
Hablemos de CI
Hablemos de CIHablemos de CI
Hablemos de CI
 
Polinizando organizaciones
Polinizando organizacionesPolinizando organizaciones
Polinizando organizaciones
 
Hablemos de oauth2
Hablemos de oauth2Hablemos de oauth2
Hablemos de oauth2
 
Introducción a Scrum
Introducción a ScrumIntroducción a Scrum
Introducción a Scrum
 
Builds complejos con Pipeline Plugin
Builds complejos con Pipeline PluginBuilds complejos con Pipeline Plugin
Builds complejos con Pipeline Plugin
 
Automatizacion de proyectos con gradle
Automatizacion de proyectos con gradleAutomatizacion de proyectos con gradle
Automatizacion de proyectos con gradle
 
Baby steps to tdd
Baby steps to tddBaby steps to tdd
Baby steps to tdd
 
Clean Code - Coder
Clean Code - CoderClean Code - Coder
Clean Code - Coder
 
InSpring security
InSpring securityInSpring security
InSpring security
 

Dernier

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 estossgonzalezp1
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
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.FlorenciaCattelani
 
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 XXIhmpuellon
 
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.pptxAlan779941
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
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 eyvanamcerpam
 
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 ASPECTOSpptxJorgeParada26
 
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...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Dernier (11)

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
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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.
 
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
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
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
 
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...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Software Craftsmanship

  • 1.
  • 2.
  • 3. Quien Soy y por que deberia importar •Scrum Master Certificado •Mas de 6 años de Experiencia en desarrollo Java •Mas de 3 años de Experiencia en metodologías Agiles Me importa lo que hago •Miembro de la comunidad Agile •Expositor en Eventos de Agilismo •Expositor en Eventos sobre Spring Framework
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. El proceso de desarrollo de Software • Software como Capital • Trabajo de Equipo • Evitar la division del trabajo • No existen las balas de plata ni una solucion que se ajuste a todo • http://www.sei.cmu.edu/library/assets/white papers/17072009whydontthey.pdf
  • 16. La Necesidad de un nuevo enfoque • Arte • Ingenieria • Ciencia • Oficio (Craft)
  • 17. Nunca Olvidemos • Desarrollar Software NO es igual que construir un edificio • Las metodologias no escriben Software • Existe un vacio entre el requerimiento y la implementacion que no se puede automatizar • Programar != Desarrollar • Desarrollar Software NO ES FACIL • Es necesario ser primero un aprendiz
  • 20. Que hace a alguien Excepcional en lo que hace
  • 22. Software Craftsmanship • No se trata de obtener un título o certificación • Se trata de construir una Reputación
  • 24.
  • 25. Focus y Ritmo Sostenible
  • 26. Don’t Be a Hero
  • 27. Llamado a las armas Estamos cansados de escribir Basura que funciona
  • 28. Que es lo que no vamos a hacer • No pondremos al código en el centro de todo • No nos convertiremos en engreidos e ignoraremos el negocio y al cliente • No ofreceremos certificaciones baratas • No olvidaremos que nuestro trabajo es satisfacer a los clientes
  • 29. Que es lo que vamos a dejar de hacer • Dejaremos de estafar para cumplir un cronograma. • Dejaremos de aceptar la vieja mentira de: “Después lo arreglamos”. • Dejaremos de creer que rápido nos da derecho a hacerlo mal. • Dejaremos de aceptar la opción de hacerlo mal. • Dejaremos de permitir que nos obliguen a comportarnos de manera poco profesional.
  • 30. Que es lo que empezaremos a hacer • Cumpliremos nuestros cronogramas sabiendo que la unica manera de avanzar rapido es haciendo bien las cosas. • Complaceremos a nuestros clientes escribiendo el mejor codigo que podamos. • Honraremos a nuestros empleadores creando el mejor diseño que podamos. • Honraremos a nuestro equipo testeando todo lo que pueda ser testeado. • Seremos lo suficientemente humildes como para escribir los tests primero. • Practicaremos para volvernos mejor en nuestro oficio.
  • 31. • Relación entre tamaño, ambito (scope) • Claro • Evitar contexto innecesario
  • 32. Cantidad • Boolean = false • Orden • Claridad
  • 33. • Buenos Comentarios • Malos Comentarios • Decir el “por que” y no el “que”
  • 34. • Una sola cosa • Una cosa tambien es encadenar acciones del mismo nivel de abstracción o conceptualización • Nombres claros
  • 36. Software Craftsmanship the new imperative • Refactoring • Agile Software Development • Design Patterns • Clean Code • Clean coder • Refactoring to Patterns • The Art of Agile Development
  • 37. Otros recursos Object Mentor
  • 38. Y Por supuesto: @agileperu groups.google.com/group/agileperu
  • 39. Edson ‘Grubhart’ Chávez Montaño Mail: echavez@innovabs.com Twitter: @grubhart Blog: http://soyfreakytambiengeek.blogspot.com

Notes de l'éditeur

  1. Craftsmanship es una palabra para designar un trabajo de alto nivel, los buenos desarrolladores siempre han entendido que programar requiere habilidades artesanales, y estas habilidades solo llegan a través de práctica y experiencia, uno puede conocer todo el trasfondo técnico y de lenguaje pero esto es solo una parte de escribir software, solo ese conocimiento no te lleva a experimentar la sensación de saber que escribes software correctamente, este es un sentimiento donde se mezclan los principios de ingeniería, el uso de herramientas automáticas y criterio ganado a través de la experiencia.