Software Effort Estimation: a Review of Taxonomies for use to-wards a Probabilistic Evidence Synthesis
Este artículo presenta una revisión sistemática de la literatura de seis taxonomías de estimación del esfuerzo de software, revelando una fragmentación estructural significativa, una falta de cobertura para dominios de aplicación emergentes como la telefonía móvil y la IA, y una ausencia general de validación externa, resaltando así la necesidad urgente de una taxonomía unificada y validada por la industria.
Artículo original bajo licencia CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Todo proyecto de software, desde una simple aplicación móvil hasta un complejo sistema bancario, comienza con una pregunta que es engañosamente simple: ¿cuánto trabajo tomará esto? En el mundo de la ingeniería de software, esto se conoce como estimación de esfuerzo. Es el proceso de predecir el tiempo y los recursos necesarios para construir una pieza de software antes de que se escriba una sola línea de código. Esta predicción es vital; determina el presupuesto, el cronograma y si un proyecto puede contar con el personal adecuado. Sin embargo, predecir el futuro del software es notoriamente difícil porque los factores que influyen en cuánto tarda un proyecto son vastos, variados y, a menudo, inciertos. Un proyecto podría prolongarse porque el equipo carece de experiencia, porque la tecnología es nueva o porque los requisitos cambian constantemente. Para dar sentido a este caos, los investigadores han pasado décadas intentando organizar estos factores en listas estructuradas, o taxonomías, que actúan como mapas para ayudar a los expertos a navegar por el complejo terreno del desarrollo de software.
A pesar de la clara necesidad de tales mapas, una nueva revisión del campo revela que los mapas existentes están fragmentados e incompletos. Emilia Mendes y Marc Solé Estragués, investigadores de la Universidad de Aarhus en Dinamarca, se propusieron examinar todos los sistemas de clasificación conocidos para la estimación del esfuerzo de software. Su objetivo era ver si estos sistemas podían combinarse para crear una herramienta unificada para el futuro, o si eran demasiado diferentes para ser reconciliados. Realizaron una revisión sistemática, un método riguroso de búsqueda en la literatura científica para encontrar y analizar cada estudio relevante que propusiera una forma de categorizar los factores que afectan el trabajo de software. Tras filtrar miles de artículos de las principales bases de datos académicas, encontraron solo seis estudios que realmente propusieran una taxonomía para este propósito específico. Este pequeño número fue en sí mismo un hallazgo significativo, lo que sugiere que, si bien el problema es bien conocido, el esfuerzo por resolverlo ha sido esporádico y disperso durante las últimas dos décadas.
Los investigadores examinaron luego estas seis taxonomías en detalle, observando cómo fueron construidas y qué contenían. Descubrieron que los mapas fueron trazados en estilos muy diferentes. Algunos eran amplios, cubriendo desde el tamaño del software hasta la experiencia del equipo y las técnicas específicas utilizadas para realizar la estimación. Otros eran estrechos, centrándose en un solo aspecto, como únicamente el tamaño del código o únicamente los métodos utilizados para predecir el trabajo. Las estructuras variaban enormemente, con algunas listas que contenían apenas un puñado de categorías y otras que se extendían hacia cientos de detalles específicos. Cuando los investigadores compararon las listas lado a lado, buscando términos y conceptos compartidos, descubrieron una falta de acuerdo sorprendente. De cientos de factores específicos enumerados en las seis taxonomías, solo una fracción minúscula se describía de la misma manera. La mayoría de los términos eran únicos de un solo estudio, lo que significaba que dos expertos usando diferentes mapas estarían hablando sin entenderse, usando palabras diferentes para la misma idea o ideas diferentes para la misma palabra.
La revisión también destacó una brecha significativa en la cobertura. Los mapas existentes se centraban fuertemente en tipos tradicionales de software, como aplicaciones empresariales y sistemas embebidos presentes en dispositivos. Sin embargo, ignoraban en gran medida los campos de rápido crecimiento de la inteligencia artificial y las aplicaciones móviles modernas. Además, los investigadores encontraron que la mayoría de estas taxonomías nunca habían sido probadas en el mundo real. Se propusieron como ideas o marcos teóricos, pero había poca evidencia de que realmente ayudaran a los profesionales de la industria a realizar mejores predicciones. Solo una de las seis taxonomías había sido aplicada en un entorno real para ver si funcionaba. Las demás permanecieron sin validar, dejando una interrogante sobre su utilidad práctica.
Los autores argumentan que esta fragmentación es una barrera para el progreso. Cuando los investigadores y los profesionales no pueden acordar un lenguaje común, se vuelve difícil compartir conocimientos, comparar resultados o construir sobre los descubrimientos previos. La revisión sugiere que el campo debe ir más allá de estas listas aisladas. Los investigadores proponen que el siguiente paso es, o bien extender los mapas existentes para cubrir las áreas faltantes del desarrollo de software, o bien construir una taxonomía única y unificada que cubra todos los tipos de software. Tal sistema unificado tendría que ser probado en la industria para asegurar que es realmente útil. Hasta entonces, el campo sigue siendo una colección de islas desconectadas, donde el potencial para un entendimiento claro y compartido del esfuerzo de software aún está esperando ser realizado.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.