Successfully reported this slideshow.

Software Craftsmanship

6

Share

Loading in …3
×
1 of 39
1 of 39

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Software Craftsmanship

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

Editor's Notes

  • 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.
  • ×