martes, 12 de marzo de 2013

Innovación en Educación: Gente que hace Scrum sin saber que existe Scrum


Como parte de una serie de post que estoy haciendo sobre innovación en educación, voy a tomar el rol de escriba y difusor de lo que comentó Juan José Zapico (juanjzapico  en yahoo com) en un mail personal.
En este caso, es la detección de características de Scrum en la forma en la que se organiza una materia de creación de arte audiovisual.
A partir de acá habla Juan José, con sólo algunos cambios de formato. ¡Gracias por compartir, Juan José!

La charla la di en el Scrum Gathering Bs As 2012 ->  http://sg2012.agiles.org/programa/dia-1/
y en Ágiles 2012  -> http://agiles2012.agiles.org/programa/dia-2/gente-que-hace-scrum-sin-saber-que-existe-scrum/

La charla fue la misma, la segunda vez con el feedback de ya haberla puesto una vez en contacto con la gente, pero básicamente es la misma presentación y los slides son casi iguales.

La experiencia que yo comento tiene que ver con un colectivo docente donde colaboro, en una cátedra de una materia llamada Realización I, en la carrera de cine de la Facultad de Bellas Artes de la Universidad Nacional de La Plata . Ahora no estoy en aula porque estoy terminando mis estudios de informática, pero estoy en contacto permanente con ellos de manera virtual y cada tanto me junto de manera personal.

En mi charla lo que cuento es que he encontrado analogías entre las propuestas de las metodologías ágiles y la forma en la que trabajamos en la cátedra de Realización I de manera intuitiva desde años, una forma de trabajo que ha dado excelentes resultados y es reconocida por el alumnado de la facultad como una experiencia movilizadora. Tengo como objetivo para cuando regrese al aula (seguramente el año próximo) potenciar esas cosas intuitivas con las experiencias que he ido asimilando por el lado de la vinculación con la comunidad ágil.

Si bien los slides sólo son un ayuda memoria de lo que cuento y no suplen la presencia en la charla, creo que hay bastante como para dar una idea de cuáles son mis ideas y los paralelos que he hallado.

Los slides de ambas charlas están en Slideshare:

versión del SG: 
http://www.slideshare.net/JJZapico/gente-que-hace-scrum-sin-saber-que-existe-scrum
versión de Ágiles 2012: 
http://www.slideshare.net/JJZapico/gente-que-hace-scrum-sin-saber-que-existe-scrum-giles-2012

lunes, 11 de marzo de 2013

Innovación en Educación: Gamification

Como parte de una serie de post que haré sobre innovación en educación, voy a tomar el rol de escriba y difusor de lo que comentó Matias Iacono (nombre.apellido@gmail.com) en un mail personal.
En este caso, es una aplicación de gamification a régimen de cursada.
A partir de acá habla Matias, con sólo algunos cambios de formato. ¡Gracias por compartir, Matías!

Hace unos años que doy clases en UTN regional Córdoba, y desde el primer momento he intentado cambiar la forma en como se toman exámenes y se dictan clases.
Nunca me pareció adecuado el modelo clásico, pensaba que había cosas mal formuladas, que solo eran válidas desde la visión del profesor y no ayudaban al alumno.

Desde el profesor: 
  • Dictar temas
  • Hacer ejercicios
  • Tomar exámenes
Y esto se condimentaba desde el alumno:
  • Cerrar la boca
  • Entender que es inferior (Con ayuda del profesor)
  • Seguir un plan previamente estipulado que nada tendría de interesante para este
Con todo eso y sufriendolo nuevamente en Psicología, he ido cambiando de a poco algunas cosas.
Actualmente estoy aplicando el concepto de juegos de rol a la materia. Para tener una idea simple sobre el tema:
  • Al inicio del semestre cada alumno pasa a ser un personaje de un juego de rol: Gana XP (experience points) y ORO a medida que avanza en la materia.
  • Se requiere de más de 2401 puntos de XP para regularizar la materia, y más de 10000 para una promoción. Debido a que no puedo ir por arriba de las estructuras de la universidad, tengo que adaptarme a ellas de la mejor forma.
A nivel institucional un alumno regulariza si cumple con los siguientes requisitos:
  • Asistir un 80% de las clases
  • Aprobar 2 parciales
  • Tener LOS 3 trabajos prácticos aprobados
Bajo lo anterior, y tratando de adaptarlo al modelo, lo que hice fue separar cada "tarea" en una QUEST, que le daría al estudiante ORO y XP.

Por ejemplo, una quest que representa uno de esos 3 trabajos prácticos:
Mind Manster            XP:    400    Gold:    200    Resolución TP de Algoritmos    Implementación del patrón cadena de responsabilidades para validar una contraseña. (Hasta 7 validaciones)
Pero no me parecía correcto imponer estos trabajos, ya que caería en el mismo error anterior, así que hasta la fecha hay alrededor de 10 QUEST de este estilo, con su XP y su ORO, de las que el alumno puede elegir hacer o no.

La idea principal es que el alumno elija que hacer y así poder ver su progreso, y manejarlo. También está permitido proponer al principio nuevas QUEST.

Para solucionar el problema de las asistencias tengo estas dos quest:
Cannon Meat            XP:    2000    Gold:    600    80% de asistencia    
Unstopable Geek            XP:    3000    Gold:    800    100% de asistencia    

Que se calculan el último día de clases. Ellos ven esto como otra oportunidad de regularizar o promocionar, y que pueden manejarlo, por lo tanto, el presentismo aumentó de un cercano 60% a un 92%.

Lo interesante es que hacer con el ORO. En este caso hay "artefactos" que los alumnos pueden comprar con el mismo. Supongamos que el alumno quiere conseguir el 100% de asistencias, pero falta por el motivo que sea, desde: Me llovió... hasta: No me dio ganas de ir. Entonces podría usar el ORO para comprar el siguiente artefacto:
Wand of Smokes            Se puede faltar 1 clase sin alterar los resultados en conteos        Nivel:    1    XP:     1    Costo:    600
Otros artefactos:
Ancient book            Permite usar 1 bibliografía en el exámen        Nivel:    4    XP:     300    Costo:    600
Angel Soul            Válido para un exámen recuperatorio        Nivel:    1    XP:     1    Costo:    1500
En el caso de los artefactos, el nivel es para definir que nivel mínimo se debe ser para poder usarlo, el XP es la experiencia mínima necesaria, y el costo es cuanto se paga por el mismo.

La idea de lo anterior es que para poder usarlos y adquirirlos, en base a su beneficio, deban hacer algo, por lo menos algún ejercicio, o práctico.

En este sentido, la búsqueda de oro y XP por parte del alumno lo lleva a practicar, leer, ejercitarse activamente, y es lo que, como profesor, quiero, pero no se los impongo, si no que ellos lo hacen convencidos :)

Para los exámenes hay una tabla de ORO y XP en base a la nota:

Tabla de XP de acuerdo a Nota    
10    1500
9    1350
8    1200
7    1050
6    900
5    750
4    600

Tabla de Gold de acuerdo a Nota    
10    500
9    450
8    400
7    350
6    300
5    250
4    200

Por lo que también les resulta beneficioso sacarse una buena nota.

De cualquier manera, también hay un cambio en los exámenes. Generalmente intento que no sean para responder preguntas desde mi óptica, si no que puedan usar la cabeza para responderla.
Para esto hago algo inverso a lo que comúnmente se hace al crear exámenes.
Lo normal es que el profesor parte de la respuesta y luego formula la pregunta, lo que lleva a que las mismas sean, como se les suelen decir "muy finas", pero en realidad son sin sentido.
Por ejemplo, uno piensa que la respuesta es "I.P.", porque se vió algo de comunicación de paquetes y podríamos arrancar la pregunta con un:
  • "Que protocolo..." (No... les estamos dando muchas pistas)
  • "Las normas IEEE situaron para la ARP...." (Ahí vamos... esto es mas críptico... además está en el párrafo 5 de la página 455 del libro)
  • Ahora metamos las respuestas distractoras de alternativa múltiples: UDP, UDP y TCP/IP, IP, ninguna de las anteriores.

En mi caso parto de la forma inversa, simplemente busco soluciones de ingenio ante una pregunta. Así planteo primero la pregunta de algo que quisiera que esté presente en la cabeza de los alumnos, porque puede servirles para la siguiente etapa de la materia. Por ejemplo:
Como hago un hipervinculo?- link > google.com- <a href="google.com">...- <navigate a="google.com"

La efectividad es la misma si se quiere saber si se sabe eso. El que no lo sabe, dificilmente pueda responder. Pero con lo anterior (Lo del IP), el que sabe incluso se sentirá frustrado innecesariamente por saber la respuesta pero no poder contestarla.

Otra parte del exámen es la de hacer código, en la que debo sentarme con el alumno a que me explique como lo hizo, siendo que hay varias posibilidades de resolver un problema, no puedo esperar MI respuesta. Por supuesto, cuando encuentro mejores formas de hacerlo, aprovecho ese momento para mostrarle una mejor forma. 
Para que la famosa frase Piensen este examen como instancia mas para aprender se torne en verdadera. 


Matias presentó el resultado de la experiencia en un congreso en la Universidad de Palermo.

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.