Gestión de Proyectos Extreme
Acerca del Autor: Jhon Robert Quintero H.
La metodología de gestión de proyectos Extreme, es una modalidad destacada de gestión agile de proyectos aplicados al desarrollo de software. También denominado “Extreme Programming o XP”, se considera uno de los enfoques más modernos de gestión de proyectos para la industria del software.
Es una modalidad basada fundamentalmente en las personas, dicha modalidad permite el logro de aplicaciones informáticas de calidad dentro de una organización, lo que contribuye a generar valor al cliente final, dentro de un proceso de innovación. Esta forma de gestionar proyectos, tiende a centrarse en aquellas áreas funcionales de mayor valor e importancia.
Lo que se pretende por tanto es optimizar el proceso productivo con el fin de ofrecer un mejor servicio a sus usuarios, teniendo en cuenta que la finalidad de todo proceso innovador desarrollado por una organización, es alcanzar una posición ventajosa en el mercado frente a la competencia, marcando una fuerte diferenciación con respecto a la misma.
Muchas empresas dedicadas al desarrollo de software, buscan mejorar sus procesos innovadores aplicando este tipo de metodología de proyecto, con la finalidad de lograr el máximo grado de satisfacción de sus clientes. No hay que olvidar que en el proceso de desarrollo de software, presenta constantes cambios desde su inicio hasta su fin, el enfoque aportado por la metodología de gestión de proyectos Extreme, aborda fundamentalmente estos requisitos cambiantes, aportando solución a cada una de sus fases.
Aspectos fundamentales a destacar en el desarrollo de un proyecto de innovación de software:
Valores: los valores de la metodología de gestión de proyectos Extreme, están basados en la importancia del “equipo”, valores como:
Comunicación, fuerte retroalimentación, sencillez y respeto.
— La comunicación y retroalimentación entre los miembros del equipo, constituyen el eje fundamental en el desarrollo de este tipo de modelo de gestión, dentro de un proceso innovador. Martin Fowler, un ingeniero de software británico estableció que “el software es una construcción social”, caracterizando al equipo de personas dentro de un proceso de desarrollo de software, como “componentes no lineales de primer orden”, los cuales llegan a influir en el desarrollo del mismo, más que cualquier práctica o procedimiento utilizado.
La retroalimentación, así mismo, se considera fundamental, en un proceso en el que los cambios producidos pueden ser constantes, tal y como se ha señalado, siendo fundamental una correcta retroalimentación en cada una de las fases del proyecto.
— El equipo de un proyecto, que desarrolle la metodología “Extreme”, buscarán potenciar al máximo esta retroalimentación, ya que mientras más anticipados sean los conocimientos del cambio, más rápido se podrá dar solución, adaptándose de forma eficaz a los mismos.
— En cuanto al valor de la sencillez, es el aspecto más complicado de una metodología “Extreme”, debido a la dificultad de generar un sistema de software simple que dé solución a todos los problemas que pueda presentar el cliente final.
— Respeto, como valor central dentro de la gestión de proyectos Extreme, se debe garantizar un alto nivel de motivación entre los miembros del equipo, fomentando la lealtad hacia los objetivos que se pretenden conseguir. Destaca el comentario de Kent Beck, un ingeniero de software estadounidense, “Si los miembros de un equipo no se preocupan unos de otros y lo que están realizando, XP no llegará a funcionar”.
— Autogestión: Elemento clave de este tipo de metodología, en donde no existe una dirección como tal, las responsabilidades se distribuyen entre el equipo responsable del proyecto, en donde cada uno de los componentes del equipo asume y ejecuta sus propias responsabilidades, contribuyendo a buen desarrollo del proyecto global.
El éxito en la aplicación de una metodología de gestión “Extreme”, se mide partiendo del cliente potencial, ya que es el cliente el que realmente seleccionará el valor de negocio que querrá implementar. El equipo de dicho proyecto, será por tanto el que tenga que medir dicho valor en relación al tiempo de entrega del mismo. El proceso de generación de un proyecto “Extreme”, se basará en las siguientes líneas generales.
— El cliente, establece el negocio a implementar, marcará las necesidades a cubrir con el mismo de acuerdo con sus prioridades y las limitaciones en términos de coste y tiempo.
— El programador junto con todo su equipo, cuantificará la posibilidad de implantación, y el esfuerzo requerido para ello.
— El programador inicia el proceso de generación o producción del valor requerido por el cliente.
En cuanto a las fases de desarrollo en la gestión de proyectos Extreme, se pueden destacar las siguientes:
- Fase de Exploración: en esta fase el cliente plantea las necesidades a cubrir a nivel de usuario, importantes para satisfacer los requisitos primordiales en una primera puesta en escena. En esta fase, el equipo integrado en el proyecto, estudiará y analizará las herramientas y tecnologías necesarias para su desarrollo, comenzando a construir el prototipo del producto final teniendo en cuenta las especificaciones solicitadas por el cliente.
- Fase de Planificación en la entrega: Es la fase en la que el cliente establece la prioridad en las necesidades de los usuarios, valorando el equipo el tiempo y el esfuerzo estimado para su satisfacción, así se llega a un acuerdo mutuo para una primera entrega. Esta primera entrega no se deberá demorar más de tres meses, siempre en estrecha relación con la magnitud del proyecto a desarrollar.
- Fase de desarrollo de Iteraciones: Se incluyen diversas iteraciones sobre el sistema antes de su entrega, en general se establecen iteraciones de no más de tres semanas, durante la primera semana se establecerá la forma que dará lugar al programa o sistema, que será utilizada como modelo para el desarrollo del proyecto, pero en clara dependencia con los requisitos marcados por el cliente, el cual será el verdadero fijador de las implementaciones que se deberán desarrollar en cada iteración, en la última iteración desarrollada, el sistema o prototipo, estará listo para iniciar su producción definitiva. En los procesos de iteración, se deberán tomar en consideración determinados aspectos como: requisitos del usuario no resaltados, resultados fallidos y tareas no finalizadas en las iteraciones anteriores, así como una nueva estimación de tiempo en la elaboración del proyecto. Todas estas iteraciones, vendrán referidas a tareas de programación desarrolladas por el equipo dentro del proceso de desarrollo del proyecto, cada una de ellas será asignada a un miembro del equipo, de ahí la importancia de la comunicación y retroalimentación mencionada anteriormente.
- Fase de producción: Antes de generar el producto o programa final adecuado a los requerimientos marcados por el cliente, se deberán efectuar ensayos y contrastes adicionales, revisiones del resultado obtenido y la posibilidad de introducir complementos requeridos que respondan a los cambios ocurridos en las iteraciones, con el fin de generar un producto final satisfactorio para el cliente.
- Fase de mantenimiento: después de la elaboración de una primera versión, el proceso “Extreme”, deberá desarrollar nuevas iteraciones conforme vayan surgiendo nuevas necesidades del cliente. En esta nueva fase, se podrá requerir ampliar el equipo implicado en el proyecto, dando soporte a posibles cambios de estructura del producto.
- Fase de “muerte” o conclusión del proyecto: En esta fase el producto ha concluido. El cliente no aporta más necesidades al mismo y por tanto no se requieren más cambios en su estructura, o bien porque ya no puede generar más beneficios, o bien porque no se dispone de recursos financieros para desarrollar más cambios.
Gráfico: Fases del proyecto – Gestión de Proyectos Extreme
Concluir este apartado indicando que la aplicación de un método de gestión de proyectos u otro dependerá de los objetivos que se pretendan alcanzar. Evidentemente toda metodología debe adaptarse al escenario del proyecto innovador marcado por la organización, atendiendo a factores como: tiempo, recursos humanos y tecnológicos aportados, etc.
La metodología de gestión ágil y sus variantes para el desarrollo de un proyecto de innovación se caracteriza fundamentalmente por su sencillez, tanto en la práctica como en su utilidad, reduciendo de forma considerable los costos de implantación dentro de la organización, aunque no hay que olvidar que están especialmente recomendados para proyectos de pequeña envergadura, dirigidos a equipos reducidos de no más de 20 personas, o incluso 10, cuyo entorno debe facilitar la colaboración, comunicación e interrelación extrema entre los participantes en el proceso de innovación.
Referencias:
Principios del Manifiesto Ágil