Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

COMP62521 Agile and Test-Driven Development syllabus 2020-2021

COMP62521 Agile and Test-Driven Development

Level 6
Credits: 15
Enrolled students: pending

Course leader: Caroline Jay


Additional staff: view all staff

Additional requirements

  • Pre-requisites

    Good understanding of relevant concepts of Software Engineering

Assessment methods

  • 30% Written exam
  • 70% Coursework
Timetable
SemesterEventLocationDayTimeGroup
Sem 1 P2 ONLINE Lecture Tue 10:00 - 13:00 -
Sem 1 P2 Lab 2.25B Tue 14:00 - 17:00 -
Themes to which this unit belongs
  • Software Engineering 1

Overview

This course unit introduces and provides hands-on experience of agile software engineering and Test-Driven Development (TDD). The course will cover various agile methods, but practical work will focus on Scrum.

There is a strong focus on understanding the application of agile skills within an industrial setting, with guest lectures about 'real world' agile development from organisations including the BBC and ThoughtWorks.

Aims

This course unit aims to give students an introduction to the principles and practice of agile software engineering, and how to deploy these within an organisational setting. Through building a significant software system in a team, and reflecting critically on this experience, students will further their understanding of how the software engineering process used affects the development and delivery of software.

Syllabus

The course will cover

  • Key principles of agile software development
  • Evidence demonstrating the efficacy (or otherwise) of an agile approach
  • Test-Driven Development

Feedback methods

Coursework assignments are submitted online and students receive written feedback Blackboard in addition to extensive verbal feedback in the weekly lab sessions.

Study hours

Employability skills

  • Analytical skills
  • Group/team working
  • Project management
  • Oral communication
  • Written communication

Learning outcomes

On successful completion of this unit, a student will be able to:

The learning outcomes are as follows (assessment method in brackets):

  • Apply the ‘Scrum’ development method to a software project (coursework: team project, examination)
  • Apply the test-driven development method to a software project (coursework: team project, examination)
  • Plan a software development iteration with reference to past team performance and user requirements (coursework: team project)
  • Critically reflect on team performance and adjust the development approach accordingly (coursework: individual essay)
  • Evaluate the benefits and drawbacks of agile development practices (coursework: individual essay, examination)

Reading list

TitleAuthorISBNPublisherYear
Succeeding with agile : software development using Scrum Cohn, Mike, 1962-9780321579362Addison-Wesleyc2010.
Test-driven development : by example Beck, Kent.9780321146533Addison-Wesleyc2003.
User stories applied : for agile software development Cohn, Mike, 1962-9780321205681Addison-Wesley2004.
Beginning Python : from novice to professional Hetland, Magnus Lie, author.9781484200285Apress2017

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the Department of Computer Science website for current students.