Background: As the industry of software engineering often requires the employees to work in a team setting using agile methods, it is important to teach bachelor students of software engineering these skills. Courses that require a project allows students to collaborate in an agile team setting, utilizing the tools seen in the industry. This gives the students an opportunity to practice technical skills and soft skills, such as communication. Additionally, they can use the theory they have learned in a practical setting, making them better prepared to enter the industry. However, team-based courses are complex to execute, especially as a mandatory course where the number of enrolled students and teams is high. Aim: The aim of this thesis is to investigate student teams, their teamwork quality, and the agile practices they utilize. Specifically, what characterizes a good student team and what affects their result. Method: A case study utilizing mixed methods was conducted in a project-based software engineering course. Data was collected through the use of a survey, interviews, and other documentation like the project reports from the student teams. The study sample for the survey was 197 students and 5 teaching assistants. Interviews were conducted with 6 students and 2 teaching assistants. Results: The results provided insight on several aspects of student teams; choice of project case, team composition, process models, and rating of teamwork quality. Additionally, the results revealed that there are several differences between the low- and high-performing teams, one of which is multidisciplinarity. Conclusion: While communication and coordination within the teams are important, it is effort that has the highest correlation to the resulting project grade for the high-performing teams. For all teams, it seems that the project grade is more related to the level of success for the individual team members than it is to teamwork quality. The thesis provides four suggestions for practice; 1) partly instructor-formed teams, 2) technical onboarding, 3) closer relationship between teaching assistants and teams, and 4) guidance on implementation of agile processes.