Q
Atrás

Marco para la contratación ágil en desarrollo de software

Autor: Nuno Ferreira. Consultor en Quint.

¿A qué nos referimos realmente cuando utilizamos el término Agile Sourcing?

Típicamente, hace referencia a los aspectos clave de contratación que soportan efectivamente la adopción de una filosofía ágil (Las claves de Agile Sourcing) y cómo se ve afectada la relación cliente-proveedor por esta nueva forma de contratación.

En este artículo se tratarán con más detalle los elementos necesarios para establecer un marco de contratación ágil y, específicamente, lo que esto significa en el mundo del desarrollo de software. Además de responder a las cuestiones de cómo se debe aplicar la agilidad a todo el proceso de contratación, este esquema debe fijar directrices para la gestión de los aspectos operacionales de la contratación de equipos que también apliquen la filosofía Agile al desarrollo de sus productos de software. ¿Cómo traducir en servicios las actividades de los equipos que trabajan con una filosofía ágil? ¿Cómo medir el rendimiento de esos servicios? ¿En qué formato se debe pagar por los mismos? Son algunas de las cuestiones que se deben resolver con esas directrices.

La gran mayoría de la contratación de recursos especializados en el ámbito del desarrollo de software se basa en Time & Materials. Esta forma de contratación se revela cada vez más inadecuada a causa de la necesidad de generar rápido valor a los clientes, premisa sobre la que se basa la agilidad.

Aunque la contratación Time & Materials es muy común, la realidad es que la velocidad de los cambios en la evolución de los productos de software y la frecuencia de sus ajustes representan, típicamente, un incremento de recursos y, por tanto, mayores costes. De ahí que la mayor parte de los contratos Time & Materiales están limitados, por lo que resultan más rígidos y menos ágiles.

Las organizaciones necesitan evolucionar hacia un modelo en el que compartan con sus proveedores los riesgos de evolución e implementación de sus productos. De esta forma, el principal cambio de paradigma es efectivamente pasar de una contratación basada en tiempo y recursos a otra basada en el valor y en la cantidad de output producido para los clientes.

A continuación, se presentan los principales elementos que deben integrar un modelo de contratación ágil en desarrollo. No se trata de elementos nuevos, sino que son los utilizados en las formas tradicionales pero sustancialmente diferentes en su contenido y, en consecuencia, en la forma en que se utilizan para establecer y gestionar los contratos a lo largo de su ciclo de vida.

Marco de Agile Sourcing

1. Catálogo de Servicios

El Catálogo de Servicios es la piedra angular de un marco de contratación ágil. Como se mencionó anteriormente, la unidad de contratación mínima deberá ser el equipo por lo que los servicios especificados en el catálogo serán realizados por cada equipo ágil.

El Catálogo de Servicios definirá el alcance del trabajo de cada equipo contratado y deberá garantizar los siguientes aspectos:

  • Los proveedores deberán adaptarse a la agilidad de la empresa contratante. El catálogo de servicios deberá prever los aspectos de la filosofía ágil y de los modelos que los aplican, por ejemplo las dinámicas de gestión del equipo Scrum.
  • Los servicios relacionados con los productos de software deben ser cubiertos en todo su espectro, desde las actividades de desarrollo de software hasta su operación y mantenimiento en producción. La separación entre servicios aplicacionales para el desarrollo y el mantenimiento deja de tener sentido en un contexto, por ejemplo, de DevOps, donde cada equipo realiza todas las actividades.
  • Los equipos contratados deberán encuadrarse en tipologías previamente definidas, por ejemplo “Dev” o “DevOps”, de acuerdo con el alcance de sus responsabilidades en los servicios previstos catálogo. De hecho, según la tecnología utilizada, podrá existir o no la madurez por parte de cada equipo contratado para realizar todas las actividades relacionadas con el ciclo completo de desarrollo de software.

2. Acuerdo de Nivel de Servicio

Los indicadores de rendimiento seleccionados deben responder a una nueva forma de contratación y reflejar inequívocamente la medición de los aspectos relacionados con la cantidad de trabajo y el valor producido, así como con la escalabilidad de los equipos a contratar:

  • Indicadores de rendimiento como la velocidad, tiempo de preparación de nuevos equipos y la satisfacción de los clientes son ejemplos que deben aplicarse al nuevo paradigma de contratación Ágil.
  • Los indicadores de rendimiento tradicionales, como la disponibilidad, el tiempo de resolución de incidentes o la tasa de reapertura de los mismos, siguen siendo fundamentales y deben aplicarse.

3. Modelo de Precios

El modelo de precios es otro de los elementos fundamentales de un marco de contratación ágil.

A través de este se establece la estructura de precios que se aplicará a los servicios contratados. Contrariamente a las formas de contratación tradicional, los precios pueden no fijarse completamente durante la fase de contratación, sino durante la fase de establecimiento de cada equipo, ya que pueden depender del ámbito tecnológico en que trabajará el equipo.

La gran diferencia de paradigma es la aplicación de modelos de precios orientados a la cantidad y al valor del trabajo producido (output-driven); es decir, se pagará a los proveedores por la cantidad de trabajo y el valor producido.

El marco de contratación ágil debe ser capaz de definir todos los elementos de trabajo posibles en el ciclo de desarrollo de software – por ejemplo, user stories, tareas, mejoras, peticiones de servicio, incidencias de prioridad normal y alta, y darles un precio unitario, considerando aspectos como la cantidad y complejidad del trabajo a desarrollar para su concreción.

Por último, el modelo de precios debe responder a preguntas sobre los componentes fijos de contratación, por ejemplo, para mantener la disponibilidad cuando se producen incidentes de alta prioridad.

4. Modelo operativo y de Gobierno

Como es de esperar en el establecimiento del Modelo operativo deberán ser considerados e integrados, además de los papeles de gestión estratégicos y tácticos, los papeles Agile, por ejemplo, el de Scrum Master.

En lo que concierne al Gobierno deben considerarse dos tipos de reuniones:

  • Las reuniones y dinámicas de gestión del equipo integrantes de la agilidad y de los modelos que la implementan, por ejemplo, la planificación de los sprints, las reuniones diarias, las retrospectivas y las revisiones, etc., ya mencionadas en el Catálogo de Servicios.
  • Reuniones de gobierno relacionadas con los aspectos operativos, tácticos y estratégicos de contratación. Las reuniones serán operativas (al nivel de resolución de cuestiones individuales de equipos) hasta el nivel táctico y estratégico (resolución de cuestiones más globales del proveedor).

A parte de los tradicionales mecanismos de manejo de Gobierno, se considerarán aquellos necesarios para el escalamiento expedito de situaciones que necesiten una actuación rápida y de acuerdo a los ciclos de desarrollo de software establecidos.

Por último, deberá garantizarse la flexibilidad suficiente para recabar comentarios de todas las partes interesadas e identificar ajustes al marco de contratación Agile.