Metodología de trabajo

En Ymbra utilizamos Scrum como metodología de trabajo en nuestros proyectos. Scrum pertenece a las llamadas metodologías ágiles , que han demostrado importantes ventajas frente a las metodologías clásicas, principalmente por conseguir unos tiempos más cortos de proyecto, al tiempo que una solución funcionalmente más ajustada a las necesidades del cliente.

Las claves por las que esta metodología ofrece mejores resultados son:

  • Capacidad de respuesta a cambios de requisitos a lo largo del desarrollo.
  • Entrega continua y en plazos breves de software funcional.
  • Trabajo coordinado entre el cliente y el equipo de desarrollo.
  • Importancia de la simplicidad, eliminando el trabajo innecesario.
  • Mejora continua de los procesos y alto compromiso de todo el equipo de desarrollo.

Scrum se basa en un método holístico de aproximación a la solución mediante entregas parciales, totalmente funcionales, y que dotan al proceso de una mayor flexibilidad, permitiendo al cliente un mejor control sobre el resultado final. El Product Owner es el miembro del equipo Scrum que sirve de enlace entre el cliente y el equipo de desarrollo, y el representante de sus intereses en el proceso.

Método clásico de desarrollo

metodo tradicional

  • Implicación del cliente al inicio del proyecto.
  • Finalmente el desarrollo se alarga, sin la garantía de que el producto sea el más adecuado.

Desarrollo con Scrum

Cicle de vida d'un projecte amb Scrum

  • Implicación del cliente a lo largo de todo el proyecto, con la colaboración del Product Owner.
  • Optimización del esfuerzo de desarrollo, plazos finales más cortos, y mejor adecuación del producto a las necesidades reales del cliente.

Control del proyecto en manos del cliente

El cliente tiene el control del proyecto, coordinado con el Product Owner, en base a una serie de herramientas, presenciales o en línea, de manera que puede conocer y decidir sobre las funcionalidades realizadas y pendientes, los cambios, el consumo de horas, seguimiento de presupuesto, etc.:

  • Validación de entregas parciales, y final.
  • Acceso a la herramienta de seguimiento del proyecto: tareas, casos abiertos, errores, etc.
  • Informes de seguimiento.

Además, Scrum se adapta perfectamente al desarrollo con Drupal, consiguiendo sacar el máximo partido a esta plataforma.

Flexibilidad en funcionalidades y costes

El desarrollo de software, especialmente en los sistemas a medida del cliente, es un proceso creativo, con un cierto componente de investigación. No es posible predecir con exactitud cuánto tiempo el desarrollo de "La característica A" podrá tomar. Es posible hacer una predicción, una estimación, pero es sólo eso: una estimación. Esto es especialmente cierto si tenemos en cuenta la limitada información sobre cada funcionalidad que normalmente está disponible al inicio del proyecto.

Un desarrollador sabe que, por más que se invierta tiempo en el análisis funcional inicial, la posibilidad de desviación entre lo que se desarrolla, y lo que el cliente imagina o finalmente desea, puede ser grande. Esto lleva normalmente a una sobreestimación en el proceso de licitación (amar en exceso para minimizar el riesgo).

Scrum consigue precisamente optimizar este proceso, y acercar al máximo el resultado en el que el cliente quiere, minimizando esfuerzos allí donde no es necesario, y ajustando el presupuesto a lo que el cliente realmente necesita.

Aunque se puede utilizar esta metodología en proyectos de precio fijo, es especialmente eficiente en proyectos que permitimos una cierta variación en los costes en función del trabajo efectivamente realizado. Dado que el cliente necesita trabajar en base a un presupuesto, se establecen métricas y fórmulas para que las posibles desviaciones y cambios, no signifiquen eludir la responsabilidad del proveedor en ajustar los tiempos y conseguir los resultados. Al contrario, se consigue que tanto el cliente como el proveedor se beneficien de obtener el mejor resultado al precio más ajustado.