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

COMP62521 Agile and Test-Driven Development syllabus 2019-2020

COMP62521 Agile and Test-Driven Development

Level 6
Credits: 15
Enrolled students: 32

Course leader: Caroline Jay


Additional staff: view all staff

Additional requirements

  • Pre-requisites

    Good understanding of relevant concepts of Software Engineering

Assessment methods

  • 50% Written exam
  • 50% Coursework
Timetable
SemesterEventLocationDayTimeGroup
Sem 1 P2 Lecture 2.19 Fri 10:00 - 13:00 -
Sem 1 P2 Lab 2.25 (A+B) Fri 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

TitleAuthorISBNPublisherYearCore
User stories applied: for agile software developmentCohn, Mike9780321205681Addison Wesley2004
Test-driven development by exampleBeck, Kent9780321146533Addison Wesley Signature Series2002
Succeeding with Agile: software development using ScrumCohn, Mike9780321579362Addison-Wesley2010
Beginning Python: from novice to professional (3rd edition)Hetland, Magnus Lie9781484200292Apress2017

Additional notes

Course unit materials

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