Studying the Impact of Developer Communication on the Quality and Evolution of a Software System: A Doctoral Dissertation Retrospective
Nicolas Bettenburg
Abstract
Nicolas Bettenburg
Abstract
Software development is a largely collaborative effort, of which the actual encoding of program logic in source code is a relatively small part. Software developers have to collaborate effectively and communicate with their peers in order to avoid coordination problems. To date, little is known how developer communication during software development activities impacts the quality and evolution of a software. In the doctoral thesis presented to this symposium, we introduce and evaluate tools and techniques to recover communication data from traces of the software development activities that are recorded in software repositories. Using this data, we present a study on the impact of developer communication on the quality and evolution of the software through a tiered study. Among the highlights of the presented dissertation, we find that communication between developers stands in a direct relationship to the quality of the software. In addition, we find that communication between developers plays a important role in maintaining a healthy contribution management process, which is one of the key factors to the successful evolution of the software. Our dissertation illustrates that software development is an intricate and complex process, which is strongly influenced by the social interactions between the stakeholders involved in the development activities. A traditional view based solely on technical aspects of software development such as source code size and complexity, while valuable, limits our understanding of software development activities. The presented research consists of a first step towards gaining a more holistic view on software development activities.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Software development is a largely collaborative effort, of which the actual encoding of program logic in source code is a relatively small part. Software developers have to collaborate effectively and communicate with their peers in order to avoid coordination problems. To date, little is known how developer communication during software development activities impacts the quality and evolution of a software. In the doctoral thesis presented to this symposium, we introduce and evaluate tools and techniques to recover communication data from traces of the software development activities that are recorded in software repositories. Using this data, we present a study on the impact of developer communication on the quality and evolution of the software through a tiered study. Among the highlights of the presented dissertation, we find that communication between developers stands in a direct relationship to the quality of the software. In addition, we find that communication between developers plays a important role in maintaining a healthy contribution management process, which is one of the key factors to the successful evolution of the software. Our dissertation illustrates that software development is an intricate and complex process, which is strongly influenced by the social interactions between the stakeholders involved in the development activities. A traditional view based solely on technical aspects of software development such as source code size and complexity, while valuable, limits our understanding of software development activities. The presented research consists of a first step towards gaining a more holistic view on software development activities.
Key concepts: Software development, Computer science, Software peer review, Software quality, Software engineering, Software construction, Personal software process, Social software engineering