Project Details
Projekt Print View

Foundations and Implications of Socio-Technical Congruence in Large-Scale, Decentralized, and Distributed Software Projects

Subject Area Software Engineering and Programming Languages
Term since 2020
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 433609794
 
Software projects are among the most complex systems created and maintained by humans. A large-scale software project today comprises often thousands of software artifacts with millions of lines of source code, documentation, specification, build scripts, and so on. Typically, many individuals, such as developers, testers, architects, and maintainers, are involved in the process of development and evolution, often spread all over the world. A key challenge is to identify factors for determining the state of a project and for judging whether the project meets the project goals in the past, at present, or in the future.Two factors contribute to the complexity of a software project and thus influence the project's state. First, the set of technical artifacts (e.g., code, models, documentation) and their mutual dependencies and interactions are a key complexity factor, henceforth called the technical system. Second, the sum of coordination requirements and efforts of the protagonists involved contribute to the complexity of a software project, henceforth called the social system. Beside the inherent complexities of the technical and the social system, the two systems interact (e.g., developers edit files and files are owned by developers), and this interaction contributes to the overall complexity.The overarching goal of "Congruence" is to develop and evaluate the two-systems view as a novel, holistic approach of software-project analysis and evolution. We will systematically explore the space and patterns of interactions that arise between the social and the technical system of a software project and operationalizations thereof that give rise to useful insights for developers and maintainers. Our key hypothesis is that socio-technical patterns are related to desired or undesired project states, and their identification can therefore guide project analysis, management, and evolution. To this end, we aim at developing a systematic and general methodology of how to measure (the kind or degree of) socio-technical congruence as well as an epistemic base of knowledge and quantitative, causal theory on how to elicit and maintain socio-technical congruence in large-scale, decentralized, and distributed software projects. Beside fundamental insights, we will keep the practical application in sight. We aim at informing and driving the development of methods that directly help individual developers and teams of developers to improve their everyday work.
DFG Programme Research Grants
 
 

Additional Information

Textvergrößerung und Kontrastanpassung