Sunday, 20 April 2014

Reuniones en Scrum

Dentro de la metodología Scrum se establecen una serie de reuniones con nombres algo complicados y duración, asistentes y fechas prefijadas. Les explico en este post el significado de estas reuniones y, sobre todo, cómo pueden ayudarte en tu trabajo:

Reunión de planificación del trabajo

Antes de comenzar el trabajo previsto para las próximas 2 semanas te reunirás con el cliente (o representante del mismo y con las personas que éste considere) y definirán qué tareas se realizarán durante esas dos semanas (si el equipo de trabajo considera que puede hacerlas en ese tiempo) Durante esa reunión el cliente dará toda la información necesaria sobre las tareas escogidas explicándolas al equipo que va a desarrollarlas.
Tener en cuenta la capacidad de trabajo del equipo durante esta reunión de planificación permite, entre otras cosas, encajar los periodos de vacaciones o las ausencias de los miembros del equipo. Es tan sencillo como explicar ‘Dentro de dos semanas nos comprometemos a entregar solo 3 de estas tareas en lugar de las 5 habituales. Alberto y Pilar tienen vacaciones la próxima semana’ Esto no suele suponer un problema ya que el cliente lleva recibiendo entregas del trabajo cada dos semanas de forma consistente.

Reuniones diarias

El equipo de trabajo y el Scrum Master se reunirán cada día, mejor al inicio de la mañana, durante 15 minutos para contestar a las siguientes preguntas:
  • ¿Qué se hizo desde la última reunión?
  • ¿Qué se hará desde ahora y hasta la próxima reunión?
  • ¿Qué está impidiendo hacer el trabajo lo mejor posible?

Ejerzo habitualmente de Scrum Master en varios proyectos y a cada una de las reuniones diarias llevo una hoja impresa con estas tres preguntas donde mantengo registros de las respuestas del equipo de trabajo. Al final de cada una de estas hojas he añadido un apartado adicional llamado ‘Tareas para el Scrum Master’ y en él anoto todas las cosas que el equipo de trabajo necesita para continuar o qué les está dificultando el trabajo. Anotaciones frecuentes son: ‘Llamar al cliente y pedir lista de usuarios (¡mañana comenzamos con esa tarea!)’ o ‘Pedir exportación de la base de datos (necesitamos una copia ya antes de empezar a modificar datos)’) Es habitual que me pase el resto de la mañana intentado resolver los problemas que me han contado a primera hora.

Reunión de demo

Al finalizar cada iteración de dos semanas se concreta una fecha de reunión con el cliente y se le hace una demostración del trabajo realizado en esas dos semanas. En esta reunión el representante del cliente, en su función como director del proyecto, revisará lo que se le está mostrando y dará su visto bueno o no a lo que ha visto.
Para poder cerrar la funcionalidad es importante que esté completamente terminada y libre de errores (serán necesarias las pruebas del equipo de trabajo y una validación completa del cliente). Si no fuese así, se llegaría al final del proyecto según la gráfica burndown (todas las tareas estarían a 0 horas de trabajo pendiente) pero el proyecto aún no está finalizado porque hay funcionalidades incompletas o con errores por corregir.
Estas entregas periódicas permiten ver al cliente cómo va avanzando su producto, qué se ha estado haciendo durante esas dos semanas y decidir luego, en la reunión de planificación, qué quiere ver en la siguiente reunión de demo. Esto permite ganar confianza ante el cliente que no pierde de vista a la empresa desarrolladora una vez ha terminado la toma de requisitos para volverla a ver meses después con un producto ya completado sobre el que tiene pocas posibilidades de modificación.

Reuniones de retrospectiva

Después de cada iteración de 2 semanas y una vez realizada la demo al cliente, el Scrum Master y el equipo de trabajo se reúnen para estudiar los problemas que han podido ocurrir en esas dos semanas, por qué la demo no salió todo lo bien que debería (o sí) y si se puede hacer algo para mejorar en la próxima entrega.

Es bueno que el equipo de trabajo se sienta libre de expresar lo que considera que han sido los principales problemas aunque eso te haga subir los colores. Los problemas a veces están en la ‘zona ciega’ del Scrum Master y la visión en conjunto ayudará a aportar luz al problema.

Sunday, 6 April 2014

Formación para profesionales IT

Hace ya mucho que se viene observando que ya no es válido aquello de sacarse una carrera de X, comenzar en alguna empresa siendo becario, luego convertirte en profesional de X y dedicarte a lo mismo hasta tu jubilación. Esos tiempos se acabaron y no creo que vayan a volver de nuevo.

La actual crisis nos ha hecho ver esto de forma aún más clara. Un título es papel mojado si no tiene una clara demanda en el mercado laboral o no va acompañado de una actualización continua o de otros estudios que amplíen los conocimientos que aprendimos en la universidad. Cada vez es más común ver que se soliciten dobles titulaciones, másteres o un segundo idioma ¿Qué hacemos con nuestro viejo título de hace 10 o 15 años en el que comenzamos a estudiar con disquetes de 5¼?

No podemos dormirnos en los laureles y pasarnos una cuarta parte de nuestra vida laboral trabajando, por ejemplo, con Delphi o Visual Basic para que cuando necesitemos un nuevo empleo, descubramos que ya nadie programa en eso. Intentar ponernos al día de lo que ha pasado en nuestro campo en la última década nos puede llevar al menos un par de años y, aún así, no va a ser fácil.

Mientras aquí centramos el debate sobre si en la educación deben haber asignaturas como Religión o Educación para la Ciudadanía en otros países discuten sobre cómo las nuevas tecnologías pueden cambiar la formación tal y como hoy la conocemos. Les hago en este post algunas sugerencias de los sitios web y aplicaciones que a mí me parecen más interesantes y que pueden ayudar a mantenernos actualizados o salir de nuestra zona de confort:

Cursos Masivos Online (MOOC)

Sitios web como edx o Coursera entre otros ofrecen cursos online de Universidades tan prestigiosas como Harvard, MIT o Princeton sobre casi cualquier tema que se nos ocurra. Tendremos acceso a vídeos grabados en las clases de estas universidades e impartidos por algunos de los mejores profesores en su campo, además de hacer los mismos ejercicios y prácticas que hacen los alumnos presenciales de estas universidades. Lo mejor de todo, es gratis.

Udemy, Udacity, Floqq o Khan Academy son otras de las muchas opciones que hay para formarnos. Algunas de pago, otras no, pero podremos encontrar en ellas la posibilidad para aprender sobre materias en las que quizás no tengamos ni una remota posibilidad de encontrar un curso en nuestra pequeña provincia.

Master online en informática por el Georgia Tech

El problema de los cursos MOOC es la acreditación de sus titulaciones. Son online y no hay nadie vigilando que no haces trampa en los exámenes o copias el contenido de las prácticas. Muchos de estos sitios web cuentan con software para la detección de prácticas o exámenes copiados pero no pueden dar una garantía al 100% a los certificados que expiden. Es ahí cuando surgen iniciativas como la del Instituto Tecnológico de Georgia y de Udacity para ofrecer un Master Online in Computer Science, con exámenes supervisados y los mismos estándares del Georgia Tech, por solo una fracción de lo que cuesta un master presencial en esa misma universidad. Es el primero de este tipo, espero que lleguen muchos más. Quizás de universidades españolas.

Aprender inglés

Hace algunos años me comentaba un profesor que para llegar a tener un nivel de inglés que nos permita entender y hacernos entender en ese idioma con cierta comodidad era necesario practicarlo durante unas 2000 o 3000 horas. Horas repartidas entre listening, speaking, reading y writing. 

Imaginemos que contratamos un curso que va de septiembre a junio, con clases de 2 horas, 2 veces a la semana, más 2 horas que utilizamos cada semana para hacer los deberes y estudiar por nuestra cuenta. Si hacemos unos pequeños cálculos veremos que a ese ritmo sólo habremos sumado 240 horas de práctica al año. Estudiando así ¿cuántos años necesitaremos para alcanzar esas 2000 o 3000 horas y tener un buen nivel de inglés?

El inglés es cada vez más importante en muchos tipos de trabajo. Toda la información está a solo un par de clics de distancia pero está en inglés y necesitamos, al menos, poder leer de forma rápida para separar la paja del grano cuando buscamos alguna información o para entender lo que nos está diciendo un reconocido experto en uno de esos vídeos TED. 

Aquí van un par de recomendaciones:
  • Memrise para practicar nuestro vocabulario.
  • Busuu para enviar nuestros textos a que sean corregidos por nativos mientras tú puedes corregir los ejercicios de otros usuarios en español.
  • Duolingo. El sitio tiene truco, en la misma filosofía que reCAPTCHA, utiliza tus ejercicios de traducción inglés-español, español-inglés para que a medida que crece tu nivel, ayudar a traducir páginas web y otros documentos, comparándolo con las traducciones que han hecho del mismo texto algunos de sus 12.5 millones de usuarios.

¡Espero que les sea de utilidad!