software craftsmanship

39

Upload: edson-chavez

Post on 04-Dec-2014

5.417 views

Category:

Technology


1 download

DESCRIPTION

Presentacion de introduccion al pensamiento craftsmanship

TRANSCRIPT

Page 1: Software Craftsmanship
Page 2: Software Craftsmanship

Software Craftsmanship

Edson ‘Grubhart’ Chávez Montaño

Mail: [email protected]: @grubhartBlog: http://soyfreakytambiengeek.blogspot.com

Page 3: Software Craftsmanship

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

•Miembro de la comunidad Agile

•Expositor en Eventos de Agilismo

•Expositor en Eventos sobre Spring Framework

Me importa lo que hago

Page 4: Software Craftsmanship

Que es Craftsmanship?

Page 5: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 6: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 7: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 8: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 9: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 10: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 11: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 12: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 13: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 14: Software Craftsmanship

¿Cuál es tu profesión?¿Cuál es tu profesión?

Page 15: Software 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/

whitepapers/17072009whydontthey.pdf

Page 16: Software Craftsmanship

La Necesidad de un nuevo enfoque

• Arte• Ingenieria• Ciencia• Oficio (Craft)

Page 17: Software Craftsmanship

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

Page 18: Software Craftsmanship

Aprendizaje

Page 19: Software Craftsmanship

Mentoria

Page 20: Software Craftsmanship

Que hace a alguien Excepcional en lo que hace

Page 21: Software Craftsmanship

Manifiesto

Page 22: Software Craftsmanship

Software Craftsmanship

• No se trata de obtener un título o certificación• Se trata de construir una Reputación

Page 23: Software Craftsmanship

Compromiso

Page 24: Software Craftsmanship
Page 25: Software Craftsmanship

Focus y Ritmo Sostenible

Page 26: Software Craftsmanship

Don’t Be a Hero

Page 27: Software Craftsmanship

Llamado a las armas

Estamos cansados de escribir Basura que funciona

Page 28: Software Craftsmanship

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

Page 29: Software Craftsmanship

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.

Page 30: Software Craftsmanship

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.

Page 31: Software Craftsmanship

Codigo Limpio - NombresCodigo Limpio - Nombres

• Relación entre tamaño, ambito (scope)• Claro• Evitar contexto innecesario

Page 32: Software Craftsmanship

Codigo Limpio - ParametrosCodigo Limpio - Parametros

• Cantidad• Boolean = false• Orden• Claridad

Page 33: Software Craftsmanship

Codigo Limpio - ComentariosCodigo Limpio - Comentarios

• Buenos Comentarios• Malos Comentarios• Decir el “por que” y no el “que”

Page 34: Software Craftsmanship

Codigo Limpio - FuncionesCodigo Limpio - Funciones

• Una sola cosa• Una cosa tambien es encadenar acciones del

mismo nivel de abstracción o conceptualización

• Nombres claros

Page 35: Software Craftsmanship

Algunos libros

Page 36: Software Craftsmanship

• Software Craftsmanship the new imperative• Refactoring• Agile Software Development• Design Patterns• Clean Code• Clean coder• Refactoring to Patterns• The Art of Agile Development

Page 37: Software Craftsmanship

Otros recursos

Object Mentor

Page 38: Software Craftsmanship

Y Por supuesto:

@agileperu

groups.google.com/group/agileperu

Page 39: Software Craftsmanship

¿Preguntas?¿Preguntas?

Edson ‘Grubhart’ Chávez Montaño

Mail: [email protected]: @grubhartBlog: http://soyfreakytambiengeek.blogspot.com