Thèse de doctorat (2010)
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (2MB) |
Résumé
Face aux ratés auxquelles fait face l'industrie du développement logiciel et l'incapacité des différentes approches de processus logiciels à régler ces problèmes, il s‘avère intéressant de se baser, d‘une part, sur les acquis du domaine des processus logiciels et, d‘autre part, de s‘inspirer des innovations de domaines connexes. En particulier, la gestion des connaissances appliquée au génie logiciel est un sujet présentement en émergence. Une meilleure compréhension des mécanismes de création et de conversion de connaissances au sein d'un projet de développement logiciel est une avenue de recherche prometteuse. L'objectif principal de cette thèse de doctorat est donc de caractériser les projets de développement logiciel dans une perspective de flux de connaissances. Cette thèse par articles propose d'atteindre l'objectif de recherche par la présentation de trois articles en plus d'un chapitre détaillant des résultats complémentaires. Le premier article présente et justifie la méthodologie utilisée dans le cadre des travaux de recherche de cette thèse. Plus précisément, l'article détaille la méthodologie ATS (activity time slip), une approche à partir de laquelle des développeurs logiciels doivent enregistrer leurs activités dans une perspective de connaissances. Les données recueillies sont ensuite codifiées selon le modèle de flux de connaissances, qui est inspiré du modèle de création de connaissances de Nonaka & Takeuchi (1995) et qui définit six facteurs cognitifs dans le cadre d'un projet de développement logiciel: l'acquisition, la cristallisation, la validation, la réalisation, la vérification et l'organisation du travail. Une étude de cas multiples est présentée, afin de démontrer l'originalité et la pertinence de la méthodologie proposée. Le second article présente l'utilisation du modèle de flux de connaissances, dans le cadre d'une étude de cas, afin d'analyser les conséquences de la qualité de la documentation lors de la réutilisation de composants FLOSS (free/libre open source software). L'analyse de l'étude de cas permet de déterminer les conséquences négatives d'une documentation inadéquate sur le flux de connaissances au sein d'un projet de développement logiciel. Le troisième article vise à comprendre les mécanismes menant aux divergences observées entre la conception et l'implémentation d'un projet de développement logiciel. L'utilisation de la méthodologie ATS et du modèle de flux de connaissances facilite l'analyse de l'étude de cas. Ainsi, les discordances entre les artefacts de conception et l'implémentation s'expliquent par le fait que la conception n'est qu'une image de possibilités. Les résultats de recherche complémentaires permettent de caractériser trois projets intégrateurs de développement logiciel, à la manière d'une étude de cas multiples de type exploratoire reposant sur la méthodologie ATS et la modélisation par flux de connaissances. Ainsi, l'analyse des jetons d'activité (ATS) permet de porter un jugement sur la rigueur des développeurs et donc sur la fiabilité des jetons, selon les trois profils identifiés. De plus, les facteurs cognitifs sont caractérisés selon leur caractère individuel et participatif. Par ailleurs, le séquencement cognitif permet l'identification de quatre profils de développeurs: le cristallisateur, le codeur, le polyvalent et l'agent libre. Finalement, une forte corrélation a été observée entre un effort d'acquisition élevé et une productivité du code source faible, ce qui constitue une contribution majeure, de par son originalité et ses conséquences théoriques et pratiques.
Abstract
Given the failures faced by the software development industry and the inability of different software process approaches to solve these problems, it is interesting to rely, on the one hand, on achievements in the software process field and, on the other hand, learn from innovations in related fields. In particular, knowledge management applied to software engineering is a subject currently emerging. A better understanding of knowledge creation and conversion's mechanisms in software development projects is promising. The main objective of this thesis is to characterize software development projects from a knowledge flow perspective. This doctoral thesis intends to achieve the research goal by presenting three papers and additional complementary results. The first paper presents and justifies the methodology used in this thesis. The paper details the ATS (activity time slip) methodology, where software developers must log their activities from a knowledge perspective. Data are then codified based on the knowledge flow model, which is related to Nonaka and Takeuchi‘s (1995) knowledge creation model and which defines six cognitive factors: acquisition, crystallization, validation, implementation, verification and work organization. A multiple case study is presented to demonstrate the originality and relevance of the proposed methodology. The second paper presents a case study using the knowledge flow model to analyze the consequences of documentation quality in FLOSS components reuse. The case study's analysis allows the identification of negative consequences on a software development project's knowledge flow resulting from inadequate documentation. The third paper focuses on understanding the mechanisms leading to discrepancies between design and implementation in a software development project. The use of the ATS methodology and the knowledge flow model facilitates the case study's analysis. The discrepancies between design artifacts and implementation can be explained by the fact that design is an image of possibilities. Complementary research results allow the characterization of three software development capstone projects by means of an exploratory multiple case study based on the ATS methodology and the knowledge flow model. The analysis of the activity time slips (ATS) allows to judge the developers' rigor and therefore the reliability of their activity time slips, according to three identified patterns. Also, cognitive factors are characterized from a individual and participative viewpoint. Furthermore, cognitive sequencing allows the identification of four developers profiles: the crystallizer, the coder, the "versatile", and the free agent. Moreover, a strong correlation was observed between high acquisition effort and low source code productivity, which is a major contribution, because of its theoretical and practical implications.
Département: | Département de génie informatique et génie logiciel |
---|---|
Programme: | Génie informatique |
Directeurs ou directrices: | Pierre N. Robillard |
URL de PolyPublie: | https://publications.polymtl.ca/391/ |
Université/École: | École Polytechnique de Montréal |
Date du dépôt: | 29 nov. 2010 14:49 |
Dernière modification: | 06 avr. 2024 14:01 |
Citer en APA 7: | Gendreau, O. (2010). Caractérisation de projets de développement logiciel dans une perspective de flux de connaissances [Thèse de doctorat, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/391/ |
---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements