Software Craftsmanship

Post on 04-Dec-2014

5.418 views 1 download

description

Presentacion de introduccion al pensamiento craftsmanship

Transcript of Software Craftsmanship

Software Craftsmanship

Edson ‘Grubhart’ Chávez Montaño

Mail: echavez@innovabs.comTwitter: @grubhartBlog: http://soyfreakytambiengeek.blogspot.com

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

Que es Craftsmanship?

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

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

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

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

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

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

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

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

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

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

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

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.

Codigo Limpio - NombresCodigo Limpio - Nombres

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

Codigo Limpio - ParametrosCodigo Limpio - Parametros

• Cantidad• Boolean = false• Orden• Claridad

Codigo Limpio - ComentariosCodigo Limpio - Comentarios

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

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

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

¿Preguntas?¿Preguntas?

Edson ‘Grubhart’ Chávez Montaño

Mail: echavez@innovabs.comTwitter: @grubhartBlog: http://soyfreakytambiengeek.blogspot.com