Analysis of risky organizational patterns
Software development is a team effort. While human interactions are generally a boon and are essential for the development process, various kinds of misunderstandings between members of a project may hamper its development. In this project, we are learning to identify development patterns that are associated with increased development costs or risks for a project (risky patterns). Unlike most of the prior studies, we combine a number of diverse types of communication records, such as code review activity, messenger channels, and meetings into a single model.
The expected result of the project would be a set of diverse metrics that allow to assess risky organizational patterns of a project from various perspectives. Currently we are developing an algorithm for better estimation of the bus factor. The bus factor is informally defined as the minimum number of team members that have to drop out of a project so that it stalls, and the corresponding risky pattern is having a crucial part of a system developed by a very small group of developers. Most existing algorithms only make use of the data that can be mined from the git repository, and we believe that adding extra information about other interactions of team members (such as data on code reviews, meetings etc.) may allow for a more accurate estimation of organizational risks.