You are on page 1of 3

Extreme Programming, una nueva metodología

José Martín Rozanec habla de las nuevas técnicas de los procesadores. XP es el nombre de Windows, pero también sirve de abreviatura de Extreme Programming. Lo último en metodología para los ingenieros informáticos.
  ¿Qué es XP? ¿Qué es XP? Para muchos, XP es sinónimo de una versión de Windows. Sin embargo, para el informático, XP también significa Extreme Programming. Los alumnos de la materia Laboratorio III estamos desarrollando un juego de estrategia por turnos haciendo uso de esta metodología ágil. El concepto de metodologías ágiles es relativamente nuevo pero cada vez más conocido. Éstas se centran en el uso de mínima documentación en el momento de desarrollar los proyectos y buscar ser ágiles en cuanto a responder adecuadamente a los cambios de requerimientos. El enfoque al desarrollo de software que propone XP, pretende ser útil en proyectos de alto riesgo caracterizados por una constante variación de los requerimientos. Promueve la integración del cliente en el proceso de desarrollo, la programación de a pares y el trabajo en equipo como medios para lograrlo. El proceso puede resumirse en el siguiente esquema:

Los puntos más importantes a ser tenidos en cuenta son: • Creación de “user stories”: son documentos breves escritos por el cliente, en el cual escribe requerimientos puntuales que precisa del sistema. Se busca que estos documentos se centren en las necesidades y beneficios esperados por el usuario antes que las tecnologías usadas y layouts. Determinación previa de tests a realizar: para cada user story se decide qué tipo de tests se han de realizar. Se evita la posibilidad de crear pruebas conociendo que parte puede fallar o no; dando lugar a testeos más objetivos y no manipulables. Creación de “spike solutions” (spike=estaca): en caso de surgir dudas referentes a cómo solucionar un problema técnico o de arquitectura del software, se recurre a soluciones provisorias que se focalizan en el tema en

cuya prioridad de desarrollo será establecida por el cliente. Las variables que se consideran en el momento de realizar las planificaciones son la extensión. Estos subgrupos podrían a la vez subdividirse en hasta tres grupos menores. Del moderador no se espera que tenga brillantes cualidades como programador. Los autores sugieren también la creación de un grupo de desarrolladores especializados en la creación de test unitarios. el escalamiento del XP ¿arroja resultados significativamente mejores? Sí. recursos. además de velar que el código desarrollado pase los tests que corresponda. Hasta aquí la teoría. por el impacto que posee sobre las demás variables a largo plazo. Se tiende a maximizar la calidad. Iteraciones: duran de una a tres semanas. Tests: se efectúan los testeos previstos para asegurarse que el programa no presente fallas. Por cada grupo mayor (de 68 pares) habrá un moderador que deberá velar por la transferencia de información dentro del grupo y el intercambio de información entre los grupos. Se debe hallar presente en las reuniones de inicio de jornada de cada subgrupo. por la cual se formaría grupos de desarrollo de hasta 68 pares de programadores. Para ello sugieren plantear una estructura jerárquica del Extremme Programming. Un ejemplo de implementación exitosa fue Sabre Airlines . Su propósito es simplificar la planificación. la cooperación y el hecho que todos los miembros del grupo se puedan centrar en la programación. en las que se debe concluir las user stories pactadas. permitir medir el progreso y agilizar el desarrollo. Siempre se divide el total de casos a desarrollar en un conjunto de iteraciones. sino que sea preciso en la comunicación y que sepa transmitir un knowhow referido a cuestiones técnicas e inherentes de la aplicación. Estos. Pero en la práctica. No se espera que estas soluciones provisorias se conserven en la solución definitiva. Las ventajas que surgen de la moderación son la transparencia de resultados. deben velar en el correcto uso de las interfaces definidas en ambas direcciones. La planificación puede priorizar el tiempo de entrega o la extensión del proyecto. Releases: se hace uso de “releases” (lanzamiento de versiones del programa) frecuentes y de tamaño reducido. cada uno de los cuales estaría dividido en subgrupos de 6 a 8 pares. tiempo y calidad. Bernard Rumpe y Peter Scholz en su artículo “A manager´s view on large scale XP projects” responden que es posible implementar la metodología XP a gran escala. Release planning: para la planificación de los lanzamientos se contempla un conjunto de user stories. Surge entonces el interrogante si es posible implementarlo en empresas con cientos de empleados. También mantendrá reuniones regulares con los moderadores de los grupos restantes evitando la incomunicación de los grupos. A partir de la descripción del proceso se observa que este es fácil de implementar en proyectos de poca envergadura. sino que generalmente se descartan tras haber cumplido con su propósito.• • • • cuestión.

objectmentor. detalles sobre XP y metodologías ágiles. en http://www. “Can XP Projects Grow?”. por Gary Anthes. José Martín Rožanec.com/. Workshare Technology y Escrow. Casos exitosos de XP. quien logró mejorar la productividad en un 42% y redujo los errores de desarrollo en un 80%.org/. http://www.Solutions. por Bernard Rumpe y Peter Scholz.extremeprogramming. “Sabre takes extreme measures”. “A manager´s view on large scale XP projects”. Algunas fuentes consultadas: ‐ ‐ ‐ ‐ ‐ http://www.computerworld. Otras empresas que se beneficiaron adoptando la metodología fueron Symantec.com/ . por Ed Yourdon.com. detalles de metodología XP.