-
1.
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
-
2.
Que es Craftsmanship?
-
3.
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
-
4.
La Necesidad de un nuevo enfoque
• Arte
• Ingenieria
• Ciencia
• Oficio (Craft)
-
5.
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
-
6.
Aprendizaje
-
7.
Mentoria
-
8.
Que hace a alguien Excepcional en lo que hace
-
9.
Manifiesto
-
10.
Software Craftsmanship
• No se trata de obtener un título o certificación
• Se trata de construir una Reputación
-
11.
Compromiso
-
12.
Focus y Ritmo Sostenible
-
13.
Don’t Be a Hero
-
14.
Llamado a las armas
Estamos cansados de escribir
Basura que funciona
-
15.
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
-
16.
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.
-
17.
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.
-
18.
• Relación entre tamaño, ambito (scope)
• Claro
• Evitar contexto innecesario
-
19.
• Cantidad
• Boolean = false
• Orden
• Claridad
-
20.
• Buenos Comentarios
• Malos Comentarios
• Decir el “por que” y no el “que”
-
21.
• Una sola cosa
• Una cosa tambien es encadenar acciones del
mismo nivel de abstracción o
conceptualización
• Nombres claros
-
22.
Algunos libros
-
23.
• Software Craftsmanship the new imperative
• Refactoring
• Agile Software Development
• Design Patterns
• Clean Code
• Clean coder
• Refactoring to Patterns
• The Art of Agile Development
-
24.
Otros recursos
Object Mentor
-
25.
Y Por supuesto:
@agileperu
groups.google.com/group/agileperu
-
26.
Edson ‘Grubhart’ Chávez Montaño
Mail: echavez@innovabs.com
Twitter: @grubhart
Blog: http://soyfreakytambiengeek.blogspot.com
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.