Sunteți pe pagina 1din 5

El modelado de requerimientos en las metodologas giles

Silvia Rivadeneira1, Gabriela Vilanova2, Mara Miranda2, Diana Cruz1


Departamento Ciencias Exactas y Naturales
1
Unidad Acadmica Rio Turbio, 2Unidad Acadmica Caleta Olivia,
Universidad Nacional de la Patagonia Austral
grivadeneira@uart.unpa.edu.ar, vilanova@uolsinectis.com.ar, dianalrcruz@gmail.com

requerimientos lo que complejiza el desarrollo de un


Resumen proyecto, por lo que, an hoy, buscando una gestin
Las metodologas giles surgidas a fines de ms adecuada de esos cambios, se sigue
los 90, no han sido muy tenidas en cuenta por el investigando sobre los mtodos, tcnicas y
mundo acadmico, quizs recin a mediados de la estrategias que permitan alcanzar resultados
dcada anterior se comienzan a encontrar trabajos de positivos en el desarrollo de software.
investigacin al respecto. En este artculo se analizan las
Nos enfocamos en uno de los trabajos metodologas giles ms utilizadas enfocndose en
realizados en el marco de la investigacin en el que la etapa de gestin de requerimientos dentro del
se estudiaron seis metodologas giles para analizar ciclo de vida del software, donde se explicitan las
que prcticas y artefactos implementaban en el prcticas, tcnicas y artefactos que se utilizan en la
proceso de desarrollo de proyectos de software, mencionada etapa. Para ello se indag en la
especficamente en las actividades de ingeniera de literatura existente para conocer cada una de las
requerimientos. Aqu se rescatan las metodologas metodologas involucradas, logrando una primera
XP, SCRUM y APM como las nicas que abarcan seleccin y comparacin de las mismas.
estas etapas, solas o en combinacin con otras 1. Acercndonos a las metodologas giles
tradicionales o actuales. Las denominadas metodologas giles
surgen en la dcada de los 90 y a comienzos del
Palabras clave: modelado de requerimientos, 2001 se renen sus representantes para discutir
gestin de requerimientos, metodologas giles nuevos mtodos, crear The Agile Alliance [2] y
producir el Manifiesto por el Desarrollo gil del
Contexto Software [1]. Si bien, el manifiesto gil define una
serie de principios y valores que guan al equipo del
La Universidad Nacional de la Patagonia
proyecto de software, comnmente no se cuenta con
Austral (UNPA) est ubicada en la provincia de
especificaciones concretas relacionadas con aspectos
Santa Cruz y, est compuesta por cuatro unidades
metodolgicos clave cubiertos [13]. En [11] se
acadmicas dispuestas en las localidades de: Caleta
expresa que existen cuatro metodologas (XP,
Olivia, San Julin, Ro Gallegos y Ro Turbio.
Scrum, DSDM1 y FDD2) que se destacan por
Este artculo pertenece al Proyecto de
proveer una gua concreta, en su especificacin,
Investigacin 29/B134 denominado Modelado de
respecto de los procesos, prcticas, roles y
Requerimientos y Diseo de Sistemas Complejos
productos. Pero en lo que respecta a las etapas de
radicado en la Unidad Acadmica Caleta Olivia
inicio del proyecto y especificacin de
(UACO). El proyecto es del tipo 1 de Ciencia y
requerimientos [9] XP y Scrum son las que
Tecnologa y responde a temticas relacionadas con
proporcionan procesos, prcticas, actividades y
carrera de pre-grado, grado y postgrado dictadas en
artefactos especficos, as como la gestin del
UNPA y comprende actividades de investigacin
proyecto, y en este caso tambin podramos agregar
bsica y aplicada.
APM3.
El proyecto de investigacin es financiado
Entre las caractersticas del enfoque gil
parcialmente por UNPA.
podemos expresar que impulsan generalmente una
El grupo de investigacin conformado es
gestin de proyectos que promueve el trabajo en
nuevo en la UNPA y sus integrantes residen en
equipo, la organizacin y responsabilidad propia, un
varias localidades patagnicas, tales como
grupo de buenas prcticas de ingeniera de software
Comodoro Rivadavia, Caleta Olivia, Ro Turbio y
que brindan una entrega rpida de software de alta
Punta Arenas (Chile).
calidad, y un enfoque de negocios que alinea el
Introduccin desarrollo con las necesidades del cliente y los
objetivos de la empresa [10]. El ciclo de desarrollo
Las actividades de elicitacin, que aplican las metodologas giles es iterativo e
documentacin y verificacin de requerimientos
forman parte de la ingeniera de requerimientos y
1
permiten conocer la realidad de una organizacin, Dynamic System Development Methods
2
pero es la inestabilidad o cambio de estos Feature-Driven Development
3
Agile Project Management

____________________________________
PAGINA - 383 -
incremental, lo que permite entregar el software en fase, tales como: caja de producto, hoja de
pequeas partes denominadas incrementos. Cada datos de proyecto, listado de caractersticas
iteracin se puede considerar como un sub-proyecto de producto, gestin de carga de trabajo,
en el que las actividades de anlisis de reuniones diarias, decisiones consensuadas
requerimientos, diseo, implementacin y testing y participativas, revisin de adaptacin del
son llevadas a cabo con el fin de producir un producto, proyecto y equipo. Al igual que
subconjunto del sistema final. El proceso se repite Scrum es un marco de trabajo, y permite la
varias veces produciendo un nuevo incremento en combinacin con otros enfoques de gestin
cada ciclo hasta que se elabora el producto de proyectos ms formales.
completo. Aunque todas las metodologas giles 2. El proceso de requerimientos y las prcticas
adoptan este ciclo, cada una presenta sus propias giles
caractersticas [16]. En la bsqueda por mejorar el proceso de
Entre las metodologas giles que cubren gestin de requerimientos nuestro trabajo se centr
las primeras etapas de un proyecto de software en las actividades que se realizan en esa etapa y para
podemos describir: ello analizamos que prcticas giles y artefactos
XP [17] el proceso est constituido por seis suelen aplicarse en las metodologas antes
fases (exploracin, planificacin, mencionadas.
iteraciones, produccin, mantenimiento,
cierre de proyecto). Los roles son
reducidos, un cliente, programadores,
verificadores, consultores tcnicos, un
consejero, un rastreador y el Gran Jefe.
Algunas de sus prcticas son: entregas
pequeas y frecuentes, diseo simple,
prueba continua, refactorizacin continua,
programacin de a pares, integracin
continua, todo el equipo radica en el mismo
lugar.
Scrum [18] est indicado para proyectos en
entornos complejos, donde se necesitan Figura 1. Historia de usuario.
rpidos resultados y los requerimientos son XP demanda comunicacin oral tanto para
altamente cambiantes o poco definidos. Es los requerimientos como para el diseo [12]. Como
adaptativo, gil, auto-organizado y con puede observarse en la Figura 1, las historias de
pocos tiempos muertos [12]. Fue concebido cliente, tarjetas de historia (story cards), o historias
para utilizar en combinacin con otras de usuario son tarjetas simples en papel donde se
metodologas. Su proceso se caracteriza por describen breves requerimientos similares a las
sprints o iteraciones de un mes. El resultado tarjetas CRC, con una granularidad de 10 a 20 das.
del sprint es un incremento ejecutable que Se utilizan para estimar prioridades, alcances y
se muestra al cliente. Otra caracterstica son tiempo de realizacin. Si existen discrepancias se
las reuniones diarias que no llevan ms de utiliza la ms optimista. Otros artefactos son lista de
15 minutos y su objetivo es coordinar e tareas en papel o pizarra y grficos visibles en pared
integrar el producto a entregar. El proceso [9]. Una prctica que los equipos estn utilizando es
se compone de 4 fases (pre-juego SDD4 [15] como metodologa para gestionar los
planeamiento, pre-juego montaje, juego y requerimientos en proyectos giles.
post-juego), 6 roles (scrum master, Product Blacklog Fecha:
propietario, equipo, cliente, gestor y Estimado:
usuario), dispone de prcticas y Tipo: Nuevo ____ Mejora ____ Fuente:
herramientas para la gestin de sus fases Arreglo ____
Descripcin:
tales como: product backlog, sprint
Notas:
backlog, estimacin de esfuerzos, grfico
Tabla 1. Product Backlog.
burn-down, grfico burn-up, planning
Scrum no se ocupa de los detalles
poker [9].
relacionados con el modelado de requerimientos,
APM [19] el proceso se compone de 5 fases
pero claramente el artefacto Product Backlog recoge
(previsin, especulacin, exploracin,
los requerimientos del sistema y sus estimaciones.
adaptacin y cierre). Los roles que
Los desarrolladores no pueden implementar los
podemos encontrar son: patrocinador
requerimientos si no estn en el Product Backlog
ejecutivo, gestor de proyectos, gestor de
(ver Tabla 1). En cada iteracin, el equipo de
producto, ingeniero jefe, gestores, equipo
desarrollo comienza con la lista priorizada de
de cliente, equipo de proyecto, proveedores
y gobierno. Proporciona prcticas para cada 4
Storytest-Driven Development

____________________________________
PAGINA - 384 -
requerimientos almacenada en el Sprint Backlog. Gestionar los cambios de requerimientos.
Luego, cuando los requerimientos surgen y Iterar-Inspeccionar-Adaptar.
evolucionan debido al entorno dinmico del negocio Construir prototipos y demostraciones.
o una solicitud de cambio de las partes interesadas, Realizar talleres de colaboracin.
la modificacin de las prioridades de los Incorporar conceptos orientados a aspectos
requerimientos en el product blacklog se produce coincidiendo con [27].
sobre la base actual del valor de los requerimientos
de negocio [24]. Lneas de investigacin y desarrollo
Las lneas de investigacin del grupo estn
centradas en las prcticas y artefactos para el anlisis
de requerimientos y el diseo de soluciones
software, y en particular se estn trabajando las
siguientes:
Modelado de requerimientos combinando
BPMN y UML
Figura 2. Prcticas de la Fase de Previsin.
En APM [19] la fase de previsin define la Modelado de requerimientos aplicando
visin del producto, los objetivos del proyecto, la metodologas giles
comunidad del proyecto y el equipo que trabajar. Integracin de BPMN y SOA
En la fase de especulacin el equipo se ocupa de Arquitectura de Software y diseo de
generar el plan de entregas basado en sistemas complejos
funcionalidades utilizando informacin de la Por otro lado, no por ello menos
especificacin del producto, plataforma de importante, nos interesamos en la construccin del
arquitectura, recursos, anlisis de riesgo, niveles de conocimiento en red, las siguientes lneas son las
defecto, restricciones de negocio y fechas objetivo. que involucra:
Las prcticas giles que se utilizan se muestran en La interaccin que se produce en entornos
las Figuras 2 y 3. colaborativos
La construccin colaborativa del
conocimiento
Resultados y objetivos
Del anlisis de literatura existente,
encuestas realizadas por investigadores, experiencias
exitosas, asociacin a comunidades de
desarrolladores giles locales y regionales, hemos
Figura 3. Prcticas de la Fase de Especulacin. obtenido informacin de las metodologas giles
Las metodologas analizadas se pueden vigentes. En [9] hicimos una primera seleccin para
combinar con otras que sean tradicionales o ms analizar en detalle, teniendo en cuenta criterios
actuales. Estas combinaciones pueden darse en una o como: (a) la metodologa ms presente en Internet,
en todas las fases para lograr cubrir todo el ciclo de (b) la metodologa ms documentada, (c) la
vida. Las metodologas que cubren las etapas de metodologa con certificaciones y entrenamiento, (d)
requerimientos, suelen hacerlo en una o dos fases, en la metodologa con comunidad propia, (e) la
la prctica para obtener una visin general del metodologa ms utilizada por organizaciones y (f)
sistema se trabajan con los requerimientos de ms la metodologa ms utilizada en proyectos software;
alto nivel, tanto funcionales como no funcionales, a esto dio como resultado la seleccin de:
travs del consenso entre el equipo de desarrollo y Agile Project Management
los clientes; y en la especificacin logran la Crystal Methods
especificacin de requerimientos generales, Dynamic System Development Methods
refinndolos concurrentemente hasta llevarlos a Extreme Programming
especificaciones ms detalladas [9]. Scrum
Para los autores [12], [14] y [26] la Test Driven Development
documentacin de los procesos giles es informal, De este listado surgieron aquellas que
prefirindose la comunicacin cara a cara tratando abarcaban las etapas iniciales de un proyecto, con
de reducir los costos de mantenimiento. prcticas y artefactos definidos y que, por supuesto,
En [14] y [25] se sugieren prcticas para podramos aplicar eran APM, XP y Scrum.
aplicar a la gestin de requerimientos: Existen trabajos que evalan metodologas
Asegurar la participacin del cliente. cualitativamente tales como [20], [21], [22], [23] y
Negociar los requerimientos explcitos. [24], otros lo hacen cuantitativamente [16] y en este
Definir la trazabilidad de los caso evalan si las metodologas giles cumplen o
requerimientos. no con los principios del Manifiesto. Nosotros

____________________________________
PAGINA - 385 -
reconocemos que seleccionar una metodologa gil a alumnos de la Maestra en Educacin en Entornos
utilizar en un proyecto [3] requiere considerar cinco Virtuales uno de ellos en trabajo de tesis -, un
dimensiones de riesgo: tamao, criticidad, alumno en proceso de trabajo final en la
dinamismo, equipo y cultura, y esto sin tener en Especializacin en Management Tecnolgico y dos
cuenta el tipo de desarrollo. alumnos de pre-grado de Analista de Sistemas en
Hemos generado una encuesta utilizando proceso de realizacin de trabajo final de carrera, en
tecnologa Google Docs que colocamos en lnea estos casos uno de ellos est trabajando sobre esta
durante cuatro meses y que difundimos en redes temtica en particular.
sociales, comunidades de desarrolladores giles y a El grupo se complementa con un acadmico
travs de correo electrnico pero no logramos perteneciente a la Universidad de Magallanes
obtener una muestra representativa (20 respuestas), doctorado en el rea de computacin y
es as que decidimos analizar otras encuestas, automatizacin industrial por la Universidad Estatal
algunos de los resultados observados [4][5][6][7][8] de Campias (Brasil) quien forma docentes y
muestran que: alumnos en la Unidad Acadmica Ro Turbio
Los equipos giles estn utilizando XP, (UART).
Scrum, sus variantes y FDD.
Las prcticas giles ms utilizadas son las Referencias
reuniones diarias. [1] Beck, K., et al.: The Agile Manifesto.
Las principales razones para implantar la Manifesto for Agile Software
agilidad son: incrementar el time-to-market, Development. En:
gestionar los cambios de prioridades y http://www.agilemanifesto.org
alinear el negocio e IT. [2] Agile Alliance, En:
Las prcticas menos utilizadas son: BDD5, http://www.agilealliance.org/
la entrega continua y la programacin por [3] Boehm, B. y Turner, R. Balancing Agility
pares. and Discipline. A Guide for the Perplexed.
Los procesos giles son apropiados para Addison-Wesley. 2004.
una gran proporcin de proyectos. [4] Ambler, S. Survey Says: Agile Works In
Las prcticas que ms afectaron la calidad Practice. En:
de las entregas fueron: guas de cdigo http://www.drdobbs.com/architecture-and-
comunes, refactorizacin, test de regresin design/survey-says-agile-works-in-
y la integracin continua. practice/191800169. 2006.
Este estudio ha logrado que integrantes del [5] Shine Technologies. Agile Technologies
proyecto incluyan esta temtica en la planificacin Survey Results. 2003.
de los espacios curriculares a los que pertenecen y [6] VersionOne. State of agile survey: The
que por supuesto estn relacionados con ingeniera State of Agile Development. 2011.
de software y programacin. Asimismo, los grupos [7] Alende, A. La utilizacin de los mtodos
de alumnos involucrados en la realizacin del giles en las empresas de desarrollo de
trabajo final de carrera estn utilizando algunas de software de Argentina. 2010.
sus prcticas. [8] Ali, M. Survey on the State of Agile
El grupo espera durante este nuevo ciclo: Practices implementation in Pakistan.
Realizar eventos en el rea de International Journal of Information and
extensin de la Universidad Communication Technology Research. Vol.
relacionados con prcticas giles. 2. Nro. 5. 2012.
Evaluar la aplicacin de las prcticas [9] Rivadeneira, S. Metodologas giles
giles durante el desarrollo del enfocadas al modelado de requerimientos.
proyecto. ICT UNPA. 2013.
Estudiar la integracin entre las otras [10] LNCS. Ingeniera del Software:
lneas de investigacin y metodologas Metodologas y Ciclos de Vida.
giles. Laboratorio Nacional de Calidad de
Analizar las metodologas giles ms Software. INTECO. Espaa. 2009.
adecuadas para trabajar en las [11] Meda, R. y Ierache, J. Una propuesta de
organizaciones de la patagonia austral. conjuncin de elementos metodolgicos en
comn dentro de los enfoques giles para el
Formacin de Recursos Humanos desarrollo de software.
[12] Reynoso, C. Mtodos Heterodoxos en
Entre los integrantes del proyecto existen Desarrollo de Software. UBA. Argentina.
dos alumnos de la Maestra de Informtica y 2004.
Sistemas uno avanzado y otro iniciando -, dos [13] Larman, C. Agile and Iterative
Development: A managers guide.
5 Addison-Wesley. 2004.
Behavior-Driven Development

____________________________________
PAGINA - 386 -
[14] Cao, L. y Ramesh, B. Agile Requirements
Engineering Practices: An Empirical Study.
IEEE Software. 2008.
[15] Mugridge, R. Managing Agile Project
Requirements with Storytest-Driven
Development. IEEE Software. 2008.
[16] Mendes, K., Estevez, E., Fillotrani, P. Un
framework para evaluacin de
metodologas giles.
[17] Beck, K. Extreme Programming Explained.
Embrace Change, Pearson Education, 1999.
[18] Scrum Alliance. En:
http://www.scrumalliance.org/
[19] Highsmith, J. Agile Project Management:
creating innovative products. Pearson
Education. USA. 2004.
[20] Abrahamsson, P., Salo, O., Ronkainen,
J.,Warsta, J., Agile Software Development
Methods, Review and Analysis, VTT
Publications 478. 2002.
[21] Iacovelli, A., Souveyet, C., Framework for
Agile Methods Classification, Workshop on
Model Driven Informat. Systems Eng.:
Enterprise, User and System Models. 2008.
[22] Strode, D.E., The Agile Methods: An
Analytical Comparison of Five Agile
Methods and an Investigation of Their
Target Environment, MSc Thesis in
Information Systems, Massey University,
Palmerstin North, Nueva Zelanda. 2005.
[23] Visconti, M., Cook, C., An Ideal Process
Model for Agile Methods, LNCS, ISBN
978-3-540-21421-2, Vol 3009, pp.439-441.
2004.
[24] Oyeyipo E., Mueller C. Requirements
Management in Agile-Scrum. Texas State
University. San Marcos. 2011.
[25] Gottesdiener E. Requirements Practices on
Agile Projects, Success with
Requirements, Vol. 1, No. 8. 2007.
[26] Qasaimeh, M., Mehrfard, H., Hamou-
Lhadj, A. Comparing Agile Software
Process Based on the Software
Development Project Requirements. IEEE
Computer Society. CIMCA 2008
[27] Arajo, J. y Ribeiro, J. Towards an
Aspected-Oriented Agile Requirements
Approach. WPSE05.

____________________________________
PAGINA - 387 -

S-ar putea să vă placă și