Abstract— Due to the variability of variables, the estimation of effort in software development is considered as a very difficult task. Maybe due to small databases, uncertain and very subjective information. For these reason, in this paper, we introduce a study of the effect of variables in the software development effort estimation process. The estimation employing lines of codes, function points and engineering task, were taken as reference. With the use of datamining and machine learning technics, were demonstrated that the effort estimation using engineering task is more accurate. And, by the other hand, was established the influence of each variable, in the software development effort estimation process. Keywords— Datamining, Effort estimation, Decision Trees, Regression Trees, Software metrics, Software projects, Variables selection. I. INTRODUCCIÓN N la actualidad, la estimación del esfuerzo de desarrollo de software es una tarea complicada debido a la gran cantidad de factores que influyen en la misma. Es necesario disponer de la información de proyectos concluidos, tal que permita establecer un modelo de relaciones entre las variables utilizadas en los proyectos y el esfuerzo necesario para su desarrollo. Múltiples modelos de estimación del esfuerzo de desarrollo de software han sido propuestos hasta el momento. Los métodos basados en regresión son los más comunes. Mientras que le siguen los métodos basados en el criterio de expertos y en analogía [1]. Recientemente, los modelos basados en técnicas de aprendizaje automático han recibido mayor atención. Donde, las técnicas más empleadas son las redes neuronales, algoritmos genéticos, árboles de decisión y regresión, algoritmos de agrupamiento, basados en casos, multiclasificadores, entre otras técnicas de minería de datos [1]–[9]. En comparación con otros escenarios en los que han sido aplicadas exitosamente las técnicas de aprendizaje automático, la estimación del esfuerzo de desarrollo de software posee muchos otros retos como: bases de datos pequeñas y, desactualizadas, información imprecisa, incompleta y altamente subjetiva, datos cualitativos, entre otros. Así como que estas bases de datos se basan en información obtenida empíricamente y no como parte de un proceso sistemático. Es H. Velarde, Facultad de Ciencias e Ingenierías. Físicas y Formales, Universidad Católica de Santa María, Arequipa, Perú, hvelardeb@gmail.com. C. Santiesteban, Centro de Bioplantas, Universidad de Ciego de Ávila, Cuba, cosme@bioplantas.cu. A. García, División Territorial Villa Clara, DESOFT, Cuba, anamaria.garcia@vcl.desoft.cu. J. Casillas, Departamento de Ciencias de la Computación e Inteligencia Artificial, Universidad de Granada, España, casillas@decsai.ugr.es. por ello que a pesar de los esfuerzos realizados, aún no se logran modelos capaces de estimar el esfuerzo de desarrollo de software con adecuada precisión [7], [10], [11]. En el presente artículo se propone realizar un estudio, a partir de la aplicación de técnicas de minería de datos y aprendizaje automático, que permita establecer cuál es la influencia de cada una de las variables utilizadas en el proceso de estimación del esfuerzo de desarrollo de software. El artículo está estructurado como sigue: la sección de materiales y métodos donde se muestra cómo se realizó la selección de los datos empleados, el diseño de la experimentación y el método de evaluación de la influencia de las variables en la estimación del esfuerzo de desarrollo de software. La sección de análisis y discusión de los resultados, donde se mide la influencia de cada variable en la estimación y los algoritmos que mejor la describen. Finalmente, las conclusiones del trabajo resumen los resultados encontrados y su discusión. II. MATERIALES Y MÉTODOS La propuesta de la investigación se centra en el análisis de la influencia de las variables empleadas en la estimación del esfuerzo de desarrollo de software, a partir de un conjunto de factores conocidos en las fases iniciales del proyecto. Las variables propuestas recopilarán la información de los datos que son conocidos o estimables en las fases iniciales. Todas las bases de datos empleadas en esta investigación, así como las pruebas estadísticas, pueden ser consultadas desde nuestro sitio web de materiales suplementarios (https://sites.google.com/site/seebetrepository/). A. Bases de datos Para realizar el análisis, fueron seleccionadas bases de datos públicas, extraídas del repositorio PROMISE (PRedictOr Models In Software Engineering Software) [12] y un repositorio de tareas de ingeniería obtenidas de aplicaciones de software de base de datos, implementadas por los centros de desarrollo de software de la Universidad de Ciencias Informáticas de las provincias de Las Villas y Ciego de Ávila en Cuba (Universidad de Ciencias Informáticas de Cuba, URL: http//:www.uci.cu). Estas bases de datos fueron separadas en tres grupos, las basadas en: conteo de líneas de código, puntos de función y órdenes de trabajo. • Basadas en conteo de líneas de código (LOC) A raíz de la aparición del modelo COCOMO [13], se ha estandarizado el empleo de una serie de variables para la estimación del esfuerzo de desarrollo de software. Éstas, describen características de los proyectos en cuanto a: tipo de software, tipo de hardware, personal que participará en el proyecto y datos propios de la organización. No obstante, H. Velarde, C. Santiesteban, A. García and J. Casillas Analyzing the Effect of Variables in the Software Development Effort Estimation E IEEE LATIN AMERICA TRANSACTIONS, VOL. 14, NO. 8, AUG. 2016 3797