Documentos de Académico
Documentos de Profesional
Documentos de Cultura
lladores son libres de interactuar constantemente. por lo que la experiencia debe de ser fundamental.
Los proyectos son construidos con las mejores Por otro lado las metodologı́as definen ciclos, que
herramientas y el progreso es medido por la canti- en algunos casos incluyen varias fases, de igual
dad de código escrito por los desarrolladores para forma que en los procesos de desarrollo de software
contribuir a la entrega en tiempo de una versión del tradicionales, por ejemplo, el Proceso Unificado
sistema. Racional (Rational Unified Process, RUP)[9]. En
En la literatura se han documentado varias me- las metodologı́as ágiles, también se genera docu-
todologı́as ágiles para el desarrollo de software: mentación, sin embargo, el proceso de documen-
scrum[4], eXtreme programming (XP)[5] y crys- tación es menos rı́gido, porque por lo general se
tal[6], entre otras. documenta únicamente lo indispensable[10], [11].
En este trabajo se analiza la posibilidad de in- De los aspectos que más llaman la atención de las
corporar métodos de diseño de arquitecturas de metodologı́as ágiles es el hecho que están abiertas a
software a metodologı́as ágiles a nivel general, que recibir cambios en los requerimientos, sin importar,
después se puedan adaptar a algunas metodologı́as si estos cambios tienen un impacto negativo en
particulares. Este documento está dividido de la la arquitectura del sistema. Sin embargo, se ha
siguiente manera. En la sección II se hace el afirmado que en las metodologı́as ágiles, el diseño
planteamiento del problema y se exponen algunos de la arquitectura de software no es una actividad
trabajos que atacan de manera particular la arquitec- importante[12]. Es decir, carece de importancia el
tura de software en ciertas metodologı́as ágiles. En diseño de la arquitectura y, por lo tanto, existe la
la sección III se describe cuál será la metodologı́a tendencia a no tomarlo en cuenta. Explicitamente,
a seguir para obtener los mejores resultados. En no hay una fase para el diseño de la arquitectura
la sección IV se mencionará a grandes rasgos los como en el caso de los procesos tradicionales. Esto
resultados que se esperan obtener. Finalmente en la implica que desde el momento en que se empieza
sección V se dará conclusiones parciales y trabajo a escribir código la arquitectura se va creando en
a futuro. la medida en que se va desarrollando el proyecto.
Cómo se mencionó anteriormente, los cambios
II. P LANTEAMIENTO DEL PROBLEMA en los requerimientos a lo largo del proyecto es
Las metodologı́as ágiles expresan en su algo natural e inevitable, por lo que puede tener un
manifiesto[7] que se debe de valorar a los gran impacto en la arquitectura. En este sentido,
individuos y sus interacciones sobre los procesos pueden surgir nuevos requerimientos que podrı́an
y herramientas, al software funcionando sobre necesitar de una nueva arquitectura o la realización
documentación extensa, la colaboración del cliente de cambios significativos de tal manera que los
sobre la negociación del contrato y la respuesta al atributos de calidad que se pudiesen tener en la
cambio sobre el seguimiento de un plan. Además arquitectura original, se pierdan.
de un conjunto de 12 principios[8] que describen Anteriormente se ha mencionado que las me-
el enfoque que debe regir el desarrollo de software todologı́as ágiles comparten entre ellas ciertas ca-
bajo una metodologı́a ágil. racterı́sticas. Por tal motivo, la introducción de un
Hay una gran variedad de metodologı́as ágiles. modelo que pueda integrar actividades de diseño
Cada una tiene sus caracterı́sticas y peculiaridades. de aquitecturas de software tendrı́a un impacto
Se puede observar que cada metodologı́a ágil ma- bastante positivo en las metodologı́as ágiles, consi-
neja roles muy particulares. Además en cada meto- derando que el modelo que se pretende integrar no
dologı́a se parte del supuesto de que se cuenta con debe de contraponerse con los valores y principios
expertos técnicos e individuos muy motivados. Es expuestos en el manifiesto ágil[7].
decir, cada integrante debe de tener ciertas habili- Los trabajos que se han realizado para atacar
dades para resolver desde problemas técnicos, hasta el problema de la arquitectura de software en las
planteamientos de aspectos abstractos y complejos, metodologı́as ágiles es escaso. En este sentido, se
2
Coloquio Nacional de Investigación en Ingeniería de Software y Vinculación Academia-Industria
3
Coloquio Nacional de Investigación en Ingeniería de Software y Vinculación Academia-Industria
4
Coloquio Nacional de Investigación en Ingeniería de Software y Vinculación Academia-Industria
Documentación
Reutilización
Ciclos/Fases
Habilidades
Agile
Más usados
Actividades
Architect Phase 0: Partnership & Preparation (Few weeks)
Principles
Phase 1: Initial Evaluation (1 or 2
Days)
Reflective
Roles
1: Present ATAM
Workshop
XXX Carac.
2: Present Business Drivers
Osmotic XXX
Communicati
on 3: Present Architecture
Mét. XX X
4: Identify Arc. Approaches / Styles
Scrum 4 5 5 5 2 5
Information
Radiators
5: Generate Quality Atr. Utility Tree
XP 5 5 1 5 5 2 5
Crystal 5 5 2 3 5 5 3
Ambassador 6: Analyze Architectural
F
Approaches
User
Estrategias
Incremental
Roles Arq.
Re-
Architecture
Tácticas
CBAM
Phase 3: Follow Up (1 Week)
ATAM
QAW
ADD
Daily Stand
XXX
XXAsp.Arq.
Ups
Mét. XXX
X
Scrum 3 4 4
Figura 3. ATAM modificado para el modelo ágil crystal[11] XP 3 3 3 3
Crystal 3
Kanban
5
Coloquio Nacional de Investigación en Ingeniería de Software y Vinculación Academia-Industria
desarrolladores practicantes de metodologı́as ágiles. [7] K. Beck, J. Grenning, and R. C. Martin, “Manifes-
De tal manera que podrán producir un producto de to for agile software development.” Internet: http://
agilemanifesto.org/ Consultado Mayo 10, 2010.
software, que tome en cuenta elementos de diseño [8] K. Beck, J. Grenning, and R. C. Martin, “Manifes-
para la obtención de una arquitectura robusta con to for agile software development.” Internet: http://
atributos de calidad. agilemanifesto.org/principles.html Consultado Mayo 10,
2010.
Como trabajo a futuro de la tesis, se debe
[9] P. Kruchten, The Rational Unified Process: An Intro-
plantear y desarrollar el modelo genérico. A su duction. Boston, MA, USA: Addison-Wesley Longman
vez este modelo debe de poder ser instanciado Publishing Co., Inc., 2003.
por metodologı́as ágiles en particular, es decir, el [10] S. Ambler, “Modeling and documentation
practices on it projects survey,” July 2008.
modelo no será exclusivo de una metodologı́a en Internet: http://www.ambysoft.com/surveys/
particular. Además, se puede hacer un estudio de modelingDocumentation2008.html Consultado: Julio 7,
la efectividad del modelo con una metodologı́a ágil 2010.
en particular; ası́ como dar seguimiento a proyectos [11] S. Farhan, H. Tauseef, and M. A. Fahiem, “Adding agility
to architecture tradeoff analysis method for mapping
de software haciendo uso del modelo que preten- on crystal,” Software Engineering, World Congress on,
demos proponer. En la figura 4 podemos observar vol. 4, pp. 121–125, 2009.
elementos que tendrá el modelo que se desarrollará. [12] M. A. Babar, “An exploratory study of architectural prac-
tices and challenges in using agile software development
approaches,” in WICSA/ECSA, pp. 81–90, IEEE, 2009.
[13] S. E. Institute, “Software engineering institute.” Internet:
http://www.sei.cmu.edu Consultado: Junio, 2010.
[14] M. Isham, “Agile architecture is possible you first have
to believe!,” pp. 484 –489, 4-8 2008.
[15] S. Ambler, “Agile adoption rate survey results: March
2006,” Marzo 2006. Internet: http://www.ambysoft.
com/surveys/agileMarch2006.html Consultado: Mayo 10,
2010.
[16] I. Sommerville, Parte IV. Desarrollo. Ingenierı́a del soft-
ware, pp 364. séptima ed., 2006.
[17] R. W. Robert L. Nord, James E. Tomayko, “Integra-
ting software-architecture-centric methods into extrem-
me programming (xp),” tech. rep., Software Engineering
Institue, 2004. Technical Note CMU/SEI-2004-TN-036
September 2004.
Figura 4. Modelo a desarrollar. [18] M. R. Barbacci, R. Ellison, A. J. Lattanze, J. A. Stafford,
C. B. Weinstock, and W. G. Wood, “Quality attribute
workshops (qaws), third edition,” 2003.
[19] R. Wojcik, F. Bachmann, L. Bass, P. C. Clements, P. Mer-
R EFERENCIAS son, R. Nord, and W. G. Wood, “Attribute-driven design
(add), version 2.0,” tech. rep., Software Engineering
[1] L. Bass, P. Clements, and R. Kazman, Chapter 1 The Institute, November 2006.
architecture Business Cycle Software Architecture in [20] J. D. Mcgregor, “The architecture tradeoff analysis met-
Practice, Second Edition, pp3. Addison-Wesley. hod (atam),” tech. rep., 2004.
[2] P. Abrahamsson, M. A. Babar, and P. Kruchten, “Agility [21] R. Kazman, J. Asundi, M. Klein, N. L. Compton, and
and architecture: Can they coexist?,” IEEE Software, L. Col, “Making architecture design decisions: An eco-
vol. 27, pp. 16–22, 2010. nomic approach,” 2002.
[3] J. Canós, P. Letelier, and C. Penadés, “Metodologı́as [22] P. Clements, R. Kazman, and M. Klein, Evaluating Soft-
Ágiles en el desarrollo de software,” 2003. Universidad ware Architectures: Methods and Case Studies. Addison-
Politécnica de Valencia. Wesley, 2001.
[4] K. Schwaber, Agile Project Management With Scrum.
Redmond, WA, USA: Microsoft Press, 2004.
[5] K. Beck, Extreme Programming Explained: Embrace
Change. Addison-Wesley Professional, first ed., 1999.
[6] A. Cockburn, Agile software development. Boston, MA,
USA: Addison-Wesley Longman Publishing Co., Inc.,
2002.