| The success of team software-development project depends on many factors, such as the technical competence of the developers, the quality of the tools they use and the project-management decisions. To successfully complete a project developers need to have an overall understanding of their project status, to possess sufficient programming experience, to collaborate well with the other team members, and to be able to react promptly to any unforeseen events during the project.; Instructors of project-based software-development courses, and more generally project managers, who are responsible for overseeing collaborative project development are sometimes overwhelmed by the task of monitoring the progress of their teams. Sometimes, problems in a team may go unnoticed until it is too late to be fixed. This issue, i.e., "how to support managers to understand the progress of their teams and to provide timely feedback" is the underlying motivation of the work in this thesis.; CVSChecker, is a tool that analyzes the collaborative software-development process. It examines the history of operations that team members perform in their project repository and the evolution of the software artifacts stored in this repository to discover interesting patterns and events in the (a) collaboration style among the team members, (b) the development contributions of individual team members and (c) the evolution of the software project. It produces reports and visualizations that can help instructors to notice issues in a team's process that should be addressed in order for the team to succeed in their task. CVSChecker was evaluated, with positive results, in two different contexts: (a) academic team projects of student developers and (b) open-source projects. |