martes, 27 de noviembre de 2012

Agile Open Seguridad y charla sobre Desarrollo Ágil

El sábado pasado (24 de noviembre), participé en Agile Open Seguridad, un evento del Agile Open Tour que se hizo en la Universidad de Belgrano.

El evento fue organizado y facilitado por Carlos Pantelides. En la apertura se propusieron varios temas .

Carlos Pantelides y Juan Gabardini





Como no me quedé, pedí para hacer la sesión propuesta por mí (Qué es Ágil)en el inicio. Entre los asistentes había 3 alumnos de UB: de sistemas, de traductorado y de arquitectura. Tuve la alegría de encontrarme con Matías Wepfer, uno de los organizadores de Ágiles 2008.

Qué es desarrollo ágil

Para la charla, utilicé algo de lo aprendido en el curso de Facilitación Gráfica al que fui, usando solo tiza blanca sobre pizarrón verde.


Comenté la evolución del trabajo, partiendo de la producción artesanal, con cada producto (silla) individual, el orgullo del constructor y el sistema de aprendizaje con el maestro, oficiales y sus aprendices.
Luego la producción industrial, con la producción en serie, y al administración científica según Taylor y Ford. Lo que llevó a la división en 'los que saben' (white-collar worker, ingenieros) y 'los que hacen' (blue-collar worker, obreros). Los obreros son reemplazables fácilmente, con dos días de entrenamiento.
Llegamos a la situación actual de síntesis de las dos formas anteriores, en la que los trabajadores del conocimiento no pueden ser tratados como obreros tayloreanos. En software se vió el cambio en 2000 y se concretó con el Manifiesto Ágil (2001).
Una faceta de esto, en lo relacionado con la motivación son las ideas que presenta Dan Pink (videos TED, RSA). Nombré que existen otras visiones de la motivación.



Esta síntesis de la artesanía y la producción en serie no es única, según proponen Lee Devin y Robert Austin en el libro Artful Making.
Utilizamos Artful Making cuando:
  • Necesitamos innovación
  • Tenemos bajo costo de exploración
  • Tenemos bajo costo de reconfiguración
Usé de ejemplo la exploración y reconfiguración un viaje de vacaciones. Y también el caso de el aula en formato anfiteatro con sillas fijas.
Comenté sobre el beneficio de un loop rápido desde la idea al producto (feedback), sobre la Ley de Conway y el caso de organizaciones sin jefes (Github, Valve).
Por último, comente aplicación de estos conceptos en la industria (las máquinas hilanderas de Toyoda y las camionetas de Toyota) y el software, con la curva de costo de cambio, y como el desarrollo ágil (por ejemplo Extreme Programming) logró achatarla.

Luego comenté brevemente Scrum (reusé el pizarrón y no lo fotografié). 
Y más breve aún sobre Open Space (pueden ver otras entradas en este blog, por ejemplo uno hecho en el bar de Exactas)





¡Gracias!

A Carlos, que se puso el evento al hombro!
A Paula Angeleri, que desde su rol en la UB consiguió el lugar y el break!


Información de contacto y para sumarse a la comunidad

Sitio de la comunidad argentina: www.agiles.org/argentina 
Lista de anuncios y organización de eventos: http://tech.groups.yahoo.com/group/agiles-argentina/
Lista de intercambio de experiencias hispanolatinoamericana: http://tech.groups.yahoo.com/group/foro-agiles
Y a mí, Juan Gabardini, me pueden contactar en twitter (jgabardini) o por mail, con el mismo nombre de usuario en computer.org

domingo, 11 de noviembre de 2012

Herramientas de Desarrollo en PHP

En los últimos tiempos estoy trabajando con varios clientes que utilizan PHP para sus desarrollos.
Hemos hablado entre varios de los involucrados, tanto de Kleer (Martín Salias, Nicolás Paez, Ignacio 'Code' Raguet) como de los clientes y nos parece que, por razones históricas, la comunidad de PHP  tiene poco incorporadas prácticas que ya están muy difundidas en las comunidades de otros lenguajes. Prácticas como análisis estático de código, criterios de calidad de código, prueba automatizada, frameworks web sencillos y potentes, y varios más. Está característica de la comunidad se reflejaba en la falta o inmadurez de las herramientas que soportan esas prácticas. Parece que esto está cambiando. 
Mi anterior post sobre PHP es viejo y  mucho a cambiado desde entonces.

Van entonces algunas herramientas y comentarios, principalmente tomado de Martín Salias, Nicolás Paez, Ignacio 'Code' Raguet y Pablo Morales. Verán que algunas cosas se repiten desde 2008, otras son nuevas.

Análisis de código 

¡Gracias Martín por la data!
  • Source Code Search Engine te permite hacer queries sobre bases de código muy grandes, con más inteligencia que un grep común, entendiendo el lenguaje (soporta PHP entre muchos otros). Esto puede servir para encontrar usos de ciertos elementos, y es más un complemento que otra cosa.
    http://www.semanticdesigns.com/Products/SearchEngine/

Pruebas automatizadas 

Frameworks


martes, 23 de octubre de 2012

Ágiles 2012: Requerimientos por medio de ejemplos con Fitnesse

Mañana empieza Ágiles 2012 en Córdoba.
Voy a facilitar una sesión sobre el uso de Especificación por medio de Ejemplos en el contexto de software existente.
Usaremos Fitnesse como herramienta para los ejemplos (SLIM). 
Pueden ver una video de presentación del tema y demo que realicé sobre la herramienta (son 45 min, a partir del min 16 está la demo de Fitnesse). 

Cree un evento Google+, para que compartamos las experiencias.

Instalación Fitnesse
Los asistentes trabajarán con Fitnesse, y sería conveniente que lo tengan instalado en sus equipos, para agilizar el desarrollo del taller. Alternativamente, puedo ofrecer máquinas virtuales (virtualbox) con Fitnesse instalado (requiere JDK).
Para validar si la instalación está bien, puende correr en una terminal
  java -jar fitnesse.jar -p 8080

Y luego probar con un browser accediendo a http://localhost:8080

viernes, 12 de octubre de 2012

Scrum en Asunción - Paraguay

Hace uno mes (31 de Agosto) hice mi primera visita laboral a Paraguay. 
El Centro de Calidad de Software organizó un curso de "Gestión ágil de proyectos de software", de 16hs, que dimos en dos días (viernes y sábado).
Aprovechando la visita también organizamos, junto con AgilePy lo que creo fue el primer Coding Dojo de Paraguay.

Paso a contar cada actividad, no sin antes agradecer al Centro de Calidad, y en particular a Marcelo De Filippis, por la organización, el empuje y soporte en todo momento y a Cristhian Cardozo que además de dar soporte durante el curso, sacó fotos y se quedó al Dojo para recibir a los asistentes.

Gestión ágil de proyectos de software

En lo que entiendo fue el primer curso abierto de Scrum en Paraguay, asistieron 18 personas, haciendo un gran esfuerzo, ya que lo hicimos un viernes a partir del mediodía, y el sábado. Hacer 16hs de curso en esas condiciones fue cansador, pero terminamos contentos.

Sigo con mi intensión de dar los cursos con soportes visuales en afiches, y ejercitando mi capacidad de transmitir ideas visualmente. Esto fue muy valorado por los asistentes, y genera un efecto ¡WOW!, ya que es muy distinto a lo que están acostumbrados. 


También el uso de técnicas de Training from the Back of the room (ver resumen) hacen el aprendizaje es más divertido y profundo. 




 La asistencia fue variada, lo que enriqueció las discuciones. Había profesores universitarios, personas que trabajan en empresas grandes y chicas, emprendedores, programadores y personas de testing y calidad.
¡Muchas gracias a todos, y espero que volvamos a vernos!

Yoseki Coding Dojo


Este dojo fue claramente inmoral, y hasta diría inhumano. Lo organizamos el sábado, de 19 a 21hs. ¡Había que tener muchas ganas para estar! Doble puntaje para los asistentes :D
Hicimos el kata del Juego de la Vida, con Python. Los asistentes eran programadores de Action Script y PHP, no tenían conocimiento previo de Python, pero no fue un problema. Comentamos TDD, Integración Continua, algunos de los principios de SOLID y mocking.



Pasamos un buen rato, para la próxima, ¡vale traer cerveza!





domingo, 15 de julio de 2012

Curso HCI online

Gracias a Nicolás Paez conocí el  www.coursera.org, donde se hay cursos gratuitos de contenido variado, desde Farmacología a SaaS. Este último fue el que Nico cursó y luego pasó a ser ayudante.
Lo que aprendí hace poco es que los videos de los cursos pueden verse fuera de su fecha de 'cursada'.
Se pierde la dinámica e interacción con otros alumnos y con el docente, pero al menos se pueden ver los videos.
Estoy mirando los videos del curso de Human Computer Interaction (HCI) por Scott Klemmer. Son aproximadamente 7hs en fragmentos de menos de 20 min (normalmente entre 10 y 15 min), con cuestionarios sencillos en medio de ellos, y la posibilidad de subtitular en inglés y español, y variar la velocidad del video.
El contenido es entretenido, y aporta mucho para alguien como yo, que solo había escuchado un par de charlas sobre el tema.

lunes, 21 de mayo de 2012

Sobre Retrospectivas

Les paso una lista de recursos sobre retrospectivas, que por supuesto no leí, salvo un par.

Video

Libros

via Michael James
via Pierre Fauvel
via Bas Vodde
via Jean-Charles Meyrignac

via Hubert Smits
via Diane Larsen
via Josef Scherer 

via Ilja Preuss

miércoles, 28 de marzo de 2012

Intro al desarrollo ágil

Hace un tiempo armamos con Ricardo Colusso una introducción breve al desarrollo ágil de software. 
El objetivo es tener material de lectura suplementario a un curso, ya que nuestros cursos tienden cada vez más ppt-less, siguiendo las ideas de Training from the back of the room. La intensión es ser un primer paso, con links para seguir el aprendizaje. No una enciclopedia.
Dudamos entre hacerlo en formato de pequeño libro con copyright, luego decidimos hacerlo con CreativeCommons, y lo implementamos en knol.
Knol fue el intento de Google de contrarestar Wikipedia, permitiendo que queden indicados los autores de los artículos vs editores anónimos. No funcionó. Siguiendo la política de fail fast, lo discontinuaron, ofreciendo la posibilidad de mudar los knol a mano (pueden ver el mío de testing aquí), o a Wordpress, donde pueden acceder a Desarrollo ágil de Software.
A los que les sirva este pequeño texto, comenten para que lo mejoremos.