Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ISSN: 1794-192X
investigaciones@ubscali.edu.co
Universidad de San Buenaventura
Colombia
Definicin de una
metodologa gil
de ingeniera
de requerimientos
para empresas emergentes
de desarrollo de software
del sur-occidente
colombiano*
Definition of a responsive methodology of engineering of requirements for
emergent software development companies in the southwestern part
of Colombia.
Luis Merchn
Alba Urrea
Rubn Rebollar
Resumen
Como industria, el software requiere de
productos y servicios de alta calidad, lo cual
se logra mediante la aplicacin de modelos
y metodologas de calidad reconocidos internacionalmente. Las empresas emergentes
Fecha de recepcin del artculo: octubre de 2007 Fecha de aceptacin: marzo de 2008.
LUIS MERCHN. Ingeniero de Sistemas. Especialista en Finanzas. Magster en Administracin. Doctorado en Direccin de
proyectos. email: lmerchan@usbcali.edu.co
ALBA URREA. Ingeniera de Sistemas. Magster en Ingeniera de Sistemas y Computacin. e-mail: aurrea@usbcali.edu.co
RUBN REBOLLAR. Ingeniero Industrial. Doctor en Ingeniera Industrial. e-mail: rrebollar@unizar.es
Revista Cientca Guillermo de Ockham. Vol. 6, No. 1. Enero-Junio de 2008 - ISSN: 1794-192X 37
Summary
As an industry, software requires high
quality products and services, which are
obtained by means of the application of
high quality models and methodologies
recognized worldwide. Emergent companies
do not manage to apply these methodologies,
due to the high costs of implementation, the
recruitment of a qualied human resource
and the demanded standards that restrict
creativity, which are an important part of
their capital. The Research Laboratory for
the Development of Software Engineering
(LIDIS), as a response to this situation,
carried out an investigation that proposes a
light model of improvement of the software
development processes, starting o from the
characterization of emergent companies.
Key words: Engineering of requirements, software development, emergent
companies.
Introduccin
Un factor estratgico para las empresas
desarrolladoras de software debe ser la
aplicacin de modelos de mejoramiento
de procesos, que una vez adoptados en los
proyectos de software puedan disminuir
los costos de produccin y la inversin de
recursos en el mantenimiento de los respectivos productos y servicios. Los modelos
y metodologas actuales son extranjeros y
ajenos a las condiciones y/o caractersticas
propias, con servicios de capacitacin muy
formales y servicios de consultora excesivamente costosos y no son fciles de aplicar en
organizaciones pequeas.
Si bien la caracterizacin de las empresas
emergentes del sur occidente colombiano
38 Universidad de San Buenaventura, Cali, Colombia
Revisin de literatura
La ingeniera de requerimientos cumple
un papel primordial en el proceso de produccin de software, ya que enfoca un rea
fundamental: la denicin de lo que se desea
producir. Su principal tarea consiste en la
generacin de especicaciones correctas que
describan con claridad, sin ambigedades, en
forma consistente y compacta, el comportamiento del sistema. Como disciplina, establece el proceso de denicin de requerimientos
en una sucesin de actividades mediante
las cuales lo que debe hacerse se elicita, se
modela y analiza (Choque, 2001).
Tabla 1
Anlisis comparativo mejores prcticas en ingeniera de requerimientos
INGENIERA DE
REQUERIMIENTOS
Procesos y
Procedimientos
MODELOS ESTNDARES
CMMI
ISO 12207
METODOLOGA
GIL
Mejores prcticas
para implementar
Elicitacin
Establecer criterios para Establecer y documendistinguir proveedores de tar los requerimientos del
requerimientos apropia- software.
dos.
Alcanzar un entendimiento
de los requerimientos para
que los integrantes del
proyecto se puedan comprometer con ellos.
Especicacin
Gestin
Obtener un compromiso
con los requerimientos.
Administrar los cambios de
los requerimientos.
Mantener la trazabilidad de
los requerimientos.
Revista Cientca Guillermo de Ockham. Vol. 6, No. 1. Enero-Junio de 2008 - ISSN: 1794-192X 39
ParqueSoft Cali
ParqueSoft Palmira
NMERO TOTAL
DE EMPRESAS
183
8
ParqueSoft Tula
19
ParqueSoft Popayn
34
ParqueSoft Pereira
21
ParqueSoft Manizales
27
ParqueSoft Pasto
14
Anlisis de datos
El diagnstico se fundament en la aplicacin de mtodos, tcnicas y herramientas en
las fases del proceso de ingeniera de requerimientos (de elicitacin, de especicacin y
de gestin de requerimientos) por parte de
las empresas emergentes.
En ingeniera de requerimientos se examinaron aspectos como:
La ejecucin de procesos y procedimientos de administracin de requerimientos.
El uso de herramientas que soportan el
proceso de administracin de requerimientos
De lo anterior, se logran evidenciar los
factores problema presentes en las tres fases
de ingeniera de requerimientos (Ver grcas
1 y 2).
En los resultados obtenidos, se evidencia
que las empresas pertenecientes a la industria emergente de software necesitan de
metodologas que soporten las actividades
de sus procesos de desarrollo de software.
A pesar que la mayora de ellas asegure su
utilizacin, las actividades no se realizan de la
forma correcta o en otros casos no se aplican
correctamente.
En el proceso de ingeniera de requerimientos que efectan estas empresas, se
encontraron notables problemas en cada
una de sus fases:
Gran parte de las empresas encuestadas
(58.3%) no establecen criterios para la
aceptacin de proveedores de requerimientos, lo que puede traer falencias
para el desarrollo del proyecto por
cuanto las fuentes de los requerimientos
no tienen dominio de la problemtica
del sistema ni de sus procesos, as como
obtener requerimientos mal interpretados e inconsistentes e incluso omitir
requerimientos que pueden ser necesarios
para la solucin.
Un alto porcentaje de ellas (48.71%) no
establece criterios para la aceptacin de
requerimientos, factor que puede ocasionar la presencia de errores en el desarrollo
de los requerimientos que redunden en
Grfica1
Fases elicitacin y especificacin de requerimientos
105%
No sabe
No se hace
90%
De vez en cuando
Regularmente
75%
Siempre se hace
60%
45%
30%
15%
0%
Criterios
para aceptacin
de proveedores.
Criterios
para aceptacin
de requerimientos.
Grfica 2
Fase gestin de requerimientos
105%
90%
75%
No sabe
No se hace
60%
De vez en cuando
Regularmente
45%
Siempre se hace
30%
15%
0%
Administracin de
trazabilidad de los
requerimientos
Administracin
de cambios de los
requerimientos
Historial de
cambios de los
requerimientos
Revista Cientca Guillermo de Ockham. Vol. 6, No. 1. Enero-Junio de 2008 - ISSN: 1794-192X 41
Grfica 3
Estructura de la metodologa gil para el proceso de ingeniera de requerimientos
ACTIVIDAD 1: Evaluar los proveedores
de requerimientos a entrevistar
ACTIVIDAD 2: Definir la estrategia
de recoleccin de requerimientos
ACTIVIDAD 3: Planificar reuniones
de elicitacin de requerimientos
FASE 1: Elicitacin
de requerimientos
Metodologa gil
para el proceso de ingeniera
de requerimientos
FASE 3: Gestin
de requerimientos
Para los proyectos de desarrollo a la medida pueden aplicar estrategias tales como las
entrevistas y el desarrollo de aplicaciones de
agregacin (JAD) (Ver Tabla 5).
Elicitacin
Tabla 3
Entradas por tipo de proyecto
TIPO DE PROYECTO
NOMBRE ENTRADA
FUENTE
Fuentes de informacin
Revista Cientca Guillermo de Ockham. Vol. 6, No. 1. Enero-Junio de 2008 - ISSN: 1794-192X 43
Tabla 4
Criterios para la distincin de proveedores de requerimientos
TIPO DE PROYECTO
NOMBRE
DESCRIPCIN
Usuario nal
Tabla 5
Estrategias para la recoleccin de requerimientos
TIPO DE PROYECTO
Proyecto de desarrollo
a la medida
NOMBRE
Entrevistas
DESCRIPCIN
Es la tcnica de elicitacin ms
utilizada por ser una de las
formas de comunicacin ms
naturales entre las personas
Brainstorming
Tabla 6
Salida de la fase 1 para proyectos de desarrollo de software a la medida e idea de negocio
NOMBRE
DESCRIPCIN
DESTINO
Revista Cientca Guillermo de Ockham. Vol. 6, No. 1. Enero-Junio de 2008 - ISSN: 1794-192X 45
Especificacin
Esta fase, que tiene tres entradas (Ver Tabla 7), presenta las siguientes actividades:
1. Actividad 1: Describir
los requerimientos
Esta actividad tiene como objetivo:
Denir los actores que participan en cada
proceso.
Denir la secuencia de interacciones de
los procesos.
Denir las excepciones asociadas a los
procesos.
En esta actividad se pueden revisar las estrategias de especicacin de requerimientos
con el n de describir los requerimientos en
cuanto a sus actores, escenarios y excepciones, advirtiendo que ninguna estrategia de
especicacin de requerimientos existente es
excluyente en esta fase de la metodologa.
2. Actividad 2: Evaluar
los requerimientos
Esta actividad tiene por objetivo vericar
que los casos de uso, historias de usuarios o
Tabla 7
Entradas para la fase de especificacin de requerimientos
NOMBRE
FUENTE
Analista
Fuentes de informacin
Analista
Fuentes de informacin
Denicin de la versin
Analista
Fuentes de informacin
Tabla 8
Salida fase de especificacin de requerimientos
NOMBRE
DESCRIPCIN
DESTINO
Gestin
Esta fase, que tiene tres entradas indicadas en la Tabla 9, plantea las siguientes
actividades:
1. Actividad 1: Priorizar los
requerimientos
Esta actividad tiene como objetivo:
Asignar categoras los requerimientos
en funcin de su criticidad, importancia, complejidad y riesgo.
Denir las versiones entregables del
proyecto.
Esta prctica permite realizar una organizacin de la construccin o desarrollo
de los requerimientos de acuerdo con las
necesidades del cliente o la importancia que
tienen los requerimientos para l.
Es importante realizar el proceso de priorizacin de requerimientos debido a que se
obtendrn claros objetivos de desarrollo, se
denir la entrada y salida de cada una de
las etapas del proyecto, se podr hacer una
organizacin y distribucin de actividades
para el desarrollo incremental que permitir
por tanto negociar el cmo se liberar el
producto.
2. Actividad 2: Almacenar
los requerimientos
en un repositorio central
Esta prctica tiene por objetivo almacenar
los requerimientos denidos en un repositorio central (herramienta informtica), pues
conservarlos en plantillas no es muy recomendable por la facilidad de prdida, adems
de un proceso desordenado de desarrollo y
otros factores negativos que pueden afectar
el progreso de este proceso.
Tabla 9
Entradas fase de gestin de requerimientos
NOMBRE
FUENTE
Analista
Denicin de requerimientos
Analista
Revista Cientca Guillermo de Ockham. Vol. 6, No. 1. Enero-Junio de 2008 - ISSN: 1794-192X 47
Control en la metodologa
de ingeniera de requerimientos
del software
Esta etapa de la metodologa tiene como
propsito describir los pasos para asegurar
que las actividades son ejecutadas conforme
al proceso que ha sido establecido.
En las fases de elicitacin y especicacin
de requerimientos, el proceso de control
contempla las siguientes tareas:
Conclusiones
Se revis el proceso de ingeniera de
requerimientos en las empresas emergentes
de desarrollo de software del sur occidente
colombiano dndose a conocer la necesidad
que ellas tienen de implementar metodolo-
Tabla 10
Salida fase de gestin de requerimientos
NOMBRE
DESCRIPCIN
DESTINO
Reconocimientos
Se reconoce a las empresas encuestadas
la participacin en la presente investigacin. Igualmente a los estudiantes Karina
Hernndez y ngela Lerma y la profesora
Patricia Hoyos por el trabajo de consolidacin y anlisis de los resultados del trabajo
de campo.
Bibliografa
BECK, K. (2000). Extreme Programming
Explained. Embrace Change, Pearson Education, 1999. Traducido al espaol como: Una
explicacin de la programacin extrema. Aceptar
el cambio. Addison Wesley.
BENNINGTON. (1956). Agile requirements
method. [en lnea]. [Consulta: Mayo 2006].
Disponible en: <http://www.therationaledge.
com/content/agileRequirements>
BOEHM, Barry. (1998). Spiral model of
software development and enhancement, IEEE
computer, Vol. 21.
CMMI. (2002). Capability Maturity Model Integration (CMMISM), Version 1.1
MMI/SE/SW/IPPD/SE, V1.1; [en lnea].
[Consulta: Agosto 2006]. Disponible en:
<http://www.sei.cmu.edu/cmmi/>
COCKBURN, Alistair. (1999). Metodologas
giles y tradicionales en el desarrollo de software.
Patricio Letelier y M Carmen Penads, Universidad Politcnica de Valencia.
CHOQUE ASPIAZU, Guillermo. (2001).
Ingeniera de requerimientos. [en lnea].
[Consulta: Julio 2006]. Disponible en:
<http://www.umsanet.edu.bo/docentes/gchoque/Art_IngRequerim.pdf>
FOWLER, Martin. (2001). The new Methodology.
CARROL, J.M. (1995). Scenario-Based
Design: Envisioning Work and Technology in
System Development. Wiley. New York.
GRUDIN, J. (1990). Obstacles to user involvement in interface design in large product
development organization, Proceeding IFIP
INTERACT90 Third International Conference on Human-Computer Interaction,
Cambridge, Inglaterra.
ISO 9000, 9002, 9003. [en lnea]. [Consulta:
Agosto 2006]. Disponible en: <http://www.
iso.org/iso/en/iso9000-14000/index.html>
JACOBSON, I.; CHRISTERSON, M.;
JONSSON, P. y OVERGAARD, G. (1992).
Object-Oriented Software Enginering A Use
Case Driven Approach. Addison Wesley,
Reading, MA.
JEFFRIES, R., ANDERSON, A., HEN
DRICKSON, C. (2001). Extreme Programming Installed. Addison-Wesley.
HIGHSMITH, Jim. (2000). Metodologas
giles y tradicionales en el desarrollo de software.
Patricio Letelier y M Carmen Penads. Uni-
Revista Cientca Guillermo de Ockham. Vol. 6, No. 1. Enero-Junio de 2008 - ISSN: 1794-192X 49