Font Size: a A A

Caracterisation de projets de developpement logiciel dans une perspective de flux de connaissances

Posted on:2011-04-07Degree:Ph.DType:Thesis
University:Ecole Polytechnique, Montreal (Canada)Candidate:Gendreau, OlivierFull Text:PDF
GTID:2449390002457035Subject:Engineering
Abstract/Summary:
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.;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.;This doctoral thesis intends to achieve the research goal by presenting three papers and additional complementary results.;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.;Contributions of this thesis are threefold: methodological, theoretical and practical. The methodological contributions are related to the ATS methodology. Its main advantage is allowing software development's analysis from a different perspective of what is possible from other software development methodologies. In addition, in the context of capstone projects, the methodology educates developers on what they are doing. Among theoretical contributions, two stand out: the development of a knowledge flow model and the strong correlation between high acquisition effort and low source code productivity. Moreover, because the experiments were made in the context of capstone projects, practical contributions will first and foremost allow to enhance these projects in four areas: team creation, project selection, software process selection, and teams supervision.;The main limitation of this thesis is its external validity. Since experimentation is based on capstone projects developed by students, it is legitimate to question the validity of results in other conditions, especially in industrial setting. Given this potential limitation, it is recommended to conduct the same experiments in an industrial setting in order to prove the external validity of results.;Further research should focus on the methodology's extension. Since the ATS methodology allows software project analysis based on a knowledge flow perspective, it would be interesting to examine this aspect's symbiosis with other complementary issues such as ad hoc interactions within a software development team and the nature of interactions between a developer and his computer during software development.
Keywords/Search Tags:Software development, ATS methodology, Knowledge flow, Perspective, Capstone projects
Related items