Combinando disciplina con metodologías ágiles

Si bien es cierto que el desarrollo de software implica la ejecución de procesos y metodologías acordes a al desarrollo, es necesario la aplicación de procesos ágiles de desarrollo de software o también conocidos como metodologías liviana, con el fin de enfocarse en la gente que participa y en los resultados como mejoramiento de calidad de los productos, proceso, minimización de costos y tiempo. Las metodologías ágiles se centran en las iteraciones que se obtienen en cada una de las etapas del ciclo de vida del proceso de desarrollo: planificación, análisis de requerimientos, diseño, codificación, revisión y documentación; y en la adaptabilidad de procesos para la construcción del software. La idea es que en cada iteración se obtenga un demo funcional, es decir, sin errores.

Por lo general estas metodologías son consideradas indisciplinadas por la falta de documentación técnica, pero las características que esta posee y la facilidad al aplicar las distintas metodologías como Programación extrema (XP), Crystal clear, Adaptived Software Development (ASD), Rational Unified Process (RUP) y otras, hacen que se torne disciplinaria. La disciplina consiste en la ejecución adecuada de dichas metodologías; tecnologías ágiles; integración de modelos como CMMI, Cobit, ISO; procesos adaptables y de mejores prácticas de desarrollo de software que pueden ser utilizadas desde la construcción de pequeñas aplicaciones y componentes de un sistema, hasta el desarrollo y construcción de un sistema empresarial completo. Una de las principales características de las metodologías ágiles es la insistencia en la planificación adaptable a cambios y enfocada a personas. Lo que significa un gran esfuerzo y agilidad de parte del equipo de desarrollo y el mejoramiento continuo de de sus procesos.

Como características de metodologías ágiles se tiene que:

  • Dan énfasis en las pruebas la aplicación en construcción y una continua integración de cada uno de sus componentes.
  • Mantiene sencillez en la definición, diseño y desarrollo de cada componente que constituye el software o producto.
  • Documenta solamente lo necesario, se centra en lo más importante del software o producto, el código fuente.
  • Permite validar la habilidad de desarrollar software en un equipo de ingeniería de software o en una organización a través de una evaluación estándar.
  • Permite establecer reuniones de avances y recopilación de requerimientos.
  • Se adaptan a las necesidades y entorno cambiante de los proyectos.


El hecho de aplicar metodologías ágiles a un determinado proyecto, no quiere decir que no se pueda aplicar otras, de hecho la combinación con metodologías tradicionales resulta muy interesante, se puede involucrar prácticas de ambas metodologías de tal forma que obtendríamos una metodología conjunta por cada proyecto. El único problema que existiría es definir cada una de las prácticas que se deben utilizar y, si es necesario definir parámetros para identificar cuál de ellas aplicar.

¿Pero, qué es ser ágil? La agilidad en el desarrollo de software se describe como un marco de trabajo en que se busca aplicar mejores prácticas para minimizar los riesgos de un proyecto a través de iteraciones muy cortas pero funcionales.

La integración de modelos, metodologías, procesos mejorados y nuevas tendencias, seguramente incrementarán el nivel de éxito de los proyectos y la calidad de los productos. Pero sería importante tomar en cuenta la capacidad de comunicación y trabajo del equipo de desarrollo de software, además, de procesos o modelos de bajo nivel como Personal Software Process (PSP) para complementar los otros modelos y lograr un desarrollo de software eficaz y una respuesta adecuada e inmediata al cambio, principalmente en aquellos proyectos en los que intervienen requisitos inestables.

Lo más importante que toda organización o equipo de software debe tener en cuenta es que, no existe una metodología ideal para un proyecto en la que se aplique. La metodología seleccionada sea esta ágil o tradicional, siempre dependerá directamente del equipo de desarrollo, la organización, lo cambiante del entorno y lo primordial, la aceptación de los usuarios finales.

3 comentarios to “Combinando disciplina con metodologías ágiles”

  1. Alan Cyment Says:

    Hola! Estaba buscando gente latinoamericana interesada por el desarrollo ágil y encontré este post :o)

    Estoy organizando junto a otro entusiastas ágiles la conferencia Agiles 2008 en Buenos Aires, Argentina. Si te interesa el tema y te da ganas de participar (ojalá dando una charla o tomando parte en un debate), porfa visitá la p?gina: http://www.agiles2008.org
    Saludos!! Alan

  2. danielvn7 Says:

    Hola Alan,

    Hace unos días preparé el resumen que se pedía ser enviado para ser aprobado en las conferencias que ustedes están organizando. Lo realicé junto con un colega, el se encargó de enviar mi resumen junto con el de él, sobre el mismo tema de este post.

    Gracias por tu invitación y espero que mi resumen sea tomado en cuenta.

  3. Eduardo Says:

    Saludos, quería saber si puedo contactar contigo. Me gustaría hacer un estudio acerca de la aplicación de metodologías ágiles en Ecuador. Me parece que especialmente en el sur del país es un tema prácticamente desconocido.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: