En este artículo se realiza una reflexión sobre los diferentes tipos de metodologías que se utilizan en los proyectos y servicios de desarrollo de software (SW), tradicional, ágil e híbrida, haciendo especial foco en la Administración Pública Española. Partiendo de las tipologías más extendidas, tradicional y ágil, se profundiza en el concepto de metodología híbrida, y como se ha ido extendiendo paulatinamente, al recoger las bondades y beneficios de las metodologías tradicional y ágil, pudiendo de esta manera adaptarse a las necesidades de cada organismo.

1.     Diferentes Metodologías de Desarrollo Software en la AAPP: introducción

Hoy en día existen un gran número de metodologías para la ejecución de diferentes tipos de proyectos, sin embargo, antes de entrar a detalle en cada una de ellas, es importante enfatizar y tener claro el significado de metodología. Según la Real Academia Española, una metodología es un “conjunto de métodos que se siguen en una investigación científica o en una exposición doctrinal”.

Por lo que, al utilizar una metodología de software, lo que obtendremos es un conjunto de prácticas y herramientas que faciliten el proceso de desarrollo, con la finalidad de obtener un producto con alta calidad, seguro y sobre todo que satisfaga las expectativas del cliente.

Actualmente, existen muchos tipos de metodologías en el mercado, que se dividen en dos tipos principales: tradicionales y ágiles. Sin embargo, las metodologías híbridas, están marcando una nueva tendencia en el desarrollo de software, considerando y combinando las mejores características de ambas metodologías. Con lo que nos lleva a hacernos una serie de preguntas: ¿Cuál es la diferencia entre la metodología tradicional y ágil? ¿Cuál es la mejor metodología a utilizar en las Administraciones Públicas? ¿Qué es la metodología híbrida? Estas preguntas serán respondidas en los siguientes apartados.

2.     Metodologías de desarrollo del software

Cuando hablamos de metodologías de desarrollo de software, es importante diferenciar las familias metodológicas que existen, entre las que destacamos metodologías tradicionales, ágiles e híbridas.

Metodologías Tradicionales

Se centran especialmente en el control del proceso, estableciendo rigurosamente las actividades involucradas, el alcance del proyecto, los entregables a generar y las herramientas y seguimiento que se utilizará. En este contexto, adquiere gran importancia la documentación generada en cada una de las fases del proceso de desarrollo del SW. Sin embargo, para que estas metodologías funcionen, se requiere un alto grado de disciplina en el cumplimiento de plazos en cada una de las fases. Además, no se tiene una respuesta rápida a cambios y se genera muchas veces documentación innecesaria.  Ejemplo de estas metodologías son: RUP (Rational Unified Process), OMT (Object Modeling Technique) y Métrica V3.

Metodología tradicional

Metodologías Ágiles

Están basadas en procesos iterativos y de corta duración. Presentan respuestas rápidas y efectivas al cambio. Tienen un plan de proyecto flexible, tratando de buscar y aportar valor desde el inicio del proyecto, llevando a cabo una evolución continuada del producto, centrándose principalmente en la satisfacción del usuario. En ocasiones la documentación generada no tiene el detalle necesario y hace uso de métodos menos formales que en las metodologías tradicionales. Ejemplos de estas metodologías, son: Scrum, XP (eXtreme Programming) y Cristal Methods.

Metodología Agile

Metodologías Híbridas

Combinan las mejores prácticas de las metodologías tradicionales y ágiles, incorporando las ventajas de ambas.

El uso de estás metodologías se ha ido incrementando de manera paulatina, ya que se adaptan a la cultura y necesidades de cada organismo, generando un incremento de productividad. Algunos ejemplos de este tipo de metodología son: EssUP (Essencial Unified Process), la combinación de Cascada y Scrum y SXP (Scrum y XP).

Entre los beneficios del uso de la metodología híbrida, podemos encontrar:

  • Simple y fácil de entender y usar.
  • Mejora continua exponencial.
  • Flexibilidad a cambios dentro de un alcance de presupuesto definido.Metodología híbrida

Debemos tener en cuenta que en una misma organización pueden convivir más de un tipo de metodología, en base a una serie de criterios, entre los que podemos destacar:

  • Criterios Internos: el nivel de madurez de la organización, la naturaleza del proyecto, los interesados, los procesos y la tecnología a utilizar.
  • Criterios Externos: las expectativas y requisitos de los agentes externos que participan en los diferentes procesos de la organización.

3.     Las metodologías en la Administración Pública

Tradicionalmente, en el sector público español, la mayoría de los proyectos de desarrollo de SW se han llevado a cabo bajo metodología tradicional, y aunque la adopción de metodologías ágiles, tipo Scrum, se está incrementando de manera notable, su implantación ha sido más lenta, en comparación con el sector privado.

La naturaleza y cultura propia de las grandes organizaciones, junto con la complejidad organizativa y procedimental de las Administraciones Públicas ha generado que la adopción técnica y organizativa de este tipo de metodologías no sea un proceso precisamente ágil, y que debamos plantearnos escenarios a medio plazo, comenzando por pilotos acotados, cuyo éxito permitirá extender la misma filosofía al resto de la organización.

Aun siguiendo esta estrategia de implantación paulatina, nos encontramos con dificultades que una implantación “pura” de metodología ágil no es capaz de sortear en ciertas organizaciones, o al menos en un tiempo razonable (posibilidad de dedicación del personal del organismo, procesos del ciclo de vida del SW que no confiesan con la filosofía ágil, etc.). Por ello la implantación de metodologías híbridas, como solución temporal o definitiva, se está erigiendo en una alternativa muy adecuada para ciertas organizaciones.

Por ello, se ha analizado la viabilidad de combinar metodologías de desarrollos ágiles y metodologías tradicionales, dando como resultado una metodología híbrida. En este sentido, AXPE Consulting ha desarrollado una metodología híbrida, donde combinamos lo mejor de Métrica V3, Scrum y las buenas prácticas de Kanban. La gestión de proyectos híbrida requiere un plan de proyecto completo, pero los detalles específicos de cada sprint no se definen hasta que se complete el primer sprint. AXPE Consulting ha desarrollado el marco completo de esta metodología donde, en cada una de las fases del ciclo de vida de desarrollo del SW se detallan las tareas a realizar con cada tipo de metodología.

AXPE Consulting dispone de una amplia experiencia en la implantación de soluciones con diferentes metodologías de desarrollo, poniendo a disposición de las diferentes administraciones públicas nuestro conocimiento en todo el proceso, desde la selección de la metodología más adecuada (tradicional, ágil o híbrida) pasando por la adopción inicial, hasta su implantación en los diferentes proyectos de la organización, por medio de un exhaustivo conocimiento técnico y una adecuada gestión del cambio.