Por Rodrigo López, CIO de Toolbox

La función principal del departamento de Tecnología en Toolbox es ejecutar lo más rápida y eficientemente posible los desarrollos que evolucionan el mundo de la TV online. Nos enfocamos las problemáticas relacionadas al mundo OTT, ofreciendo soluciones con tecnología de punta.

Valga la aclaración: por OTT (Over The Top) se entienden aquellos servicios de contenidos que son montados sobre las redes de comunicaciones de los operadores. Hoy las soluciones que ofrecemos en Toolbox incluyen OTT Solution, para la distribución directa al usuario a través de internet, Cloud Pass, con servicios de autenticación de usuarios, y Unity, para la distribución y agregación de contenido con una única integración, por citar algunas de nuestras producciones.

El cumplimiento de esta misión es un desafío que demanda una estructura interna, una dinámica de funcionamiento de los equipos y un estilo de trabajo en los integrantes de esos equipos.

Estructura interna

En general, los productos están en manos de dos gerencias: la de Producto , y la de Tecnología, que es la que nos ocupa.

Tecnología está dividida en varios equipos, que podrían agruparse en dos unidades: Desarrollo, e Implementaciones y soporte. Mientras que Implementaciones y soporte está formado por un único equipo (ver más abajo), Desarrollo tiene cuatro:

  • El equipo de Arquitectura, delimita cómo va a estar montado el sistema, cómo logra tener escalabilidad, se asegura de que se sigan los lineamientos generales de desarrollo, se cerciora de que se cumplan con las pautas del Code Review, establece los procesos de governance y los sistemas de monitoreo de la aplicación, propone mejoras para optimizar la performance, etc. Tiene una innumerable cantidad de funciones, y es un equipo muy proactivo: constantemente está monitoreando las aplicaciones y proponiendo mejoras.
  • El segundo equipo dentro de Desarrollo, al que podríamos llamar de Player, dado que se ocupa de ese producto.
  • El tercer equipo es el de Edit, históricamente está asociado a nuestro producto Unity, pero hoy se ocupa también de otros productos, como por ejemplo Profile Management.
  • El cuarto equipo dentro de Desarrollo es el que podríamos llamar de Experience. Como los anteriores tres, hoy es multiproducto.

En general cada equipo tiene varios desarrolladores, un analista técnico-funcional y uno de Quality Assurance (QA), y cada equipo es liderado por un Project Manager.

Paralelamente, Implementaciones y soporte realiza tareas que pueden resumirse en tres ámbitos:

  • Asistir a los clientes en la utilización de los productos de Toolbox y resolver cualquier dificultad que pueda surgir a partir de su uso.
  • Ejecutar las integraciones tanto de los Content Providers (CP) como Identity Providers (IDP) a nuestros sistemas. Es decir, el equipo se encarga de integrar tanto a nuevos clientes de Toolbox, como a otros CPs o IDPs que requieren integración a nuestras plataformas por parte de nuestros clientes.
  • Acompañar las implementaciones de los sistemas de Toolbox en sistemas de terceros.

Dinámica de funcionamiento

Si tomamos los cuatro equipos de Desarrollo, veremos que trabajan con dos metodologías diferentes. Mientras que Arquitectura y Player funciona con una metodología KANBAN, Edit y Experience lo hacen con metodología SCRUM. Esta diferencia obedece a que consideramos que los estadíos de los productos y los requerimientos que hay sobre cada par de equipos, son diferentes. En nuestro caso KANBAN resulta más útil que SCRUM en estadíos más tempranos de los productos, como sucede con Arquitectura y Player.

Los equipos que funcionan en base a KANBAN, tienen backlogs propios los cuales son semanalmente priorizados. Cada semana ellos conocen su WIP (su capacidad de Work in Progress, la cantidad de trabajo que pueden ejecutar en una semana) y a su vez los compromisos que deberían ir ejecutando. En la medida que van ingresando nuevas tareas y, en base al WIP y los compromisos, cada semana se reevalúan los backlogs, de forma de cambiar las prioridades allí donde fuere necesario, reconsiderar tiempos de ejecución, o atomizar las tareas.

En SCRUM, la metodología en base a la cual funcionan Edit y Experience, se trabaja en base a sprints (iteraciones que se deben dar en un período de tiempo determinado), durante los cuales se deben ejecutar las tareas que se han comprometido, asegurando una entrega de valor comprobable (medible). Cada mañana, alrededor de las 10.00 se realiza el daily meeting (una reunión de actualización de cerca de 10 minutos), de la que participan los integrantes de los equipos, tanto los que están en la oficina como los que trabajan remotamente (para esto se utilizamos comunicaciones de video).

Los viernes se realiza la reunión de planning donde se asumen compromisos y se estiman tiempos. Dichas estimaciones se hacen a través del sistema póker planning. Se trata de un sistema lúdico que utiliza barajas numeradas con la secuencia de Fibonacci, que habilita una discusión enfocada sobre tiempos y esfuerzos que toma una tarea, involucrando a los responsables del desarrollo y a quienes tienen expertise en el tema. Para cerrar el ciclo de SCRUM, cada quince días se hacen reuniones retro, para que analicemos qué salió bien, qué salió mal, qué gustó o no gustó, qué hay de nuevo y qué se quiere continuar. Con esto se va puliendo la metodología para trabajar cada vez mejor.

Estilo de trabajo

Quien visite nuestras oficinas podrá ver cómo se trabaja, aunque es posible que alguna cosa le llame la atención. Si en una reunión de los viernes ve que quien tiene la palabra lleva el sombrero de Harry Potter, o sostiene la figura de acción de C-3PO, es porque ese token ayuda a que las conversaciones sean más ordenadas y pertinentes. Si ven “memes” impresos (como los que circulan en grupos de WhatsApp, Twitter o Facebook) con frases del tipo “Si no le das tiempo al QA para que pueda testear, es normal que el QA no pueda testear”, es porque las conclusiones de las retro quincenales las inmortalizamos de esa manera. Los desafíos vienen con el trabajo, pero no hay que perder la frescura a la hora de afrontarlos.

VOLVER