SciELO - Scientific Electronic Library Online

 
 issue53DevOps and Software Product Quality Measurement: Preliminary FindingsCybersecurity Risk Audit: Literature Review, Proposal, and Application author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • Have no similar articlesSimilars in SciELO

Share


RISTI - Revista Ibérica de Sistemas e Tecnologias de Informação

Print version ISSN 1646-9895

RISTI  no.53 Porto Mar. 2024  Epub Apr 30, 2024

https://doi.org/10.17013/risti.53.53-68 

Artículos

Factores Sociales y Culturales que Influyen en las Técnicas de Priorización de Requisitos de Software: Un Estudio Secundario

Social and Cultural Factors Influencing Software Requirements Prioritization Techniques: A Secondary Study

Riad Aissrad Santos Charuf1 

Raúl Antonio Aguilar Vera1 

Julio C. Díaz Mendoza1 

Juan Pablo Ucán Pech1 

1 Facultad de Matemáticas, Universidad Autónoma de Yucatán, C.P. 97000, Mérida, Yucatán, México. A16016280@alumnos.uady.mx, avera@correo.uady.mx, julio.diaz@correo.uady.mx, juan.ucan.uady.mx


Resumen

La tarea de priorización de requisitos resulta crítica para realizar un correcto proceso de requisitos software, y dada su naturaleza altamente social, es menester tener claridad de los factores sociales y culturales que inciden en dicho proceso. El presente estudio tiene como objetivo elaborar un estado del arte sobre los factores sociales y culturales, así como las técnicas vinculadas con la tarea de priorización de requisitos en el contexto del desarrollo de software. Para ello se especificaron 4 preguntas de investigación que sirvieron para guiar una revisión sistemática de literatura con la que se seleccionaron y analizaron 54 estudios primarios obtenidos de cuatro Bases de Datos y un repositorio. Entre los hallazgos se encontraron cinco categorías de factores sociales y culturales: comunicación, entendimiento del dominio, entendimiento de los stakeholders, influencias culturales y sociales, y manejo de múltiples stakeholders; así mismo, entre las técnicas que consideran dichos factores se pudieron identificar tres categorías: centradas en el usuario, centradas en patrones y basadas en la negociación, siendo la primera categoría la que concentra el mayor número de técnicas encontradas.

Palabras-clave: Factores sociales y culturales; Priorización de requisitos; Desarrollo de Requisitos de Software

Abstract

The task of prioritizing requirements is critical to carrying out a correct software requirements process, and given its highly social nature, it is necessary to be clear about the social and cultural factors that affect said process. The objective of this study is to develop a state of the art on social and cultural factors, as well as the techniques linked to the task of prioritizing requirements in the context of software development. To this end, 4 research questions were specified that served to guide a systematic literature review with which 54 primary studies obtained from four databases and a repository were selected and analyzed. Among the findings were five categories of social and cultural factors: communication, domain understanding, stakeholder understanding, cultural and social influences, and management of multiple stakeholders; Likewise, among the techniques that consider these factors, three categories could be identified: user-centered, pattern-centered, and negotiation-based, with the first category concentrating the largest number of techniques found.

Keywords: Social and Cultural Factors; Software Requirements Development; Requirements Prioritization

1. Introducción

La industria del Software ha crecido exponencialmente en el presente siglo, diversas tareas y actividades se han ido automatizando a un ritmo acelerado lo cual ha generado una gran demanda por disponer de software con prestaciones innovadoras; lo anterior, ha generado como resultado avances significativos en la investigación y estandarización de las diferentes tareas y actividades del proceso software. En el contexto de la primera fase del desarrollo software, la tarea de priorización de requisitos resulta crítica para realizar un correcto proceso de requisitos software, y dada su naturaleza altamente social, el Analista de Requisitos requiere interactuar con los interesados del sistema, por lo cual es deseable disponer del conocimiento vinculado con los factores sociales y culturales que impactan a dicha actividad. En la literatura, han sido identificado diversos factores sociales y culturales (Morales & Vega, 2018), para los cuales existen estudios que discuten en qué consisten, así como propuestas para gestionarlos, no obstante, dichos estudios al encontrarse aislados y por ende, tener un alcance limitado ofrecen conclusiones que no son generalizables.

En el contexto del proceso de requisitos, la construcción de un cuerpo de conocimientos ha avanzado a pasos agigantados con investigaciones que buscan contribuir a dicha fase del proceso de desarrollo software, en particular, sobre la tarea de priorización de requisitos (Alsanoosy, Spichkova & Harland, 2018; Hujainah et al, 2018; Riegel & Doerr, 2015; Sher et al, 2014; Thakurta, 2017). Entre los hallazgos reportados, los autores identificaron una carencia de estudios secundarios que ofrezcan un panorama general de los aspectos sociales y culturales involucrados en tarea de priorización de requisitos.

El presente artículo describe la Revisión Sistemática de Literatura (RSL) realizada para establecer un estado del arte respecto de factores sociales y culturales vinculados con la tarea de priorización de requisitos en el contexto de la fase de desarrollo de requisitos software. El artículo se organiza de la siguiente manera: la segunda sección presenta un breve marco teórico y un conjunto de estudios secundarios previos vinculados la tarea de priorización de requisitos; la sección 3 describe brevemente la metodología adoptada como guía para el desarrollo del estudio que se describe. Las secciones cuatro y cinco describen las fases de planificación y ejecución del estudio, de acuerdo con la metodología citada en la tercera sección. En la sexta se describen los resultados a las Preguntas de Investigación planteadas para el presente estudio. Finalmente, en la sección siete se presentan las conclusiones del estudio.

2. Antecedentes

La fase de desarrollo de requisitos, en el contexto del proceso software, integra un conjunto de tareas vinculadas con la obtención, análisis, especificación, y validación de los requisitos software (Aguilar, Oktaba y Juárez, 2019); la priorización forma parte de las tareas de la fase de análisis de requisitos; ésta consiste en asignar prioridad a cada uno de los requisitos, pudiéndose clasificar en esenciales, útiles y deseables, siendo los primeros los de mayor prioridad (Hooks, 1993). El objetivo de la tarea de priorización, puede responder a diversos intereses, Sommerville y Sawyer (1997) señalan que dicha tarea tiene como objetivo el determinar la necesidad relativa de los requisitos, con la intención de identificar cuáles son los más críticos para el proyecto, lo anterior, permite refinar el documento de especificación de requisitos, de requisitos potencialmente innecesarios.

Con el propósito de analizar la pertinencia de un nuevo estudio secundario sobre la temática de priorización de requisitos, se realizó una revisión no sistemática identificando cincos estudios secundarios (Alsanoosy, Spichkova & Harland, 2018; Hujainah et al, 2018; Riegel & Doerr, 2015; Sher et al, 2014; Thakurta, 2017), los cuales sirvieron como antecedentes de nuestro estudio. Por cuestiones de espacio, describiremos solo dos de los estudios secundarios analizados.

Sher et al (2014) analizan diferentes aspectos a considerar durante la priorización de requisitos, sobre todo los aspectos del negocio y del cliente, y como las técnicas de priorización actuales los toman en consideración. Las preguntas de investigación establecidas para guiar el estudio son (1) ¿Qué aspectos de los requisitos han sido reportados y validados empíricamente para el proceso de priorización de requisitos de software? y (2) ¿Qué aspectos del negocio o cliente han sido reportados y empíricamente validados para la priorización de requisitos?”. Fueron consultadas siete bases de datos diferentes, estas fueron ACM, IEEE Xplore, Google search, Citeseer, Wiley inter science, ISI web of knowledge y Metapress y, de estas bases de datos, se utilizaron 45 referencias en el estudio final. Como conclusión se obtuvo que la mayoría de las técnicas de priorización actuales no toman en consideración estos aspectos y que, por lo tanto, existe necesidad de investigar a profundidad las técnicas de priorización, así como la manera en que éstas toman en cuenta estos aspectos.

Por su parte, Alsanoosy, Spichkova & Harland (2018) exploran la influencia de la cultura de un lugar con respecto a las actividades de la ingeniería de requisitos, con base en lo reportado por estudios existentes. En este estudio se planteó como pregunta de investigación “¿Cómo influencia la cultura las actividades del proceso de requisitos?”, se consultaron las bases de datos IEEE Xplore, Springer, ACM Digital Library, Science Direct y Scopus, de las cuales se sustrajeron ochenta y un referencias. Los autores de dicho estudio identificaron dieciséis características culturales que influencian las actividades de ingeniería de requisitos.

3. Metodología de Investigación

El presente es un estudio secundario en el que se utilizó como referencia la guía propuesta por Kitchenham & Charters (2007) para realizar Revisiones Sistemáticas de Literatura (RSL). Para incrementar el conjunto de estudios primarios relevantes, los autores complementaron el proceso de selección con la técnica bola de nieve hacia adelante (Wohlin, 2014).

4. Planificación del Estudio

4.1. Formulación de las Preguntas de Investigación

De acuerdo con el marco teórico del tema y con base en el análisis de los estudios secundarios previos encontrados, los autores especificaron un conjunto de Preguntas de Investigación (PI), las cuales sirvieron para guiar el presente estudio:

  • PI1. ¿Cuál ha sido la tendencia en investigación en el área de priorización de requisitos software durante el presente siglo?

  • PI2. ¿Cuáles son los métodos de investigación utilizados por los estudios realizados durante el presente siglo en el contexto de la investigación en priorización de requisitos durante el presente siglo?

  • PI3. ¿Cuáles son los factores sociales y culturales de los stakeholders considerados en la priorización de requisitos durante el presente siglo?

  • PI4. ¿Cuáles son las técnicas de priorización de requisitos que consideran factores sociales o culturales en su implementación, en los estudios realizados durante el presente siglo?

4.2. Definición de la Estrategia de Búsqueda

Con base en el marco teórico y el análisis de los estudios secundarios previos, se seleccionaron como fuentes de información: IEEE Xplore, ACM Digital Library, ScienceDirect y SpringerLink; adicionalmente, con el propósito de identificar estudios relevantes de otras fuentes no consideradas se decidió agregar el repositorio Google Scholar. De acuerdo con las Preguntas e Investigación (PI) acordadas, se seleccionó un conjunto limitado de palabras clave que pudieran servir para identificar estudios primarios pertinentes con la temática del estudio: factores (y conceptos asociados), requisitos, priorización, software. Con base en las palabras clave, se construyeron un conjunto de cadenas de búsqueda, las cuales serían utilizadas en la fase de ejecución. Las cadenas desarrolladas son:

  • CB1. Social AND (factors OR Issues OR Problems OR Aspects) AND Software AND Requirements AND prioritization

  • CB2. Software AND Requirements AND Prioritization AND ("Social Issues" OR "Social aspects" OR "Cultural Considerations")

  • CB3. Software AND Requirements AND Prioritization AND (Culture OR Social OR Entomology OR Sociology)

4.3. Criterios de Selección

Para seleccionar los estudios primarios vinculados con la temática y los que realmente proporcionan información relevante, en función de las PI, se establecieron un conjunto de criterios de selección, clasificados en Criterios de Inclusión (CI) y Criterios de Exclusión (CE). Los criterios acordados son los siguientes:

Criterios de inclusión:

  • CI1. Estudios publicados en revistas especializadas o en memorias de congresos.

  • CI2. Estudios publicados entre el año 2000 y el 2022.

  • CI3. Estudios de investigación empírica que traten de forma específica los aspectos o factores sociales ligados a la priorización de requisitos.

  • CI4. Estudios publicados en idioma inglés.

Criterios de exclusión:

  • CE1. Estudios duplicados (se mantiene la fuente original).

  • CE2. Estudios de los que no se tuvo acceso al contenido.

4.4. Técnica de Bola de Nieve hacia adelante

Para incrementar y mejorar el número de estudios primarios pertinentes, se decidió utilizar la técnica denominada bola de nieve hacia adelante (Wohlin, 2014), dicha técnica sería aplicada al el primer conjunto de estudios seleccionado; como herramienta para asistir dicha técnica se propone el uso de Google Scholar, el cual es un motor de búsqueda de contenido y bibliografía científico-académica permite identificar, con cierta vigencia, los artículos que han citado a una publicación.

4.5. Mecanismo de Evaluación de la Calidad de los EPS

El mecanismo de evaluación de la calidad en una RSL es imperativo para garantizar la validez y confiabilidad de los hallazgos descritos en los EPS, aparte de que permite ponderar la importancia de cada uno de los n estudios (Kitchenham, Budgen & Brereton, 2015). Ante la diversidad de metodologías de investigación utilizadas en los estudios empíricos en el contexto de la Ingeniería de Software, se decidió a adaptar el instrumento propuesto por Dyba & Dingsøyr (2008), obteniendo uno integrado por nueve ítems; dicho instrumento considera los criterios: (1) Calidad del informe, (1) Rigor, (3) Relevancia y (4) Credibilidad. La descripción de los criterios así como el instrumento resultante luego de su adaptación a nueve ítems, es descrito en mayor detalle en (Santos et al, 2024).

5. Ejecución del Estudio

5.1. Selección de los estudios primarios

Para la selección de los estudios primarios, se configuraron las cadenas de búsqueda elaboradas de acuerdo con los gestores de las bases de datos. Posteriormente se aplicaron los criterios de selección (CI/CE) obteniendo un total de treinta y nueve estudios primarios; la Tabla 1 ilustra el proceso por cada base de datos en las sus tres etapas.

Tabla 1 Número de EPS por fuente en cada etapa del proceso 

Base de Datos Cadena Configurada CI CE
IEEE Xplore 20 9 9
ACM-DL 232 6 5
ScienceDirect 133 13 10
SpringerLink 357 16 13
Google Scholar 3,890 4 2

Para completar el proceso de selección, se administró la técnica de bola de nieve hacia adelante al conjunto de treinta y nueve estudios primarios, identificando una grupo adicional de quince artículos pertinentes para el estudio, obteniendo de esta manera, un total de cincuenta y cuatro EPS.

5.2. Evaluación de la calidad de los EPS

La evaluación de la calidad para el conjunto de 54 EPS, se sintetiza en la información proporcionada en la Tabla 2; en términos generales, podemos concluir que la calidad de los EPS es pertinente para nuestro estudio.

Tabla 2 Valoración de la Calidad del Conjunto de EPS 

Criterio Valoración
Cuantitativa Cualitativa
Calidad del Informe 92/108 ( 85% Perfecto
Rigor 134/162 ( 83% Perfecto
Credibilidad 99.5/162 ( 61% Bueno
Relevancia 51.5(54 ( 93% Perfecto

6. Resultados del Estudio

Con base en el análisis de los 54 EPS, las respuestas a las preguntas investigación son las siguientes:

PI1. ¿Cuál ha sido la tendencia en investigación en el área de priorización de requisitos software durante el presente siglo?

Desde principios de siglo y hasta el año 2015, se mantuvo poca producción sobre la temática de interés, en promedio un artículo por año; sin embargo, de 2015 a la fecha se observa un incremento importante en el interés en investigación sobre el tema de los factores sociales y culturales en la priorización de requisitos, en promedio cinco artículos por año. La Figura 1 ilustra la distribución de las publicaciones por año en la ventana de tiempo considerada.

Figura 1 Frecuencia de los EPS por año de publicación en la ventana de tiempo 

PI2. ¿Cuáles son los métodos de investigación utilizados por los estudios realizados durante el presente siglo en el contexto de la investigación en priorización de requisitos durante el presente siglo?

De interés para los investigadores resultaba el conocer el tipo de investigación empírica realizada, a efecto de identificar el grado de profundización en el conocimiento de la temática. En la Figura 2 se puede observar que el Estudio de Caso es la técnica más recurrida con 21 de los 54 estudios, seguida por el Método Experimental con 20 estudios y en un tercer muy lejano, la Encuesta con 11 estudios. De acuerdo con Robson (2011) los niveles en los que se encuentra la investigación en tono a la priorización de requisitos, se presenta en los niveles: exploratoria, descriptiva y causa-efecto; con excepción de dos estudios que declaran el uso de Investigación-Acción con el propósito de mejora.

Figura 2 % de EPS clasificados por método empírico utilizado 

PI3. ¿Cuáles son los factores sociales y culturales de los stakeholders considerados en la priorización de requisitos durante el presente siglo?

Con base en el análisis de factores sociales y culturales citados de manera explícita o implícita con algún grado de influencia al proceso de priorización en cada uno de los 54 EPS, los autores proponen una tipología integrada por cinco categorías: (a) comunicación, (b) entendimiento del dominio (c) entendimiento de los stakeholders, (d) influencias sociales y culturales, (e) el manejo de múltiples stakeholders, así como (f) métodos mixtos. La Figura 3 ilustra el % de estudios que hacen referencia a cada uno de dichos factores.

Figura 3 % de EPS clasificados por factor social/cultural influyente 

A. Comunicación

Se refiere a la forma en la que debemos comunicarnos con los stakeholders, y se encuentra en función con las costumbres de la cultura dentro de la que se desempeñe esta actividad, los medios por los cuales nos podemos comunicar con ellos para generar un sentimiento de inclusión durante el proceso de requisitos y las consideraciones necesarias respecto a su selección.

En el estudio de Zowghi (2018) se presentaron siete problemas vinculados con la comunicación, siendo estos:

  1. La motivación de los usuarios para llevar a cabo el proceso de requisitos, ya que la falta de la misma afecta en gran medida las actividades de elicitación de requisitos, de negociación y de priorización debido a que estos pueden no tener una comunicación efectiva con los ingenieros de software.

  2. La actitud, debido a que la falta de la misma, al igual que en el caso de la motivación, afecta en la manera en la que los stakeholders se comunican con los ingenieros y, por tanto, en los resultados de dicha comunicación.

  3. Las expectativas, es imperativo comunicar y pedir que nos comuniquen las expectativas de los stakeholders respecto al sistema que se va a desarrollar, para poder definir con base en esto las prioridades de los requisitos y también para evitar desarrollar un sistema el cual no maneje estas de forma efectiva.

  4. El expertise, ya que para llevar una comunicación efectiva con los stakeholders es importante saber con qué tantos tecnicismos o que tan específicamente se pueden tratar los temas referentes al dominio dentro del sistema.

  5. La aceptación o resistencia al cambio, esto se debe considerar debido a que una mayor aceptación de los stakeholders al cambio llevará a que nos comuniquen o que podamos comunicar como prioridad los requisitos que brinden cambios más disruptivos dentro de la organización o sociedad dentro de la que se desempeñará el sistema, mientras que una mayor resistencia al cambio tendrá el efecto contrario.

  6. La cooperación, esta problemática define la intención de los stakeholders de colaborar con los ingenieros durante el proceso de requisitos, comunicando de forma más o menos efectiva sus necesidades y prioridades con respecto al sistema.

  7. Percepción del usuario del equipo de desarrollo, esto impacta grandemente la capacidad del equipo de desarrollo de llevar una comunicación efectiva con los stakeholders ya que una mala percepción del equipo por parte de estos llevará a una subestimación del mismo y, como resultado, a una falta de colaboración, de motivación y el tener una peor actitud durante la comunicación. Por lo tanto, es imperativo crear una buena percepción del equipo de desarrollo por parte de los stakeholders.

Por otro lado, estudios realizados por Bjarnason y Sharp (2015), Ehn et al (2021) y Derntl et. al (2015) se menciona la importancia de la distancia Geográfica como un problema para la comunicación con los stakeholders, el cual impacta tanto al agendar reuniones entre los ingenieros y los stakeholders, como en la elección del medio de comunicación con los mismos.

B. Entendimiento del Dominio

Por entendimiento del dominio consideramos el conocimiento que se debe tener respecto al dominio de la problemática que el sistema abordará, por lo que por esta clasificación se considerarán los roles e interacciones de los diferentes stakeholders dentro del sistema y el entendimiento del ecosistema social en general del dominio del sistema. Dentro de los estudios realizados por Damian et al (2004); Lindgaard et al (2006) se menciona que no tener un correcto entendimiento del dominio, entendiendo por esto como el entendimiento de las necesidades objetivos y prioridades de la organización, suele ser causado por una mala comunicación durante las negociaciones con los stakeholders o un mal entendimiento de los diferentes roles de los stakeholders dentro de la organización. Por su parte Mussbacher et. al (2020) enfatizan la importancia de la consideración de los valores humanos dentro del modelado del dominio del sistema, entendiendo como valores humanos como el conjunto de virtudes que posee una persona u organización las cuales determinan el comportamiento e interacción con otros individuos y el espacio. En otro estudio, Duboc et al (2020b) argumentan que los sistemas de software, al ser impulsores importantes de cambios sociales, deben ser diseñados para mantener la sustentabilidad del amplio sistema socio-técnico al que va a ser integrado, por lo que se menciona la consideración de la sustentabilidad en el modelado del dominio; dichos autores identifican cinco dimensiones de la sustentabilidad que definen la capacidad del perdurar de un sistema socio-tecnológico: (1) Consideraciones ambientales, (2) Consideraciones económicas, refiriéndose al impacto económico que tendrá el sistema dentro de la sociedad en la que este se desempeñe, (3) Consideraciones sociales, (4) Consideraciones individuales, y (5) Consideraciones técnicas.

C. Entendimiento de los Stakeholders

Se refiere al conocimiento que los ingenieros de software poseen respecto a los stakeholders, aspectos como: sus necesidades con respecto al sistema; su estilo de vida; su contexto socio-económico; su nivel de educación y conocimiento técnico del dominio; su edad, género y sus necesidades y expectativas emocionales con respecto al sistema. Rashid (2020) menciona la importancia de considerar la demografía de los stakeholders, argumenta que dependiendo de la demografía, el entendimiento y visualización del mundo y, por ende del problema, varía; comenta también que las prioridades y características preferentes de los stakeholders se encuentran correlacionados con su demografía, por lo que tener este entendimiento respecto a los stakeholders resulta imperativo. Otros estudios como el de Castro et al (2008), Richardson, Al-Ani y Ziv (2010), Miller et al (2015) y Mohabuth (2019) citan un conjunto de datos demográficos a considerar de los stakeholders como los siguientes: (1) Género, (2) Edad, (3) Educación, (4) Estado marital, (5) Localización geográfica, (6) Sueldo, (7) Rol dentro de la organización.

D. Influencias Culturales y Sociales

Esta categoría agrupa las diferencias culturales y sociales entre los Ingenieros de Software y los stakeholders; la cultura del lugar donde se esté llevando a cabo el proceso de requisitos; la jerarquía dentro de la organización donde se esté llevando a cabo el proceso de requisitos; las influencias entre los stakeholders del sistema; y por último la dinámica social dentro de la que se ejecuta el proceso de requisitos.

Autores como (Alsanoosy et. al, 2018), (Brockmann & Thaumuller, 2009); (Alsanoosy, M. Spichkova & J. Harland, 2020a), (Marutschke, 2020), Thanasankit (2002) identificaron un conjunto de factores dentro de esta clasificación:

  • El poder de la distancia: nos referimos a la jerarquía y su importancia dentro de la organización o cultura en la que se desempeña el proceso de requisitos, como puede ser el peso de la opinión de los gerentes dentro de la organización, la importancia de la opinión de las personas mayores dentro de las culturas conservadoras.

  • Individualismo contra el colectivismo: Se refiere al peso que tienen las decisiones y prioridades del sistema con respecto a los beneficios personales frente a los beneficios colectivos que pueden brindar a la organización o sociedad dentro de la que se desempeñará el sistema.

  • Resultados enfocados a largo o corto término: Este factor se refiere al enfoque al que se da importancia durante la priorización de requisitos en la cultura dentro de la que se esté llevando a cabo el proceso de requisitos, ya sea priorizando los resultados inmediatos o los resultados a largo plazo. Las culturas conservadoras suelen enfocarse en los resultados a largo plazo.

  • Masculinidad contra la feminidad: Se refiere al poder de un género sobre el otro dentro de una cultura analizada, en particular, se refiere a la distribución de poder y de los roles entre ambos géneros.

  • Evitación del conflicto y actitudes agresivas: Se refiere a que tan dispuestos están los stakeholders de entrar en conflictos o de tomar actitudes agresivas durante las negociaciones, toma de decisiones y en reuniones en general, lo anterior, con base en la cultura de la organización.

E. Manejo de Múltiples Stakeholders

Para la creación de sistemas a gran escala, o sistemas destinados a un público muy amplio, con stakeholders de diferentes contextos culturales y sociales, la actividad de priorización de requisitos se complica, ya que de manera inevitable los requisitos de varios stakeholders entrarán en conflicto o pueden resultar invisibilizados. Li et al (2018) y Santos et al (2016) analizan la gran variedad de stakeholders dentro del dominio del sistema, y mencionan la necesidad de agruparlos con base en características similares; estas agrupaciones se pueden realizar por medio de los datos demográficos obtenidos respecto a los stakeholders, la categorización de su jerarquía o importancia dentro del sistema, así como de su distribución geográfica, de esta forma se puede llevar a cabo un proceso de elicitación y de priorización de requisitos más ordenado y eficiente.

F. Factores Mixtos

Resulta importante comentar que los estudios cuyas problemáticas y factores sociales se clasifican como “mixtos” se refieren a los estudios que abordan dos o más de estas problemáticas o factores sociales dentro de sí mismos. Se identificaron en combinaron de dos factores: las influencias culturales y sociales con la comunicación, entendimiento del dominio con la comunicación, entendimiento del dominio con el entendimiento de los stakeholders; así mismo, en tres factores: entendimiento del dominio con Influencias culturales y sociales con comunicación, y por último, el entendimiento del dominio con el entendimiento de los stakeholders y con la comunicación. El entendimiento del dominio, que de manera independiente solo fue identificado en el 7% de los estudios, como componente de factores mixtos, aparece en cuatro de las cinco combinaciones identificadas (6 de 8 estudios). Cabe mencionar que en un estudio previo (Santos et al, 2024) se analizan los EPS contrastando el método de investigación con el factor social y cultural involucrado.

PI4. ¿Cuáles son las técnicas de priorización de requisitos que consideran factores sociales o culturales en su implementación, en los estudios realizados durante el presente siglo?

En esta pregunta nos referimos a los métodos, frameworks o técnicas identificadas las cuales consideran dentro de su implementación los factores sociales previamente mencionados o que buscan solventar las diferentes problemáticas sociales identificadas previamente. Como resultado del análisis de los estudios encontrados se identificaron tres categorías diferentes: (1) Centradas en el usuario, (2) Centradas en patrones y (3) Basadas en la negociación. Las Tablas 3, 4 y 5 describen brevemente las técnicas identificadas.

Tabla 3 Técnicas para priorización de requisitos “Centradas en el Usuario” 

Técnica Descripción
Personas Es una técnica que puede resultar muy útil ya que se crea una simulación de los stakeholders y, con base a esta simulación, se lleva a cabo el proceso de requisitos. Castro et al (2008) le encontraron debilidades, como que el 70% de los pasos de implementación se encuentran indefinidos o definidos de forma informal, por tanto los resultados sononsiderablemente informales, por que por sí sola no resulta una técnica muy viable para llevar a cabo las actividades de elicitación y priorización de requisitos.
Sustainability awareness framework Duboc et al (2020b) proponen el framework Sustainability awareness framework (SuSAF), cuyo objetivo es el crear conciencia respecto a los efectos de la sustentabilidad que el sistema puede tener dentro del contexto en el que se desempeñará. El framework propone la creación de preguntas cuyo objetivo sea concientizar a los stakeholders y, con base en estas, realizar entrevistas con los mismos; dichas preguntas cubren las dimensiones: social, individual, ambiental, económica y técnica.
People oriented software engineering Las técnicas o frameworks orientados a las emociones, abordar las emociones como uno de los impulsores principales de la definición de los requisitos, tomando en cuenta los objetivos y las necesidades emocionales de los stakeholders con respecto al sistema. En el estudio Curumsing et al (2019) se propone el modelo “People-oriented software engineering”; en dicho estudio se abordan las emociones personales, es decir, emociones que el stakeholder siente o que quiere sentir y no se encuentran ligadas al sistema; las emociones específicas del contexto, refiriéndose por esto a las emociones que el stakeholder siente o quiere sentir con respecto al sistema; y, por último, los objetivos emocionales, refiriéndose por esto a los objetivos no funcionales que describen una emoción a nivel reflectivo esperado de un rol dentro del sistema.
Affect grid Colomo-Palacios et al (2011) propone la utilización del “affect grid” -una de las principales herramientas para medir las emociones humanas- para analizar y considerar las emociones de los stakeholders durante el proceso de requisitos. Esta herramienta es bastante simple en su implementación, ya que solamente busca saber cómo se sienten los diferentes stakeholders respecto a algún requisito funcional y, con base en ello, se calcula el sentimiento general respecto al requisito analizado.
GSD-RE Ali & Lai (2016) proponen el método GSD-RE, el cual permite a los stakeholders obtener conciencia respecto a las diferencias geográficas, lingüísticas, temporales y sociales a considerar durante el proceso de requisitos y, como resultado de su utilización, se amplía el entendimiento del dominio del problema y obtienen requisitos de mayor calidad
PHandler Priority Handler (Phandler) es una técnica propuesta en Babar et al (2015), se basa la técnica de priorización de requisitos inteligente orientada al valor (VIRP), en una red neural y en el analytical hierarchical process (AHP) previamente mencionado en el estudio realizado por Saghir & Mustafa (2018).
Macbeth Santos et al (2016) analizan la técnica Measuring Attractiveness by the Categorical Based Evaluation Technique (Macbeth). Consiste en un análisis basado en múltiples criterios, cada criterio es evaluado mediante la cuantificación de qué tan atractiva es una opción frente a las otras. En esta técnica recibe información del usuario y genera una jerarquía de que tan atractivos son los requisitos desde el punto de vista del usuario.

Tabla 4 Técnicas para priorización de requisitos “Centrados en Patrones” 

Técnica Descripción
Minado de Datos Es una técnica con la que se trata de conseguir información relevante proveniente de una base de datos de gran tamaño. Debido a la gran cantidad de información que los stakeholders brindan durante el proceso de requisitos, la creación de nuevos medios de comunicación con los stakeholders y de obtención de requisitos como las redes sociales y las exigencias del mercado actuales este tipo de técnicas ha estado en auge en los últimos años. Nayebi (2018) analiza la factibilidad de obtener nuevos requisitos y prioridades por medio del minado de datos en redes sociales y en tiendas virtuales de aplicaciones.
Taxonomia GRADE Papatheocharous et al (2018) proponen una técnica que ayuda a documentar la decisiones realizadas durante el proceso de requisitos para aprender de estas y comprender mejor las consecuencias de estas a futuro. La taxonomía GRADE analiza cinco items referentes a las decisiones, siendo estos los siguientes: (1) El objetivo que se busca alcanzar con la decisión, (2) Los roles involucrados en la toma de decisión, (3) Las opciones de decisión al momento de realizarla, (4) La manera en la que se decidió, refiriéndose por esto, de que manera se llegó al acuerdo de tomar esta decisión, y (5) El ambiente de la organización en la que esta decisión repercute.
Enfoque basado en términos lingüisticos Gerogiannis & Tzikas (2017) crearon un enfoque, el cuál no nombraron, el cual consiste en que los stakeholders evalúan los requisitos de otros stakeholders utilizando términos lingüísticos para expresar esta evaluación y, con base en esto, obtener el nivel de importancia o relevancia de los requisitos. Este enfoque consiste en los siguientes pasos para su implementación: (1) Especificar el valor de importancia para los stakeholders y determinar el peso de los criterios de priorización, (2) Realizar la evaluación de los requisitos con respecto a los criterios de priorización y (3) Calcular las calificaciones brindadas de los stakeholders con respecto a los requisitos.

Tabla 5 Técnicas para priorización de requisitos “Basadas en la Negociación” 

Técnica Descripción
Uso de redes sociales Seyff et al (2015) y Mughal et al (2018) realizaron un análisis respecto a la creación de grupos de Facebook con los stakeholders, dentro de los cuales se lleva a cabo el proceso de elicitación y priorización de requisitos. Seyff et al (2015) realizaron un experimento donde se implementó este método de comunicación con los stakeholders con un bajo nivel de moderación y, como resultado, se encontró que la falta de moderación fue un factor decisivo en el fracaso de este método, debido a la falta de colaboración e interés de parte de los stakeholders con respecto al proceso de requisitos. En cuanto al nivel de moderación dentro de los grupos de Facebook, Mughal et al (2018) proponen un moderador como un requisito para la utilización de grupos de Facebook como medio de comunicación con los stakeholders y, apoyando este requisito de implementación
CaRE En Elrakaiby et al (2021) se propone la métrica CaRE, que define los defectos existentes en los resultados de la comunicación con los stakeholders y propone operadores de refinamiento para disminuir el efecto de estos defectos. La utilización de CaRE propone una metodología de trabajo, donde los ingenieros consiguen un set inicial de requisitos durante el proceso y, con base en esto, se les pide a los stakeholders: (1) definir los tipos de defectos encontrados dentro de los requisitos y (2) asignarles operadores de refinamiento.

7. Conclusiones y Trabajos Futuros

A partir del análisis de los 54 EPS se pudo identificar que de 2015 a la fecha se ha mantenido un interés significativo de investigación sobre la temática de los factores sociales y culturales en el contexto de la priorización de requisitos; así mismo, en cuanto al grado de profundización, con base en el tipo de estudio empírico realizado, es posible concluir que existe una variedad de estudios exploratorios, descriptivos y de análisis de relaciones causa-efecto, por lo que es posible afirmar que es necesario profundizar en la investigación sobre la temática seleccionada mediante estudios de investigación-acción. En relación con los factores que inciden en el proceso de priorización de requisitos, se identificaron cinco categorías de factores culturales y sociales: (a) comunicación, (b) el entendimiento del dominio, (c) el entendimiento de los stakeholders, (d) las influencias culturales y sociales, y (e) el manejo de múltiples stakeholders. Siendo la (a), (c) y (d) las más utilizadas en los estudios analizados (71%). En cuanto a las técnicas, frameworks y métodos que consideran aspectos culturales y sociales para llevar a cabo las actividades de elicitación y priorización de requisitos, se encontró una tendencia actual por técnicas centradas en el usuario, donde hubieron más resultados y se encontró que existe cierta escasez por las basadas en la negociación con los stakeholders, por lo que realizar investigación respecto a este tema específico a futuro es de interés.

Derivado de nuestro análisis, se encontró que de las técnicas actuales muy pocas logran solventar o abordar apropiadamente las problemáticas encontradas dentro del proceso de requisitos en desarrollos globales, donde los factores sociales específicos de este tipo de desarrollos no son considerados de forma apropiada, por lo que se concluye como tema de interés para investigaciones futuras.

Referencias

Aguilar, R., Oktaba, H. & Juárez, R. (2019). Introducción a la Ingeniería de Software. En Aguilar, R. (ed.) Ingeniería de Software en México: Educación, Industria e Investigación. Academia Mexicana de Computación, (pp. 3-5). [ Links ]

Alsanoosy, T., Spichkova, M. & Harland, J. (2018). Cultural Influences on the Requirements Engineering Process: Lessons Learned from Practice. 2018 23rd International Conference on Engineering of Complex Computer Systems (ICECCS). https://doi.org/10.1109/iceccs2018.2018.00015. [ Links ]

Alsanoosy, T., Spichkova, M., & Harland, J. (2020). Cultural influence on requirements engineering activities: a systematic literature review and analysis. Requirements Engineering, 25(3), 339-362. [ Links ]

Bjarnason, E. & Sharp, H. (2015). The role of distances in requirements communication: a case study. Requirements Engineering , 22(1), 1-26. [ Links ]

Brockmann, P. S. & Thaumuller, T. (2009). Cultural Aspects of GlobalRequirements Engineering : An Empirical Chinese-German Case Study. 2009 Fourth IEEE International Conference on Global Software Engineering. [ Links ]

Castro, J., Acuña, S. & Juristo, N. (2008). Enriching requirements analysis with the Personas technique. Interplay between Usability Evaluation and Software Development. [ Links ]

Colomo-Palacios, R., Casado-Lumbreras, C., Soto-Acosta, P., & García-Crespo, A. (2011). Using the Affect Grid to Measure Emotions in Software Requirements Engineering . CERN European Organization for Nuclear Research - Zenodo. [ Links ]

Curumsing, M. K., Fernando, N., Abdelrazek, M., Vasa, R., Mouzakis, K. & Grundy, J. (2019). Emotion-oriented requirements engineering: A case study in developing a smart home system for the elderly. Journal of Systems and Software, 147, 215-229. https://doi.org/10.1016/j.jss.2018.06.077 [ Links ]

Damian, D., Zowghi, D., Vaidyanathasamy, L. & Pal, Y. (2004). An Industrial Case Study of Immediate Benefits of Requirements Engineering Process Improvement at the Australian Center for Unisys Software. Empirical Software Engineering, 9(1/2), 45-75. [ Links ]

Derntl, M., Renzel, D., Nicolaescu, P., Koren, I. & Klamma, R. (2015). Distributed Software Engineering in Collaborative Research Projects. 2015 IEEE 10th International Conference on Global Software Engineering. [ Links ]

Duboc, L., Penzenstadler, B., Porras, J., Akinli Kocak, S., Betz, S., Chitchyan, R., Leifler, O., Seyff, N. & Venters, C. C. (2020). Requirements engineering for sustainability: an awareness framework for designing software systems for a better tomorrow. Requirements Engineering , 25(4), 469-492. [ Links ]

Dyba, T., & Dingsøyr, T. (2008). Strength of evidence in systematic reviews in software engineering. Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement. [ Links ]

Ehn, M., Derneborg, M., Revenäs, S. & Cicchetti, A. (2021). User-centered requirements engineering to manage the fuzzy front-end of open innovation in e-health: A study on support systems for seniors’ physical activity. International Journal of Medical Informatics, 154, 104547. [ Links ]

Elrakaiby, Y., Borgida, A., Ferrari, A. & Mylopoulos, J. (2021). CaRE: a refinement calculus for requirements engineering based on argumentation theory. Software and Systems Modeling, 21(6), 2113-2132. [ Links ]

Gerogiannis, V. C., & Tzikas, G. (2017). Using Fuzzy Linguistic 2-Tuples to Collectively Prioritize Software Requirements based on Stakeholders' Evaluations. In Proceedings of the 21st Pan-Hellenic Conference on Informatics, pp. 1-6. [ Links ]

Hooks, I. (1993). Writing Good Requirements, A requirements Working Group Information Report. Proceedings of the Third International Symposium of the INCOSE. [ Links ]

Hujainah, F., Abu Bakar, R. B., Al-Haimi, B., & Abdulgabber, M. A. (2018). Stakeholder quantification and prioritisation research: A systematic literature review. Information and Software Technology, 102, 85-99. [ Links ]

Kitchenham, B. A., Budgen, D., & Brereton, P. (2015). Assessing Study Quality. In Evidence-Based Software Engineering and Systematic Reviews, (pp. 79-88). CRC Press. [ Links ]

Li, C., Huang, L., Ge, J., Luo, B., & Ng, V. (2018). Automatically classifying user requests in crowdsourcing requirements engineering. Journal of Systems and Software, 138, 108-123. [ Links ]

Marutschke, D. M., Kryssanov, V. V. & Brockmann, P. (2020). Teaching Distributed Requirements Engineering : Simulation of an Offshoring Project with Geographically Separated Teams. 2020 IEEE 32nd Conference on Software [ Links ]

Miller, T., Pedell, S., Lopez-Lorca, A. A., Mendoza, A., Sterling, L. & Keirnan, A. (2015). Emotion-led modelling for people-oriented requirements engineering: The case study of emergency systems. Journal of Systems and Software, 105, 54-71. https://doi.org/10.1016/j.jss.2015.03.044 [ Links ]

Mohabuth, A. (2019). Software Practitioners Challenges in the Requirement Engineering Phase of Software Development. PSENR-19, LCABES-19, L2HSS-19 & ABLE-19 June 19-21, 2019 Lisbon (Portugal). [ Links ]

Morales, N., & Vega, V. (2018). Factores Humanos y la Mejora de Procesos de Software: Propuesta inicial de un catálogo que guíe su gestión. RISTI - Revista Ibérica de Sistemas y Tecnologías de Información, (29), 30-42. [ Links ]

Mughal, S., Abbas, A., Ahmad, N., & Khan, S. U. (2018). A social network based process to minimize in-group biasedness during requirement engineering. IEEE Access, 6, 66870-66885. [ Links ]

Mussbacher, G., Hussain, W. & Whittle, J. (2020). Is There a Need to Address Human Values in Domain Modelling? 2020 IEEE Tenth International Model-Driven Requirements Engineering (MoDRE). [ Links ]

Nayebi, M., Cho, H., & Ruhe, G. (2018). App store mining is not enough for app improvement. Empirical Software Engineering, 23, 2764-2794. [ Links ]

Papatheocharous, E., Wnuk, K., Petersen, K., Sentilles, S., Cicchetti, A., Gorschek, T., & Shah, S. M. A. (2018). The GRADE taxonomy for supporting decision-making of asset selection in software-intensive system development. Information and Software Technology ,100, 1-17. [ Links ]

Rashid, A. (2020). Conceptualization of smartphone usage and feature preferences among various demographics. SpringerLink. [ Links ]

Richardson, D., Al-Ani, B., & Ziv, H. (2010). Requirements engineering at the margins: avoiding technological hubris through alternative approaches. In Proceedings of the FSE/SDP workshop on Future of software engineering research, (pp. 303-308). [ Links ]

Riegel, N., & Doerr, J. (2015). A systematic literature review of requirements prioritization criteria. In International Working Conference on Requirements Engineering : Foundation for Software Quality, (pp. 300-317). Springer, Cham. [ Links ]

Robson, C. (2011). Real World Research: A Resource for Social Scientists and Practitioner-Researchers. 3a Ed, Wiley. [ Links ]

Saghir, S. & Mustafa, T. (2018). Requirements Prioritization Techniques for Global Software Engineering. Pakistan Journal of Engineering, Technology & Science, 6(1). https://doi.org/10.22555/pjets.v6i1.1143 [ Links ]

Santos, R., Albuquerque, A., & Pinheiro, P. R. (2016). Towards the applied hybrid model in requirements prioritization. Procedia Computer Science, 91, 909-918. [ Links ]

Santos, R., Aguilar, R., Díaz, J. & Ucán, J. (2024) Estudio Secundario sobre Factores Sociales que Inciden en la Priorización de Requisitos Software. Memorias del Congreso Internacional de Mejora de Procesos 2023. IEEE. [ Links ]

Seyff, N., Todoran, I., Caluser, K., Singer, L. & Glinz, M. (2015). Using popular social network sites to support requirements elicitation, prioritization and negotiation. Journal of Internet Services and Applications, 6(1). [ Links ]

Sher, F., Jawawi, D., Mohamad, R. & Babar, M. (2014). Requirements prioritization techniques and different aspects for prioritization a systematic literature review protocol. 8th. Malaysian Software Engineering Conference, 31-36. [ Links ]

Sommerville, I. & Sawyer, P. (1997) Requirements Engineering : A good practice guide. WILEY. [ Links ]

Thakurta, R. (2017). Understanding requirement prioritization artifacts: a systematic mapping. Requirements Eng 22, 491-526. [ Links ]

Thanasankit, T. (2002). Requirements engineering-exploring the influence of power and Thai values. European Journal of Information Systems. https://doi.org/10.1057/palgrave.ejis.3000423 [ Links ]

Wohlin, C. (2014). Guidelines for snowballing in systematic literature studies and a replication in software engineering. Proceedings of the 18th ICE & A in SE.. [ Links ]

Zowghi, D. (2018). «Affects» of User Involvement in Software Development. 2018 1st International Workshop on Affective Computing for Requirements Engineering (AffectRE). https://doi.org/10.1109/affectre.2018.00008 [ Links ]

Recibido: 08 de Noviembre de 2023; Aprobado: 11 de Febrero de 2024

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons