Reports about application of the Extreme Programming -XP method, have evidenced scalability problems in both, the team size and the problem complexity. When the problem is more complex and the team size is bigger, organization of team, project and product became to have more relevance. Architecture practices deal with these concerns, so these are key elements for achieving any scalable XP extension. In this paper we propose XA (XP with Architecture), an XP extension including adapted architecture practices from architecture centered approaches. Furthermore, the paper presents a study case where XA is applied in a project in an academic context.Index Terms-Software Engineering, Software Process, Agile Methods.
I. INTRODUCCIÓNLa industria de software se compone en su gran parte de VSEs (Very Small Enterprises) [1], donde la mayoría de las prácticas disponibles en la literatura no resultan aplicables directamente [2]. La competitividad es un balance delicado entre calidad y productividad, con el auge de las metodologíaságiles se da una respuesta a los desarrollos rápidos en ambientes de bajos recursos y de gran incertidumbre, incluyendo prácticas básicas de calidad. Dado que los mayores problemas de calidad provienen de los requisitos [3], [4], las metodologíaś agiles abordan de manera directa este problema con ciclos de desarrollo cortos, orientados al valor y con la participación del cliente. Extreme Programming -XP [4] ha mostrado sus beneficios en grupos pequeños, sin embargo cuando el tamaño del equipo crece, se hace más difícil coordinarlo [5] evidenciándose el problema de la escalabilidad [6]. Escalar un método significa lograr queéste brinde los beneficios para un contexto más grande o complejo para el que fue propuesto. Dado que la escala está relacionada con la complejidad de problema y con el tamaño del equipo, deben incluirse elementos técnicos y de gestión que permitan descomponer de manera metódica el proyecto en unidades más simples, gestionables y construibles. La arquitectura es un concepto clave para resolver el problema en el que un proyecto de mediana o alta complejidad intenta usar metodologíaságiles [7]. La ausencia de una orientación hacia la arquitectura dentro de las metodologíaságiles, no permite que se tomen decisiones tempranas de diseño que tendrán un profundo impacto en todo el proyecto. Una industria de software competitiva debe poder incrementar su capacidad productiva a largo plazo, es decir, debe poder reusar componentes, estructuras y decisiones de diseño, así como obtener productos que después puedan ser mantenidos adecuadamente [8]. Este artículo presenta Extreme Programming with Architecture -XA, un modelo de proceso de software basado en XP y centrado en la arquitectura, orientado a proyectos de mediana complejidad y equipos de más de 10±2 personas que busca potenciar la capacidad productiva de las organizaciones. XA introduce un un modelo holístico que facilita la coordinación de un conjunto de equipos de desarrollo, pequeños y satélites que trabajan independientemente con XP ...