Coaching Software Teams (M) COMPSCI5113

  • Academic Session: 2023-24
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Runs Throughout Semesters 1 and 2
  • Available to Visiting Students: Yes

Short Description

This course gives students the opportunity to learn and practice principles, practices and methods used in coaching Software Engineering teams. The course is intended for students who have experience of software development through a summer internship or similar. The course covers interpersonal and management skills that are needed for mentoring and leading teams of software developers. The course focuses on whole-team coaching and how to introduce and embed software engineering practices in existing teams. The course is delivered in collaboration with an established software industry partner (JP Morgan).


3 hours of tutorial and seminar and 1 hour laboratory time with the student's team (see detailed explanation).

Requirements of Entry

Professional Software Development (H) (or equivalent)

Java Programming 2 (or equivalent)

Object Oriented Software Engineering 2 (or equivalent)

Software Engineering Summer Placement (H) (or equivalent) (an unassessed placement may be acceptable, subject to approval of the course coordinator).

Excluded Courses

Coaching Software Teams (H)


Note this course runs as part of Coaching Software Teams (H), but provides for additional, more challenging assessment to enable students to undertake it as an M-Level course.




Students will receive lectures during semester 1 covering theoretical material. Students will work 1 hour per week in laboratories with level 3 teams, providing support and observing team practices. Each week will end with a seminar reviewing the observations made by the students during the level 3 team laboratory. Students will record observations in a diary and perform periodic formative assessment of their team. During semester 2, each student will identify, plan, implement and evaluate a whole-team coaching exercise with their software team, based on the observations made in Semester 1.


The coursework will comprise: weekly online quizzes covering taught material, the diaries and formative team assessments prepared in semester 1 and a report on the coaching activity. Finally, students will prepare a "Playbook" describing how to apply the coaching activity in a future team.


M level students will work in pairs/groups to plan, design, and deliver a 2-hour "masterclass" workshop to the H level participants on the course. The topic will be related or adjacent to the material covered on the course, and must be approved by the course administrator during the 'plan' phase

Are reassessment opportunities available for all summative assessments? No

Reassessments are normally available for all courses, except those which contribute to the Honours classification. Where, exceptionally, reassessment on Honours courses is required to satisfy professional/accreditation requirements, only the overall course grade achieved at the first attempt will contribute to the Honours classification. For non-Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below. 

Course Aims

To introduce advanced principles, practices and methods used in whole-team coaching of Software Engineering teams.

To introduce techniques for effective working in software teams in a mentoring role,

To expose students to the practicalities and reality of software engineering in industry.

Intended Learning Outcomes of Course

By the end of this course students will be able to:

1. Explain a range of advanced practices in large-scale collaborative software engineering including agile project management, stakeholder management, user research and product discovery;

2. Apply and adapt mentoring techniques for working with less experienced colleagues;

3. Identify, plan, implement and evaluate improvements to team software processes;

4. Be aware of the limitations of existing software engineering practices in large scale systems development.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.