blog.1.image

¿Cómo alcanzar los objetivos del equipo en proyectos de IT Staff Augmentation?

Laura Villa Méndez
Back to Blog

El aumento de personal es un modelo utilizado por las empresas para complementar un equipo, usualmente agregando nuevos recursos con habilidades específicas con las que no cuentan internamente en otros miembros del equipo. Los proyectos que tienen personal aumentado permiten a las compañías tener más control sobre el trabajo en comparación con la subcontratación de un proyecto completo, además, les ofrece más flexibilidad y una solución rentable para cubrir las brechas de habilidades y de costos.

Aumentar personal temporal también ofrece a las empresas una perspectiva externa para ayudar a mejorar el desarrollo de un producto o servicio. Sin embargo, hay algo que sigue preocupando a los directivos de las empresas: que los objetivos del equipo no se cumplan cuando trabajan en un mismo proyecto. Debido a que algunos miembros del equipo nunca han trabajado juntos antes, les inquieta que las metas del equipo puedan afectarse. Así que, como líderes, es importante que planifiquen de manera eficaz los objetivos, para que los proyectos tengan más posibilidades de éxito. A continuación, mencionaremos algunos consejos sobre cómo lograr que estas metas en los proyectos aumentados de personal se alcancen.

Separar los objetivos y tácticas

Es importante separar los objetivos de las tácticas, ya que estos conceptos no significan lo mismo. Por un lado, los objetivos hacen referencia a los propósitos a alcanzar con el proyecto, mientras que las tácticas son los procedimientos que nos ayudan a completar esos objetivos. Es por esto, que en los proyectos se deben establecer objetivos o metas generales y también, aquellas tácticas que ayudarán a alcanzarlas. Todos los miembros del equipo deben comprender los objetivos y los métodos que implementarán, según lo que le corresponda a cada uno.

Existe una metodología que ha sido implementada exitosamente por Google y otras grandes empresas: la metodología de “Objetivos y resultados clave” o también de OKR’s. Este método de trabajo impulsa a la alineación organizativa a través de la consecución de objetivos comunes y se ha convertido en un sistema fundamental para que todos los miembros de la empresa se dirijan hacia una misma dirección.

En esta metodología se establecen unos objetivos que se definen como descripciones cualitativas de lo que se desea conseguir. Los objetivos deben ser cortos, inspiradores y atractivos; deben motivar y retar al equipo. Como en los proyectos cada trabajador contribuye y aporta para lograr la consecución de objetivos, también deben definirse unos objetivos individuales que deben estar alineados a los objetivos de equipo.

Por último, se definen los resultados clave, pensados para alcanzar los objetivos. Estos miden el progreso hacia el objetivo de equipo y por cada objetivo individual, pueden proponerse desde dos, hasta cinco resultados clave. Aquí se delinean las medidas que dirán si se ha logrado o no. Estas deben ser numéricas y basadas ​​en datos para que los miembros del equipo puedan descifrar fácilmente si la meta se ha alcanzado o no. Todos los miembros del equipo puede seguir el avance de los objetivos y medir continuamente qué tan cerca o lejos están de lograrlo.

Implementar una cultura DevOps

La cultura DevOps hace referencia a un conjunto de prácticas que combina el desarrollo de software y las operaciones de IT (Tecnología de la Información), su objetivo es acortar el ciclo de vida del desarrollo de sistemas y proporcionar una entrega continua con una alta calidad de software. La cultura DevOps trata de ser más ágil entregando productos a mayor velocidad y de mayor calidad, lo que sin duda, ayudará a alcanzar los objetivos con un equipo IT de personal aumentado.

Los equipos estarán más alineados, menos estancados y participarán en más etapas del ciclo de vida del producto. Crear una cultura DevOps aumenta la productividad implementando prácticas a lo largo del ciclo de vida de las aplicaciones. Algunas de estas prácticas ayudan a agilizar, automatizar y mejorar una fase específica. Otras abarcan varias fases y ayudan a los equipos a crear procesos homogéneos que favorezcan la productividad. A continuación mencionaremos algunas de ellas:

  • Automatización de procesos: La automatización es uno de los pilares fundamentales de DevOps. En los proyectos se utilizan procesos automatizados para agilizar el desarrollo y por extensión, mejorar la calidad del software. Algunos de estos procesos son los despliegues a producción y las pruebas de código. Cuando los desarrolladores deben demostrar que el producto funciona correctamente en un entorno de producción, con el código y el entorno integrados es ideal que esto se realice con todos los pasos automatizados. A través de pruebas automatizadas también es posible encontrar el mayor número de errores de código. En DevOps se recomienda contar con un pequeño número de pruebas fiables y automatizadas, en lugar de un gran número de pruebas manuales o automatizadas que no son fiables. Algunas de estas pueden ser: pruebas unitarias, pruebas de aceptación, pruebas de integración de componentes, pruebas funcionales y de rendimiento. En conclusión, la automatización, combinada con otros principios de DevOps, facilita que los equipos puedan focalizarse en proporcionar valor a la entrega del software.

  • Control de versiones: En esta práctica se administra el código por versiones, haciendo un seguimiento de las revisiones y del historial de cambios, con el objetivo de facilitar la revisión y la recuperación del código. Suele implementarse con sistemas de control de versiones que permitan que varios desarrolladores colaboren para crear código. Es importante que todo el código revisado en el control de versiones se construya y pruebe automáticamente en un entorno de producción. De esta forma, se podrá encontrar cualquier error de construcción, prueba o integración tan pronto como se introduce un cambio, permitiendo que pueda ser corregido inmediatamente. El uso del control de versiones es una práctica que ayuda a los equipos de desarrollo a trabajar juntos, dividir las tareas de programación entre los miembros del equipo y almacenar todo el código para poder recuperarlo fácilmente si fuese necesario.

  • Infraestructura como código (IaC): A través de esta práctica en los proyectos de equipo se pueden automatizar métodos de aprovisionamiento para poder escalar la nube eficientemente, ahorrando dinero y tiempo. También permite a los equipos implementar recursos del sistema de un modo confiable, repetible y controlado, evitando el riesgo de errores humanos, especialmente en entornos de gran tamaño. Esta solución permite a los equipos mantener entornos de desarrollo y pruebas que sean idénticos al entorno de producción. De igual modo, la duplicación de entornos en otros centros de datos y en plataformas en la nube es más sencilla y más eficiente.

Definir estándares de comunicación

Después de que cada miembro del equipo comprenda su función y sus objetivos, se deben establecer varios estándares de comunicación que todos deben cumplir. Hay que considerar utilizar herramientas como Slack o Skype para la comunicación del equipo y seleccionar un software para la gestión de proyectos, como Jira Software Cloud. Los líderes del equipo deben garantizar que tanto el personal interno como el personal ampliado utilice las herramientas para garantizar una comunicación fluida.

Dentro de los estándares que se pueden establecer se encuentra la metodología ágil Scrum; aunque habitualmente se usa para gestionar proyectos, también tiene varios aportes para lograr una comunicación acertada y que se puede ajustar a las necesidades de un proyecto específico. En esta metodología, las tareas y las historias de usuarios se estiman con puntos y con base a esa estimación, se dividen en sprints con un plazo y un objetivo claros. Los sprints son intervalos o ciclos prefijados de tiempo que no son inferiores a una semana, ni superiores a un mes. Cada sprint tiene que proporcionar un resultado completo, un producto final que sea susceptible de ser entregado.

Scrum cuenta con cinco ceremonias principales para cumplir con el control de sus procesos, todas imprescindibles para esta metodología: Sprint Planning, Daily Scrums, Sprint Review, Sprint Retrospective y Grooming o Refinement.

Sprint Planning

El Sprint Planning es una reunión que se realiza al comienzo de cada sprint, en esta participa todo el equipo y sirve para inspeccionar el Backlog o lista de tareas, que consta de todas las tareas necesarias para entregar un producto o servicio. En esta ceremonia el equipo de desarrollo selecciona las tareas en los que va a trabajar durante el siguiente sprint. Durante esta reunión, el Product Owner, quien es el responsable de definir las características del producto en función de las necesidades identificadas por los stakeholders, presenta el backlog actualizado. Luego el equipo de desarrollo se encarga de estimar, además de aclarar aquellos ítems que crea necesarios. Su objetivo principal es lograr un alineamiento entre negocio y desarrollo de producto en relación a las prioridades.

Daily Scrums

El Daily Scrum es una reunión diaria de 15 minutos en la que participa exclusivamente el equipo de desarrollo. Cada una de los desarrolladores del equipo debe responder las siguientes preguntas:

  • ¿Qué hice ayer para contribuir al objetivo del sprint?

  • ¿Qué voy a hacer hoy para contribuir al objetivo del sprint?

  • ¿Tengo algún impedimento o problema con la entrega?

Esto permite conocer en qué se encuentra trabajando cada desarrollador e identificar obstáculos en las tareas que están realizando, lo que a su vez evita contratiempos y ayuda a que el sprint se siga desarrollando adecuadamente. Los Daily Scrum permiten la inspección y adaptación a través de la auto-organización del equipo.

Sprint Review

El Sprint Review ocurre al final de cada sprint. En esta reunión, el Product Owner y el equipo de desarrollo presentan a los stakeholders el producto terminado para su inspección y adaptación. Se muestra el software funcionando en producción, los stakeholders harán preguntas acerca del mismo, pero antes de esto, el producto ya tuvo que haber sido validado previamente por el Product Owner y debe cumplir con el objetivo del sprint. El equipo de desarrollo comenta lo que ocurrió durante el sprint, los impedimentos que tuvieron y las soluciones implementadas. Por último, el Product Owner actualiza, con la información de negocio recibida en esta reunión, la lista de tareas para el siguiente sprint.

Sprint Retrospective

La reunión de retrospectiva o Sprint Restrospective se realiza después del Sprint Review. Su objetivo es plantear un formato común para analizar qué salió bien durante el sprint, qué falló y qué se puede mejorar. Lo anterior puede realizarse en cinco fases:

  1. Se prepara el ambiente para realizar un ejercicio que rompa el hielo entre los miembros del equipo.

  2. Se recolecta información a través de distintas actividades para construir una imagen de lo que ha sido el último sprint, resultando una imagen conjunta de equipo.

  3. El equipo realiza una lluvia de ideas para identificar qué acciones pueden ayudar a mejorar el rendimiento del equipo.

  4. De las ideas que se generan en esa recolección, se propone acciones que puedan implementarse en el siguiente sprint.

  5. Por último, se realiza una actividad de cierre junto con una evaluación que ayuda al equipo a decidir hacia a dónde dirigirse en próximas ocasiones o ante dificultades.

Esta ceremonia se implementa como un recordatorio de una mejor continua en los equipos de desarrollo.

Grooming o Refinement

Esta reunión de perfeccionamiento se recomienda para asegurar que el Product Backlog esté siempre preparado. Lo ideal es que el Product Owner agende, gestione y dirija esta reunión cada semana del sprint. Los participantes de esta reunión son todo el equipo, por lo que es necesario que antes de la reunión, todos conozcan los requerimientos o historias de usuario que van a ser tratados en la misma y únicamente asistan aquellos cuya presencia sea estrictamente relevante.

Alcanzar los objetivos

Los objetivos del equipo en proyectos de IT Staff Augmentation al comienzo pueden parecer difíciles de alcanzar, sin embargo, con una adecuada separación y planificación de los mismos, junto con los métodos de trabajo, los proyectos con personal aumentado puede resultar exitosos. También es importante que los líderes de estos equipos piensen implementar una cultura DevOps, la cual les permitirá aumentar la productividad y agilizar los procesos de desarrollo. Finalmente, integrar métodos eficientes de comunicación y establecer las herramientas que todo el equipo va a utilizar, al igual fijar reuniones para la revisión del trabajo, aportará a que la comunicación sea acertada y sea más sencillo lograr los objetivos del proyecto.

Share this article:
FacebookTwitterLinked In

More great articles

blog.5.image
2021-02-22

¿Cómo funciona el proceso de contratación en IT Staff Augmentation? Una guía paso a paso

IT staff augmentation es uno de los modelos más factibles, rentables y confiables para contrarrestar...

Read Story
blog.5.image
2021-02-19

Cómo contratar desarrollador back-end (10 preguntas clave para una entrevista de trabajo)

Una prueba para evaluar a un desarrollador back-end requiere hacer preguntas que van mucho mas allá ...

Read Story
blog.5.image
2021-02-15

¿Cuánto cuesta contratar a un desarrollador de aplicaciones?

Si planeas contratar a un desarrollador de aplicaciones móviles, seguramente surgirán muchas pregunt...

Read Story