Agile development

La nueva imagen del gurú: El maestro artesano dentro del ingeniero

Día: 
Martes 27
Hora: 
10:00am
Salón: 
Salón 1
Duración: 
1 hora
Resumen: 

El sistema educativo para los profesionales del desarrollo de software tiene grandes deficiencias. El perfil del egresado es tal que después de varios años de perseguir un currículum conoce poco (cercano a nada) sobre las disciplinas y técnicas necesarias para la entrega de software de tal manera que satisfaga las expectativas de los clientes y otros interesados en términos de calidad, productividad, alineación al negocio o dominio y ese factor que hace decir: wow!. Las empresas absorben en gran parte el costo de la educación de los profesionales, pero al no estar estructuradas para hacerlo de manera explícita, el resultado es terrible: software de muy mala calidad. El hecho de que las personas abandonen muy pronto su interés en el aspecto técnico para perseguir puestos más administrativos, pero sin haber logrado un nivel significativo de maestría técnica, solo empeora la situación.

La metáfora del artesano ofrece una fresca perspectiva para la formación y desarrollo de profesionales del software, una que promueve:

  • el aprendizaje mediante la práctica real, al lado de un maestro experto, en lugar de métodos que buscan una calificación que a menudo es falseable.
  • profesionales responsables de su propia educación y crecimiento, los cuales siempre son continuos y abarcan los aspectos técnico, económico y social.
  • el énfasis en la calidad externa e interna del trabajo realizado.
  • la reputación obtenida a través del valor entregado, no de certificaciones.
  • comunidades de desarrolladores, no solo interacciones entre los mismos.

Esta sesión es una invitación abierta a participar en la nueva cultura del desarrollador responsable: el artesano de software.

Agenda: 
  • El problema de la educación para los profesionales de software.
  • La metáfora del artesano.
  • La relación con los principios y prácticas de desarrollo ágil.
  • Implicaciones para la vida diaria de un desarrollador.
  • ¿Por dónde empezar? !Código Limpio!

Estrategias ágiles para incrementar calidad al construir y probar software

Día: 
Lunes 26
Hora: 
1:00pm
Salón: 
Salón 1
Duración: 
1 hora
Resumen: 

Construir software es duro y difícil, hacerlo con calidad es aun mas difícil. En nuestra joven industria han existido muchas ideas acerca de como podríamos desarrollar software con eficiencia, muchas metodologías han emergido, casi todas ellas han fallado. El movimiento ágil, fundamentado por el Manifiesto Ágil, propone principios simples, basados en humanos y sus interacciones y no en procesos o herramientas; es esencial el factor humano.

En esta charla abordaremos rápidamente los problemas comunes al desarrollar software y como podemos minimizarlos a través de sencillos principios basados en Agile Software Development. Ademas de los principios veremos como el uso de algunas practicas tomadas de Extreme Programming pueden mejorar significativamente el proceso de desarrollo de software.

Haremos un pequeño análisis del desarrollo de algunos proyectos de Software Libre como ejemplo de los principios y practicas de Agile, así como recomendaciones para llevarlas a cabo.

Agenda: 
  • Problemas comunes en el proceso de desarrollo
  • Algunas propuestas
  • Agile Software Development
  • Extreme Programming
  • Testing
  • Release

Diseño de una arquitectura para procesos de testing basada en FOSS

Día: 
Martes 27
Hora: 
12:00pm
Salón: 
Salón 2
Duración: 
1 hora
Resumen: 

Los procesos de testing por si mismos para hacerlos mas eficientes es necesario que esten cada vez mas integrados con el resto de los procesos que rigen el ciclo de vida de un desarrollo de software, por lo que es necesario diseñar correctamente la arquitectura que mas nos conviene acorde a nuestro proceso y a las necesidades de las areas de desarrollo.
Existen soluciones comerciales que tratan de cubrir todos los aspectos necesarios, pero su costo es extremandamente alto y su implantacion es un tanto dolorosa.
En esta charla mostraremos como diseñar una arquitectura de testing alineada a nuestro proceso de testing basada en herramientas FOSS y como integrarla a los procesos de desarrollo tradicionales y agiles.
Lo anterior direccionado por 3 puntos clave:
1.- La administracion de las pruebas de software
2.- La automatizacion de pruebas de software
3.- El proceso de pruebas de software

Agenda: 

Procesos de testing
¿Que tengo? y mas importante ¿que necesito?
Herramientas utiles
Diseñando nuestra arquitectura
Un caso de exito

Continuous Testing con Selenium y Hudson

Resumen: 

Dia a dia toman mayor fuerza entre los desarrolladores de software las metodologias de desarrollo agiles; las mismas tienen dentro de sus especificaciones el generar Builds frecuentes del producto, con el objeto de detectar fallas de integracion de componentes; estas tareas son soportadas por herramientas que se encargan de realizar la integracion continua de forma automatica.
El objetivo de esta charla es mostrar como es posible explotar las capacidades de las herramientas de integracion continua dentro del proceso de pruebas de software, y poder realizar pruebas de regresion bajo demanda y cuando realmente son requeridas; lo anterior optimiza los procesos de desarrollo de software provisionando al desarrollador de una retroalimentacion oportuna sobre los efectos que tuvieron sus recientes actualizaciones o nuevos elementos que agrego al software en desarrollo.
Se mostrara como es posible emplear Selenium dentro del servidor de integracion continua Hudson y los resultados que trae consigo esta union.

Agenda: 

Presentacion
Pruebas de regresion
Proceso de integracion continua
Como hacer que Selenium y Hudson trabajen juntos, manos a la obra
Sacandole jugo a la union
Caso de exito

Distribuir contenido