SciELO - Scientific Electronic Library Online

 
vol.14 número2La aritmética modular como mecanismo de seguridad y vulnerabilidad en el sistema criptográfico RSA índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Artigo

Indicadores

  • Não possue artigos citadosCitado por SciELO

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


Revista Cubana de Ciencias Informáticas

versão On-line ISSN 2227-1899

Rev cuba cienc informat vol.14 no.2 La Habana abr.-jun. 2020  Epub 01-Jun-2020

 

Artículo de revisión

Las causas del cambio en los requerimientos de software

The causes of the change in software requirements

0000-0002-8154-7838Lenna Carballo Muñoz1  , 0000-0002-7334-4475Ivette Barrientos Núñez1 

1 Universidad de Ciego de Ávila Máximo Gómez Báez. Facultad de Informática y Ciencias Exactas. Carretera a Morón Km 9 ½, Ciego de Ávila. lenna@unica.cu, ivette@unica.cu

RESUMEN

La investigación muestra que una de las principales razones del fracaso de un proyecto de desarrollo de software es el cambio en los requisitos. El éxito o fracaso de estos proyectos depende en gran medida de cómo se trabaje con los requisitos cambiantes. El conocimiento que se tenga sobre las causas del cambio de requisitos puede mejorar la capacidad para tomar mejores decisiones y gestionar los requisitos cambiantes de manera efectiva. El objetivo de la presente investigación es presentar los resultados de un estudio que tuvo como objetivo identificar las causas de los cambios en los requisitos en las fases de desarrollo de software. Se realizó una revisión bibliográfica teniendo en cuenta los elementos fundamentales para esta. La búsqueda produjo una gran cantidad de artículos, pero después de una filtración cuidadosa solo quedaron seis estudios, cuyos principales autores son Munera Bano, Shalinka Jayatilleke, Naved Ali y Muhammad Azeem Akbar, siendo este último autor principal de 3 artículos estudiados. En Todos estos se pudieron encontrar conocimientos empíricos de las causas del cambio de requisitos. Se han identificado diferentes causas y su frecuencia en las fases de desarrollo del software. A pesar de que los requisitos han sido ampliamente citados como uno de los principales desafíos que enfrentan los ingenieros de requisitos, se hace difícil encontrar evidencias empirícas sobre las causas de los cambios. Por esto se hace difícil generalizar los resultados de la investigación. Es necesario realizar más investigaciones empíricas para identificar y comprender completamente las causas del cambio de requisitos.

Palabras-clave: ingeniería de requisitos; causas; administración de requisitos; revisión bibliográfica

ABSTRACT

Research shows that one of the main reasons for the failure of a software development project is the change in requirements. The success or failure of these projects depends to a large extent on how they work with the changing requirements. Knowledge of the causes of changing requirements can improve the ability to make better decisions and manage changing requirements effectively. The objective of this research is to present the results of a study that aimed to identify the causes of the changes in the requirements in the software development phases. A bibliographic review was made taking into account the fundamental elements for this. The search produced a large number of articles, but after a careful filtration there were only five articles (six studies) that reported on empirical knowledge of the causes of the change in requirements. Different causes have been identified and their frequency in the software development phases. Although the requirements have been widely cited as one of the main challenges faced by the requirements engineers, it is difficult to find empirical evidence on the causes of the changes. This makes it difficult to generalize the results of the investigation. More empirical research is needed to identify and fully understand the causes of the change in requirements.

Key words: requirements engineering; causes; requirements management; bibliographic review

INTRODUCCIÓN

En la actualidad como un área de investigación desafiante por parte de la comunidad de ingenieros de software se ha considerado a los requisitos cambiantes (Jayatilleke & Lai, 2018). Se ha arribado a que éstos cambian durante las diferentes fases del ciclo de vida del desarrollo del software y este cambio desempeña un papel vital en el éxito o fracaso de cualquier proyecto (Williams, Carver, & Vaughn, 2006). Lo cierto es que más de la mitad de los requisitos de un software cambian antes de la implementación real de este. La mayoría de las fallas de software se atribuyen a una ingeniería de requisitos deficiente en la que los requisitos ambiguos e incompletos conducen a cambios en todo el proceso de desarrollo de software (Kotonya & Sommerville, 1998), (Bano, Imtiaz, Ikram, Niazi, & Usman, 2012), (Jayatilleke & Lai, 2018). En los últimos años, la tendencia ha cambiado de culpar al problema a identificar la causa de ese problema. Para gestionar los cambios en los requisitos se necesita identificar la causa de esos cambios para poder monitorearlos y gestionarlos de manera eficaz y también para encontrar mejores soluciones. Existen numerosas causas de cambio de requisitos resaltadas en la literatura, como el cambio en la tecnología, las preferencias del usuario y el entorno siempre cambiante (AlSanad & Chikh, 2015). Estas causas pueden ocurrir durante cualquier fase del desarrollo de software y, a su vez, provocar cambios en los requisitos generales del sistema.

La literatura (AlSanad & Chikh, 2015), (Bano et al., 2012), (Ali & Lai, 2016), (Jayatilleke & Lai, 2018) destaca el hecho de que la anticipación del cambio temprano en el diseño, el conocimiento de dónde buscarlo y los requisitos que cambian con más frecuencia que los otros, ayudaría a ahorrar costos, reducir el tiempo de desarrollo general y aumentar la tasa de éxito de los proyectos. Si no se responde a los cambios requeridos, se producen retrasos, problemas de configuración, defectos e insatisfacción general del cliente por no obtener el producto de calidad (Ebert & De Man, 2005). Los desarrolladores de software consideran que responder al cambio de requisitos es más importante que centrarse en los requisitos estables de beneficios en términos de costo y tiempo de desarrollo. Aceptar el hecho de que el cambio es inevitable puede acomodar y gestionar un proyecto exitoso.

Los cambios en los requisitos también tienen diferentes riesgos asociados con ellos en términos de costo y tiempo, y el impacto aumenta con la propagación de esos cambios de una fase a la siguiente. Por lo tanto, es necesario recopilar y clasificar las causas y mapear su impacto en los artefactos generados durante el desarrollo de software.

El objetivo de este estudio es recopilar evidencia de las diferentes causas del cambio de requisitos mediante la realización de una revisión bibliográfica y la clasificación de los cambios de requisitos en diferentes grupos lógicos.

MÉTODOS O METODOLOGÍA COMPUTACIONAL

Se realizó una revisión bibliográfica utilizando la metodología propuesta por (Gómez-Luna, Fernando-Navas, Aponte-Mayor, & Betancourt-Buitrago, 2014) la cual facilita la adquisición de la información disponible, la identificación de los principales autores, el número de publicaciones por año, las principales áreas de trabajo y las tendencias en el área objeto de investigación. Las bases de datos consultadas fueron: SpringerLink , IEEE Xplore , ACM Digital Library , ScienceDirect , Cite Seer5.

Definición del problema

Como tema se definió las causas de los cambios en los requisitos de software.

Búsqueda de Información

Una vez definido el problema a investigar, se consultaron diferentes fuentes de información como artículos, libros, disertaciones doctorales, presentaciones y revisiones sistemáticas de la literatura publicadas entre el 2005 y el 2019; empleando las ecuaciones de búsqueda mostrada en la siguiente Tabla 1.

Tabla 1 Ecuaciones de búsqueda. 

Del total de documentos encontrados, luego de analizar la información, y filtrarlos por fecha, se seleccionaron 6 documentos, siendo los principales autores: Munera Bano de Pakistán, Shalinka Jayatilleke y Naved Ali de autralia y Muhammad Azeem Akbar de China. (Bano et al., 2012), (Ali & Lai, 2016), (Jayatilleke & Lai, 2018), (Akbar, Sang, Nasrullah, Khan, Mahmood, et al., 2019), (Akbar, Sang, Khan, & Hussain, 2019), (Akbar, Sang, Nasrullah, Khan, Shafiq, et al., 2019).

Una solicitud de cambio de software puede tener muchas razones; por ejemplo, los ingenieros de requisitos pueden olvidar mencionar un requisito y es una característica que falta en un sistema resultante, o se ha identificado un error, cuya rectificación es un requisito, o malentendido de los requisitos debido a la falta de participación activa de los involucrados o stakeholders (Bano et al., 2012). Otros ejemplos pueden ser: los cambios en las prioridades de las organizaciones, las tendencias del mercado y la competencia introducen continuamente nuevos requisitos, la nueva legislación o las normas de la organización pueden obligar a cambiar, las personas pasan a la solución antes de comprender cuál es realmente el problema (Harker, Eason, & Dobson, 2002).

Para establecer y comprender plenamente las causas implícitas del cambio de requisitos, es imperativo tener una respuesta convincente al cambio de requisitos. Los problemas de requisitos puede propagarse a otras fases del desarrollo del software si estos problemas no se abordan en las etapas iniciales, es decir, el cambio de requisitos puede afectar el diseño y, en última instancia, codificar y dar como resultado un sistema que no es deseable debido a estos cambios (Jayatilleke, Lai, & Reed, 2018). El cambio es un problema que puede tener varios efectos en el proyecto de software, por lo tanto, es fundamental para comprender la relación de causa y efecto para un proceso de toma de decisiones en la gestión de cambios de requisitos.

El análisis de la causa del cambio de requisitos puede ayudar a prevenir los problemas en la fase de requisitos. Se ha observado que si los profesionales tienen conocimiento de por qué se presenta la solicitud de cambio y cuál fue la causa subyacente que generó esta solicitud, les ayudaría a decidir cómo abordar el mismo. El objetivo de la revisión bibliográfica es recopilar evidencias empíricas sobre las causas de la necesidad de cambio. El conocimiento generado por esta revisión ayudará a los gerentes de proyectos y desarrolladores en el proceso de gestión de cambios de requisitos para analizar la relación de causa y efecto y a tomar la decisión adecuada con respecto a cualquier solicitud de cambio de requisitos. La clasificación y la agrupación de los cambios en los requisitos es uno de los factores importantes que deben examinarse y analizarse en la gestión de cambios requerida (McGee & Greer, 2009), ya que ayuda a los profesionales a comprender la categoría de cambio de requisitos y evaluar su impacto en el Proceso de desarrollo de software y producto. Uno de los objetivos del estudio es analizar las causas de los cambios en los requisitos y clasificarlos en grupos lógicos.

Estas categorías se pueden evaluar para determinar la frecuencia de aparición durante las diferentes fases de desarrollo del software. A pesar de toda la importancia del cambio de requisitos reivindicado en la literatura publicada, también se ha señalado que hay poco trabajo empírico realizado para la investigación y exploración en esta área (Jayatilleke & Lai, 2018).

Existen diferentes herramientas, técnicas y métodos propuestos por la comunidad de investigación para gestionar los requisitos cambiantes. Sin embargo, existe una necesidad de comprender las causas subyacentes de los cambios en los requisitos para poder gestionar mejor sus impactos en el desarrollo de software.

RESULTADOS Y DISCUSIÓN

La siguiente Tabla 2 muestra la información general sobre los estudios incluidos;

Tabla 2 Información general sobre los artículos seleccionados. 

De acuerdo con los documentos consultados los factores que causan los cambios de los requisitos se dividen en dos categorías: activados por eventos o por incertidumbre. En realidad, es difícil determinar si el cambio ocurre como resultado de uno o ambos. En un sentido práctico, no es importante que las causas de los cambios se dividan en estas dos categorías, siempre que estén identificadas. En realidad, es difícil determinar si el cambio ocurre como resultado de uno o ambos. En un sentido práctico, no es importante que las causas de los cambios se dividan en estas dos categorías, siempre que estén identificadas. Estos cambios identificados se pueden clasificar en cinco áreas: mercado externo; organización del cliente; visión del proyecto; especificación de requerimiento; y solución. Estas cinco áreas se identificaron observando las características de los eventos de cambio y las incertidumbres discutidas en la literatura (Bano et al., 2012), (Akbar, Sang, Nasrullah, Khan, Shafiq, et al., 2019). Por ejemplo, cualquier factor de cambio que fuera parte del entorno externo de la organización, como competidores, regulaciones gubernamentales, etcétera se categorizó como mercado externo. Según la ubicación en el ciclo de vida del proyecto de software, la información anterior puede ser significativa para anticipar qué factores pueden causar cambios y, como resultado, conducirá a una mejor planificación que garantizará una mejor tasa de éxito del proyecto. A continuación, se muestra una Tabla 3 con las causas más comunes de cambios de requisitos documentadas en la bibliografía consultada. Estas causas están recogidas dentro de las áreas que fueron mencionadas con anterioridad.

Tabla 3 Causas de cambio de requisitos. 

La siguiente Tabla 4 muestra la tasa de ocurrencia de cambios con respecto a la fase de desarrollo de software de los estudios seleccionados.

Tabla 4 Tasa de ocurrencia de cambios 

Se encontraron pocas investigaciones que muestren resultados sobre las causas de cambio de los requisitos de software. Pero si ha quedado claro en la literatura revisada que los requisitos cambiantes han sido el principal desafío que enfrentan los ingenieros de software y gestores de proyectos durante todo el ciclo de vida de un proyecto de software.

También se ha podido observar en este estudio que, para causas accidentales, el foco debe estar en el diseño, por lo que se deben emplear técnicas y procedimientos de calidad para evitar su ocurrencia. Las causas del cambio de requisitos pueden clasificarse además en función de su origen. Las causas pueden originarse desde dentro del proyecto (por ejemplo, “especificación de requisitos incompletos”) o causas pueden originarse desde fuera del proyecto también (por ejemplo, “cambio en política de organización”) o del entorno empresarial en que opera la organización cliente (por ejemplo, demandas de mercado). Se requieren diferentes técnicas para hacer frente a diferentes tipos de causas y su impacto (Ali & Lai, 2016), (Jayatilleke & Lai, 2018). Estas técnicas están recogidas dentro de las 3 áreas de la Gestión de Cambio de Requisitos (GCR), Identificación, Análisis y Estimación del Costo del Cambio.

Luego del análisis realizado se puede decir que:

  1. Los métodos de identificación de cambios no parecen tener mucho consenso sobre cómo se debe realizar la identificación, ni muchos de los métodos son formales.

  2. La mayoría de los métodos de identificación de cambios encontrados se basan en dos técnicas: mediante taxonomías y mediante clasificaciones.

  3. Las taxonomías de cambio tienden a basarse en conceptos más amplios, como casos de uso y modelos UML, mientras que las clasificaciones de cambio utilizan mecanismos más simplificados, como direcciones de cambio y parámetros.

  4. La identificación del cambio generalmente conduce a la comprensión de la necesidad del cambio, que también se relaciona con un análisis más detallado del cambio.

  5. Las técnicas de trazabilidad han sido la opción más popular al analizar el cambio, ya que la trazabilidad de los requisitos facilita la identificación del impacto del cambio de manera más eficiente.

  6. Sin embargo, este parece ser un concepto teórico ya que la trazabilidad de los requisitos tiene muchas limitaciones.

  7. La idea principal del análisis de cambios es identificar cómo el cambio solicitado impacta el diseño o sistema existente. A tal efecto, los métodos de análisis del impacto del cambio que se encuentran en la literatura pueden agruparse en función de los objetos que se ven afectados: conjunto de impacto inicial, conjunto de impacto estimado y conjunto de impacto real.

  8. Dentro de las técnicas de cálculo de costos dedicadas a estimar el costo de los cambios en los requisitos destacan las técnicas de costo existentes, como COCOMO, juicio de expertos, etc.

  9. Es posible dividir las técnicas de costo existentes en dos categorías: algorítmicas y no algorítmicas.

  10. Dependiendo de en qué punto del ciclo de vida se encuentre el proyecto de software y qué artefactos se utilicen para la estimación de costos, se puede juzgar la idoneidad de cada estimación para la estimación de costos de los cambios.

CONCLUSIONES

Los cambios en los requisitos ocurren por diferentes razones y pueden ser causados ​​por múltiples partes interesadas. Independientemente de quién o qué causa estos cambios, la necesidad de una gestión adecuada es grande debido a las consecuencias indeseables si no se atienden a tiempo. El objetivo principal de esta investigación fue determinar las causas de los cambios en los requisitos y establecer algunas clasificaciones y técnicas que ayuden a los equipos de desarrollo a identificar y conducir de forma exitosa esta área dentro de la gestión de proyectos.

En el documento, la sección sobre factores que causan cambios en los requisitos proporciona una comprensión de cuán amplios y constantes pueden ser estos cambios. No existe una causa fundamental para los cambios, lo que hace que la gestión de cambios sea una tarea desafiante. Por lo tanto, incluso con una gran cantidad de investigación sobre la gestión del cambio, todavía hay margen de mejora. Dada la complejidad de los cambios, es importante identificar los procesos existentes para gestionarlos. De la literatura disponible se desprende claramente que no existe consenso sobre cómo gestionar el cambio. En algunos casos, se basa en el tipo de organización y el entorno y, en muchos casos, se basa en el tipo de cambios. A través de los pasos del proceso disponibles, se identificaron tres procesos comunes; identificación, análisis y estimación de costos del cambio. Este trabajo también es una guía para los futuros investigadores sobre las causas del cambio en términos del trabajo importante que se ha realizado hasta ahora.

REFERENCIAS

Akbar, M. A., Sang, J., Khan, A. A., & Hussain, S. (2019). Investigation of the requirements change management challenges in the domain of global software development. Journal of Software: Evolution and Process, 31(10). https://doi.org/10.1002/smr.2207Links ]

Akbar, M. A., Sang, J., Nasrullah, Khan, A. A., Mahmood, S., Qadri, S. F., … Xiang, H. (2019). Success factors influencing requirements change management process in global software development. Journal of Computer Languages, 51, 112-130. 2019 2019 https://doi.org/10.1016/j.cola.2018.12.005Links ]

Akbar, M. A., Sang, J., Nasrullah, Khan, A. A., Shafiq, M., & Fazal-E-Amin. (2019). Towards the Guidelines for Requirements Change Management in Global Software Development: Client-Vendor Perspective. IEEE Access, 7, 2019 76985-77007. https://doi.org/10.1109/ACCESS.2019.2918552Links ]

Ali, N., & Lai, R. (2016). A method of requirements change management for global software development. Information and Software Technology, 70, 2019 49-67. https://doi.org/10.1016/j.infsof.2015.09.005Links ]

AlSanad, A., & Chikh, A. (2015). The Impact of Software Requirement Change - A Review. In Advances in Intelligent Systems and Computing (Vol. 353, 2019 pp. 803-812). https://doi.org/10.1007/978-3-319-16486-1_80Links ]

Bano, M., Imtiaz, S., Ikram, N., Niazi, M., & Usman, M. (2012). Causes of requirement change - a systematic literature review. In 16th International Conference on Evaluation & Assessment in Software Engineering (EASE 2012) 2019 (Vol. 2012, pp. 22-31). IET. https://doi.org/10.1049/ic.2012.0003Links ]

Ebert, C., & De Man, J. (2005). requirements uncertainty. In Proceedings of the 27th international conference on Software engineering - ICSE ’05 (p. 553) 2019 . New York, New York, USA: ACM Press. https://doi.org/10.1145/1062455.1062554Links ]

Gómez-Luna, E., Fernando-Navas, D., Aponte-Mayor, G., & Betancourt-Buitrago, L. A. (2014). Metodología para la revisión bibliográfica y la gestión de información de temas científicos, a través de su estructuración y sistematización. Dyna, 81(184), 158-163. 2019 Retrieved from 2019 Retrieved from http://www.redalyc.org/articulo.oa?id=49630405022Links ]

Harker, S. D. P., Eason, K. D., & Dobson, J. E. (2002). The change and evolution of requirements as a challenge to the practice of software engineering. In [1993] Proceedings of the IEEE International Symposium on Requirements Engineering (pp. 266-272) 2019 . IEEE Comput. Soc. Press. https://doi.org/10.1109/ISRE.1993.324847Links ]

Jayatilleke, S., & Lai, R. (2018). A systematic review of requirements change management. Information and Software Technology, 93, 163-185. 2019 2019 https://doi.org/10.1016/j.infsof.2017.09.004Links ]

Jayatilleke, S., Lai, R., & Reed, K. (2018). Managing software requirements changes through change specification and classification. Computer Science and Information Systems, 15(2) 2019, 321-346. https://doi.org/10.2298/CSIS161130041JLinks ]

Kotonya, G., & Sommerville, I. (1998). Requirements Engineering: Processes and Techniques (1st ed.). Wiley Publishing. [ Links ]

McGee, S., & Greer, D. (2009). A Software Requirements Change Source Taxonomy. In 2009 Fourth International Conference on Software Engineering Advances ( 2019 pp. 51-58). IEEE. https://doi.org/10.1109/ICSEA.2009.17Links ]

Williams, B. J., Carver, J., & Vaughn, R. B. (2006). Change Risk Assessment: Understanding Risks Involved in Changing Software Requirements. Software Engineering Research and Practice, 966-971. [ Links ]

Recibido: 01 de Enero de 2020; Aprobado: 31 de Marzo de 2020

*Autor para la correspondencia. (lenna@unica.cu)

Ninguno de los autores manifestó la existencia de posibles conflictos de intereses que debieran ser declarados en relación con este artículo.

Lenna Carballo Muñoz: contribución a la revisión bibliográfica, su análisis e interpretación. Desarrollo de la investigación. Redacción de la versión final del artículo.

Ivette Barrientos Núñez: contribución a idea y diseño de estudio, revisión crítica del artículo y aprobación final a publicar.

Creative Commons License