Dirección de un proyecto software real

En el presente Trabajo de Fin de Grado se recoge el proceso de desarrollo de un proyecto de software de mano de los alumnos de la asignatura Ingeniería de Software del Grado en Matemáticas e Informática de la Universidad Politécnica de Madrid durante el presente curso. Este proyecto busca acercar a los alumnos la experiencia de trabajo en grupo propia de grandes proyectos de software. Con esto, los alumnos de tercer curso podrán ejercer roles y funciones parecidos a ingenieros profesionales. Mientras, el alumnado de TFG y TFM, podrá comprobar las dificultades que conllevan el liderazgo y la organización de grandes grupos de trabajo. Así, el objetivo de este Trabajo de Fin de Grado es mostrar el proceso de aprendizaje del alumnado, el cual se verá materializado en un software que, si bien no será necesariamente profesional, les permitirá sentirse orgullosos de su resultado y de las habilidades desarrolladas. Para ello será imprescindible enfrentarnos a los distintos retos de crear un software con un gran grupo novicio. Entre ellos, destaca el desarrollo de habilidades en el uso de nuevas tecnologías, estructuración del código, el control de sus versiones y de las conexiones entre las distintas partes o capas existentes. Sin embargo, también será necesario el desarrollo de aspectos interpersonales como la comunicación en distintos niveles, la sincronización necesaria para que nuestro proyecto sea homogéneo y la organización que conlleva. Todo esto será evaluado por un cliente real que nos guiará a través de un entorno similar al de una empresa. Igualmente, haré una valoración general sobre el aprendizaje dinámico y la metodología necesaria para crear una asignatura que motive a los alumnos y les permita aprender de forma autodidacta.
ABSTRACT
This End of Degree Project describes the development process of a software project carried out by the students of the subject Software Engineering of the Degree in Mathematics and Computer Science of the Universidad Politécnica de Madrid during the current academic year. This project aims to provide students with the experience of working together in large software projects. In which third-year students will be able to perform roles and functions similar to professional engineers. Meanwhile, undergradute students will be able to experience the difficulties involved in the leadership and organisation of large working groups. Thus, the aim of this End of Degree Project is to show the students’ learning process, which will be materialised in software that, although it will not necessarily be professional, will allow them to feel proud of their results and the skills they have developed. In order to achieve this, it will be essential to face the different challenges of creating software with a large novice group. These include developing skills in the use of new technologies, structuring the code, version control and the connections between the different parts or layers. However, it will also be necessary to develop interpersonal aspects such as communication at different levels, the synchronisation necessary for our project to be homogeneous and the organisation involved. All this will be evaluated by a real client who will guide us through a companylike environment. I will also make a general assessment of the dynamic learning and methodology necessary to create a subject that motivates and allows students to learn in a self-taught way.

​En el presente Trabajo de Fin de Grado se recoge el proceso de desarrollo de un proyecto de software de mano de los alumnos de la asignatura Ingeniería de Software del Grado en Matemáticas e Informática de la Universidad Politécnica de Madrid durante el presente curso. Este proyecto busca acercar a los alumnos la experiencia de trabajo en grupo propia de grandes proyectos de software. Con esto, los alumnos de tercer curso podrán ejercer roles y funciones parecidos a ingenieros profesionales. Mientras, el alumnado de TFG y TFM, podrá comprobar las dificultades que conllevan el liderazgo y la organización de grandes grupos de trabajo. Así, el objetivo de este Trabajo de Fin de Grado es mostrar el proceso de aprendizaje del alumnado, el cual se verá materializado en un software que, si bien no será necesariamente profesional, les permitirá sentirse orgullosos de su resultado y de las habilidades desarrolladas. Para ello será imprescindible enfrentarnos a los distintos retos de crear un software con un gran grupo novicio. Entre ellos, destaca el desarrollo de habilidades en el uso de nuevas tecnologías, estructuración del código, el control de sus versiones y de las conexiones entre las distintas partes o capas existentes. Sin embargo, también será necesario el desarrollo de aspectos interpersonales como la comunicación en distintos niveles, la sincronización necesaria para que nuestro proyecto sea homogéneo y la organización que conlleva. Todo esto será evaluado por un cliente real que nos guiará a través de un entorno similar al de una empresa. Igualmente, haré una valoración general sobre el aprendizaje dinámico y la metodología necesaria para crear una asignatura que motive a los alumnos y les permita aprender de forma autodidacta.
ABSTRACT
This End of Degree Project describes the development process of a software project carried out by the students of the subject Software Engineering of the Degree in Mathematics and Computer Science of the Universidad Politécnica de Madrid during the current academic year. This project aims to provide students with the experience of working together in large software projects. In which third-year students will be able to perform roles and functions similar to professional engineers. Meanwhile, undergradute students will be able to experience the difficulties involved in the leadership and organisation of large working groups. Thus, the aim of this End of Degree Project is to show the students’ learning process, which will be materialised in software that, although it will not necessarily be professional, will allow them to feel proud of their results and the skills they have developed. In order to achieve this, it will be essential to face the different challenges of creating software with a large novice group. These include developing skills in the use of new technologies, structuring the code, version control and the connections between the different parts or layers. However, it will also be necessary to develop interpersonal aspects such as communication at different levels, the synchronisation necessary for our project to be homogeneous and the organisation involved. All this will be evaluated by a real client who will guide us through a companylike environment. I will also make a general assessment of the dynamic learning and methodology necessary to create a subject that motivates and allows students to learn in a self-taught way. Read More