Resumen:
|
[ES] Actualmente, no es posible hablar de proyectos de desarrollo de software sin tener en cuenta el esfuerzo necesario para llevarlos a cabo. La complejidad de estos proyectos es cada vez más elevada, requiriendo una gran ...[+]
[ES] Actualmente, no es posible hablar de proyectos de desarrollo de software sin tener en cuenta el esfuerzo necesario para llevarlos a cabo. La complejidad de estos proyectos es cada vez más elevada, requiriendo una gran cantidad de costes, recursos y tiempo en su desarrollo. Ante esto, surge una nueva metodología para la realización de proyectos de desarrollo de software, la metodología ágil.
La metodología ágil permite adaptar la forma de trabajo a las condiciones requeridas, consiguiendo flexibilidad e inmediatez en la respuesta para amoldar el proyecto y su desarrollo a las circunstancias específicas del entorno. De este modo, el empleo de estas metodologías en proyectos con numerosos cambios en su desarrollo, permitiendo lograr un mayor control y capacidad de predicción con menores costes e iteraciones, obteniéndose mejores resultados.
En este TFG, la estimación del esfuerzo requerido en proyectos de desarrollo de software con metodología ágil será analizada con el uso de técnicas de over-sampling. La aplicación de over-sampling posibilita la obtención de casos sintéticos a partir de los casos existentes en un dataset previo. De esta manera, permite igualar el número de casos de cada subgrupo de un mismo dataset, mejorando la precisión de los modelos de clasificación construidos a partir de dicho conjunto de datos. En particular, se empleará la famosa técnica de SMOTE (Synthetic Minority Oversampling Technique), cuya característica principal reside en que la generación sintética de los casos se obtiene a partir de los k-vecinos más cercanos.
Así pues, en este TFG se planteará la generación sintética de casos en proyectos llevados a cabo con metodología ágil y así compararlos con otros subsets de proyectos tradicionales en términos de estimación de esfuerzo y costes. Con ello, se pretende visualizar si, ante el limitado y reducido número de proyectos de metodología ágil, al aplicar SMOTE y elevar el número de casos, es posible considerar este tipo de proyectos como una alternativa real, en referencia a esfuerzo y costes, a los proyectos de metodologías tradicionales.
Cabe destacar que el lenguaje de programación sobre el que se implementarán los diversos algoritmos para la realización de este TFG será Python. Asimismo, los proyectos empleados (tanto de metodología ágil como de metodología tradicional), han sido obtenidos de los repositorios de la base de datos ISBSG. En concreto, se trabajará el repositorio ISBSG Release 2017 R1 que consta de 51 proyectos de desarrollo ágil.
[-]
[EN] Nowadays, it is not possible to talk about software development projects without taking into account the effort required to carry them out. The complexity of these projects is increasingly high, requiring a large ...[+]
[EN] Nowadays, it is not possible to talk about software development projects without taking into account the effort required to carry them out. The complexity of these projects is increasingly high, requiring a large amount of costs, resources and time in their development. In response to this, a methodology has emerged for carrying out software development projects, the agile methodology.
The agile methodology allows adapting the way of working to the required conditions, achieving flexibility and immediacy in the response to adapt the project and its development to the specific circumstances of the environment. In this way, the use of these methodologies in projects with numerous changes in their development allows greater control and predictability with lower costs and iterations, obtaining better results.
In this TFG, the estimation of the effort required in software development projects with agile methodology will be analysed with the use of over-sampling techniques. The application of over-sampling makes it possible to obtain synthetic cases from the existing cases in a previous dataset. In this way, it allows to equalise the number of cases of each subclass of the same dataset, improving the accuracy of the classification models built from that dataset. In particular, the famous SMOTE (Synthetic Minority Oversampling Technique) technique will be used, whose main feature is that the synthetic generation of the cases is obtained from the k-nearest neighbours.
Thus, in this dissertation we will consider the synthetic generation of projects from projects developed following both agile and traditional methodologies. In this way, the different subsets generated depending on the type of methodology can be compared in terms of effort estimation. The aim is to validate whether the effort estimation method for software projects developed using traditional methodologies can be transferred to agile projects. Given the small number of agile methodology projects, SMOTE is applied prior to the estimation to increase the number of cases.
It should be noted that the programming language used to implement the various algorithms for this dissertation will be Python. Likewise, the subsets of projects (both agile and traditional methodology) have been extracted from the ISBSG Release 2017 R1 repository, which consists of a total of 8012 projects and 252 variables.
[-]
|