By Klym Shumaiev
Designing software systems is a collaborative decision-making process, and requires objectivity and awareness about the level of expertise the people involved have. Issue management systems are often used in development: who created the issue, what are the concerns, what is the status, etc. However, these do not document the decisions itself. In their approach, they propose an expert recommendation system for design decision making. For this, they use machine-learning to identify design decisions from issues, and use an ontology to identify architectural elements from text. One of the goals is to recommend who should be involved in a decision.
The tool has been evaluated on several development projects, The accuracy is not yet very good, but it is a good start, and the results show that with more training, the results become better. For the industry cases, precision was higher than open source projects. Another nice finding is that their tools can show that sometimes very few people are involved, and might hint a knowledge drain at the organisation.