Coaching Software Teams (H) COMPSCI4094
- Academic Session: 2024-25
- School: School of Computing Science
- Credits: 10
- Level: Level 4 (SCQF level 10)
- Typically Offered: Runs Throughout Semesters 1 and 2
- Available to Visiting Students: Yes
- Collaborative Online International Learning: No
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).
Timetable
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 (M)
Co-requisites
None
Assessment
Students will receive online 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.
Are reassessment opportunities available for all summative assessments? No
Reassessments are normally available for all courses, except those which 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.
Resit examinations ARE NOT ALLOWED for Honours students.
Resit examinations ARE ALLOWED for Masters students.
The coursework cannot be redone because the feedback provided to the students after the original coursework would give any student redoing the coursework an unfair advantage. The nature of the coursework is such that it takes a significant number of days to produce it and this effort is infeasible for supporting the re-doing of such coursework over the summer. The coursework is linked to another piece of coursework and cannot be completed in isolation.
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.