<  Back to the Polytechnique Montréal portal

La gestion de la connaissance des équipes de développement logiciel

Mathieu Lavallée

PhD thesis (2017)

[img]
Preview
Download (1MB)
Cite this document: Lavallée, M. (2017). La gestion de la connaissance des équipes de développement logiciel (PhD thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2478/
Show abstract Hide abstract

Abstract

RÉSUMÉ Contexte : Le développement logiciel est un travail d’équipe manipulant un produit essentiellement invisible. En conséquent, le développement logiciel nécessite des échanges de connaissances importants entre développeurs afin que l’équipe effectue une résolution de problème adéquate. Cette résolution de problème résulte en une prise de décision qui aura un impact direct sur la qualité du produit logiciel final. Objectif : Ce travail doctoral a pour objectif de mieux comprendre ces interactions entre développeurs et comment ces interactions peuvent être liées à des problèmes de qualité logicielle. Cette meilleure compréhension du phénomène permet d’améliorer les approches actuelles de développement logiciel afin d’assurer une meilleure qualité du produit final. Méthodologie : Premièrement, des revues de littérature ont été effectuées afin de mieux comprendre l’état actuel de la recherche en gestion de connaissance dans le génie logiciel. Deuxièmement, des analyses de code source et des discussions avec les développeurs ont été faites afin de mieux cerner les causes de problèmes classiques de qualité logicielle. Finalement, des observations faites dans l’industrie ont permis de comprendre la prise de décision collective, et comment cette prise de décision impacte la qualité logicielle. Résultats : Les observations effectuées ont démontré que la qualité logicielle n’est pas qu’un problème d’éducation ; l’essentiel des problèmes de qualité ont été introduits par les développeurs en toute connaissance de cause afin de répondre à d’autres impératifs plus urgents au moment de la prise de décision. Améliorer la qualité des logiciels demande de revoir la manière dont les projets de développement logiciel sont gérés afin d’assurer que les décisions prises sur le terrain n’auront pas de conséquences négatives trop coûteuses à long terme. Conclusions : Il est recommandé que les organisations se dote d’un nouveau palier décisionnel faisant la jointure entre besoins techniques (i.e. qualité logicielle) et administratifs (i.e. ressources disponibles). Ce nouveau palier décisionnel se situerait au niveau de la base de code (« codebase »), soit entre le palier organisationnel et le palier de gestion de projet. Une base de code étant modifiée de manière concurrente par plusieurs projets en parallèle, il devient nécessaire d’avoir un meilleur contrôle sur les modifications effectuées sur celle-ci. Ce nouveau palier serait le gardien des connaissances en lien avec la base de code, selon le principe « you build it, you run it » favorisé dans certaines organisations. Ce nouveau palier serait responsable d’assurer que la base de code reste d’une qualité suffisamment bonne pour supporter les activités de l’organisation dans l’avenir.----------ABSTRACT Context: Software development is a process requiring teamwork on an essentially invisible product. Therefore, software development requires important knowledge exchanges between developers in order to ensure a proper problem resolution. This problem resolution affects the decision making process, which will have a direct impact on the software quality of the final product. Objective: This thesis work aims to better understand these interactions between developers and how they can be linked to software quality problems. With a better understanding of the relation, it will be possible to improve the current software development management practices in order to ensure a better quality of the final software product. Method: First, literature reviews were made with the objective to understand the current state of the research in knowledge management in software engineering. Second, source code analyzes and discussions with the developers were executed in order to better understand the causes of typical software quality issues. Finally, observations were made in an industrial context in order to observe collective decision making in the field, and to understand how these decisions impacts software quality. Results: The bservations made demonstrated that software quality is not only an educational problem; most of the quality problems found were introduced voluntarily by the developers in order to answer a more urgent requirement at the time. Improving software quality therefore requires a review of how software development projects are managed in order to ensure that the decision made in the field do not have overly costly consequences in the long term. Conclusions: It is recommended that organization assign a new decision level linking the technical requirements (i.e. software quality) with administrative requirements (i.e. available resources). This new decision level would be situated at the codebase level, between the organizational strategy level and the project management level. A codebase being modified concurrently by multiple projects, it is therefore necessary to have a better control of the modifications made on it. The people at this new decision level would be the knowledge repository related to the codebase, under the “you build it, you run it” principle popular in some organizations. This new decision level would be responsible of ensuring that the codebase remains of a sufficient quality in order to support the future activities of the organization.

Open Access document in PolyPublie
Department: Département de génie informatique et génie logiciel
Dissertation/thesis director: Pierre N. Robillard
Date Deposited: 20 Jun 2017 14:13
Last Modified: 24 Oct 2018 16:12
PolyPublie URL: https://publications.polymtl.ca/2478/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only