2 research outputs found

    Git pour l'évaluation et le suivi du travail collaboratif favorisant le développement des compétences transversales

    Get PDF
    Le travail en équipe est un des moyens pour développer les compétences transversales attendues dans l’industrie, en particulier dans le domaine informatique. Aussi, au cours d’une formation académique, c’est l’une des occasions où l’étudiant a l’opportunité de les développer. Cependant, la réussite d’un travail en équipe dépend entre autres du choix des outils facilitant le travail collaboratif, l’organisation, la collaboration et la gestion des conflits. La possibilité de pouvoir évaluer objectivement aussi bien le travail individuel que celui collaboratif des membres de l’équipe doit davantage faire partie de ce choix. Cette évaluation peut en l’occurrence être faite en termes de contributions. Parmi ces outils nous proposons de retenir le système de gestion de version Git. En effet, c’est un des systèmes les plus utilisés dans l’industrie et permet d’en tirer de nombreux avantages autant pour les étudiants que pour les enseignants, sans oublier les possibilités de minimisation des coûts reliés au matériel didactique. Aussi, l’utilisation de Git dans le cadre de travaux d’équipe, donne accès à toute l’information relative aux activités qui sont consignées dans son historique. En effet toute action est associée à son auteur, à la date à laquelle elle a été effectuée. En disposant de ces données, il s’agit alors de définir les critères à appliquer pour faire une analyse et établir un jugement. Nous proposons dans ce mémoire un inventaire des critères d’évaluation potentiels et identifions les plus pertinents en termes d’évaluation de la régularité et de contribution quantitative en tenant compte des biais qu’ils peuvent induire. Aussi, une des difficultés que peuvent rencontrer les enseignants au moment de produire une évaluation est non seulement de pouvoir évaluer les contributions, mais également de pouvoir en faire un suivi régulier, tout particulièrement lorsque les équipes sont nombreuses. Nous proposons alors un outil de support basé sur les critères que nous avons identifiés offrant un aperçu général et facilitant l’accès aux détails. Son évaluation dans le cadre d’un cours nous a permis d’identifier différents profils d’équipe ainsi que les limites d’utilisation d’un tel outil pour établir un jugement.Teamwork is one of the ways to develop the transversal competencies expected in industry, especially in the field of Information Technology. However, the success of teamwork during programming courses depends on the choice of tools that facilitates collaborative work, organization and conflict management. Objectively evaluating both the individual and the collaborative work must be a great part of this choice. Among these tools, we propose to retain the version control system Git. Indeed, it is one of the most used systems in the industry and reaps many benefits for both students and teachers, including the minimization of cost of educational materials. Also, Git facilitates teamwork’s evaluation by giving access to information recorded in its history. It then becomes necessary to define the criteria to be applied to make an analysis and a judgment. We propose in this thesis an inventory of the potential evaluation criteria and identify the most relevant ones in terms of evaluation of the regularity and quantitative contribution considering the biases that they induce. Moreover, one of the difficulties that teachers may encounter when producing an assessment is not only to evaluate contributions, but also to be able to monitor them regularly, especially when teams are numerous. We then recommend a support tool based on the criteria we identified, offering a general overview and facilitating access to details. Its evaluation as part of a course allowed us to identify different team profiles as well as the limits to use of such a tool to make a judgment

    Medidas de productividad en los proyectos de desarrollo de software: una aproximación por puestos de trabajo

    Get PDF
    La productividad es una medida, principalmente económica, creada a finales del siglo XVIII. Desde entonces, numerosas modificaciones se han realizado sobre la definición inicial y se han incorporando a diversas áreas de conocimiento. Dentro de la Ingeniería del Software (IS), la productividad comenzó a ser objeto de estudio a finales de los años 70, casi de forma paralela a la concepción de la misma y al inicio del estudio de conceptos relacionados, tales como la estimación de esfuerzo. La medición de la productividad en IS ha sido ampliamente analizada a nivel de proyecto y organización, sin embargo a nivel de puesto de trabajo no ha sido tan investigada. En estos escasos estudios, las medidas utilizadas suelen ser las mismas medidas que las empleadas en niveles superiores de medición. En concreto, las medidas empleadas suelen ser ratios entre una medida de tamaño de producto (p. ej., líneas de código o puntos función) y una medida de esfuerzo o tiempo (p. ej., horas-hombre u horas). Este tipo de medidas son muy específicas y no reflejan la realidad del trabajo desempeñado en todo el proceso de desarrollo, ya que no tienen en cuenta las características inherentes a cada puesto de trabajo. Así pues, la eficacia de estas medidas, en este nivel de medición, parece estar en entredicho y la realización de estudios que aporten nuevas medidas de productividad en IS a nivel de puesto de trabajo cobra sentido. En la presente tesis doctoral se ha analizado la situación actual de la medición de la productividad en IS a nivel de puesto de trabajo con el objetivo de crear nuevas medidas. Para conseguir este objetivo se ha realizado un estudio del estado de la cuestión utilizando una metodología clásica de revisión de referencias junto con una revisión sistemática de la literatura. Una vez analizado el estado de la cuestión se ha planteado un conjunto de hipótesis relacionadas con la construcción de nuevas medidas de productividad: Hipótesis 1. En los puestos de trabajo involucrados en la ejecución de proyectos de desarrollo de software se emplean otras entradas, además del tiempo y el esfuerzo. Hipótesis 2. Las entradas utilizadas son distintas para cada puesto de trabajo involucrado en la ejecución de proyectos de desarrollo de software. Hipótesis 3. En los puestos de trabajo involucrados en la ejecución de proyectos de desarrollo de software se producen otras salidas, además de líneas de código y funcionalidad. Hipótesis 4. Las salidas producidas son distintas para cada puesto de trabajo involucrado en la ejecución de proyectos de desarrollo de software. Hipótesis 5. Las medidas de productividad más utilizadas a nivel de puesto de trabajo en los proyectos de desarrollo de software tienen una eficacia limitada para medir la productividad real de los trabajadores. Hipótesis 6. Es posible medir de forma más eficaz la productividad de los puestos de trabajo en los proyectos de desarrollo de software con nuevas medidas que combinen varios elementos: entradas, salidas y factores. Tras el análisis del estado de la cuestión, se ha realizado una fase de investigación cualitativa mediante el empleo de entrevistas a trabajadores de IS y un posterior análisis de contenido, con el fin de obtener información suficiente para: (1) contrastar las cuatro primeras hipótesis con información cualitativa, y (2) construir el medio de recogida de información para la siguiente fase de la investigación. Con respecto al primer objetivo, ha sido posible contrastar dos hipótesis (H1 y H3). En la segunda fase, mediante una metodología cuantitativa, se han contrastado las cuatro primeras hipótesis planteadas. Para la recogida de información se ha utilizado un formulario construido a partir de los resultados de la fase cualitativa. Los resultados de esta fase indican que en los puestos de trabajo analizados (programador, analista, consultor, y jefe de proyecto): se utilizan otros recursos además del tiempo, se producen otras salidas además del código fuente y la funcionalidad entregada al cliente. Además, se han encontrado diferencias en el grado de uso de las entradas y en la producción de las salidas, por lo que el uso de una misma medida de productividad para todos los puestos bajo estudio es, en principio, ilógico. Para contrastar las dos, y últimas, hipótesis se han construido nuevas medidas de productividad, teniendo en cuenta los resultados previos. En concreto, se ha utilizado Data Envelopment Analysis (DEA) como metodología personalizable para medir la productividad; y se han realizado cuatro casos de estudio empleando dicha metodología. Los resultados tras los casos de estudio indican que mediante DEA es posible medir la productividad de los puestos de trabajo vinculados con los proyectos de desarrollo y mantenimiento de software de forma más eficaz que con las medidas más utilizadas. Además, esta metodología permite conocer los puntos de mejora para que los trabajadores menos productivos aumenten su productividad, lo que supone una gran ventaja frente a otras medidas de productividad si el objetivo de medir, como es lógico suponer, es mejorar la productividad, y no simplemente evaluarla. Así pues, se contrastan las dos últimas hipótesis y se insta, entre otras futuras líneas de investigación, a continuar con nuevos estudios que comparen el uso de DEA con otras medidas de productividad. Finalmente, se concluye que la medición de la productividad en los puestos de trabajo vinculados con los proyectos de desarrollo y mantenimiento de software continua siendo un reto. Para reducir la dificultad de éste, la presente tesis doctoral arroja luz aportando un marco de trabajo para analizar y plantear nuevas medidas de productividad, tanto en estos puestos de trabajo como en otros. ------------------------------Productivity is mainly an economic measure, created in the late eighteenth century. Since then, many changes have been made on its initial definition and have been incorporated into various areas of knowledge. Within Software Engineering (SE), productivity began to be studied in the late '70s. These efforts ran parallel to SE developments, such as effort estimation. Measuring productivity in SE has been extensively analyzed at the project and organization level; however job level has not been investigated with the same depth. In these few studies, the measures used are often the same ones than those used in higher levels of measurement. Specifically, the measures employed are usually ratios between a measure of product size (e.g., lines of code or function points) and a measure of effort or time (e.g., man-hours or hours). Such measures do not reflect the reality of the work performed throughout the development process because they do not take into account the inherent characteristics of each job. Thus, the effectiveness of these measures, in this measurement level, seems to be in question and studies that provide new measures of productivity at job level make sense. In this thesis we have analyzed the current state of productivity measurement at job level within SE with the goal of creating new measures. In order to achieve this objective a study of the state of the art has been carried out with a classical methodology along with a systematic review of the literature. After analyzing the state of the art, a number of hypotheses related to the construction of new productivity measures have been stated: Hypothesis 1. In the jobs involved in the implementation of software development projects other inputs are used in addition to time and effort. Hypothesis 2. The inputs used are different for every job involved in software development projects. Hypothesis 3. In the jobs involved in the implementation of software development projects other outputs are produced in addition to source code lines and functionality. Hypothesis 4. The outputs produced are different for every job involved in software development projects. Hypothesis 5. The most used productivity measures at job level in software development projects have limited effectiveness for measuring real productivity of workers. Hypothesis 6. It is possible to measure more effectively the productivity of jobs in software development projects with new measures that combine several elements: inputs, outputs and factors. After analyzing the state of the art, a qualitative phase has been performed using interviews with SE workers and a subsequent content analysis of them in order to obtain pertinent information: (1) to test the first four hypotheses with qualitative information, and (2) to build the information gathering instrument for the next phase of research. Regarding the first objective, it has been possible to test two hypotheses (H1 and H3). In the second phase, using a quantitative method, the first four hypotheses have been contrasted and accepted. For the information gathering a form constructed from the results of the qualitative phase has been used. The results of this phase indicate that the analyzed job positions (programmer, analyst, consultant, and project manager): use other resources in addition to time, and deliver other outputs in addition to source code and functionality delivered to the client. Also some differences in the degree of use of inputs and production of outputs have been found. Therefore, the use of the same measure of productivity for all positions under study is, in principle, illogical. To contrast the last two hypotheses new productivity measures have been built taking into account the previous results. Specifically, a customizable methodology for measuring productivity such as Data Envelopment Analysis (DEA) was used in four case studies. The results after these studies indicate that using DEA is a mean to measure the productivity of job level for job positions related to the development and maintenance of software projects in a more effectively way. Furthermore, this methodology allows knowing the points for improvement for the least productive workers in order to increase their productivity. This knowledge is a great advantage over other productivity measures if the goal of measuring, as is logical to assume, is to improve productivity, not simply to evaluate it. So the last two hypotheses has been supported. Consequently we call, among other future research, to continue with further studies comparing the use of DEA with other measures of productivity. Finally, it is concluded that the measurement of productivity in job positions related with software development and maintenance projects remains a challenge. To reduce this difficulty, this thesis sheds some light on the topic by providing a framework to analyze and propose new measures of productivity for SE job roles.Presidente: María Belén Ruiz Mezcua; Vocal: Rafael Valencia García; Secretario: Edmundo Tovar Car
    corecore