COMP62521 Agile and Test-Driven Development syllabus 2020-2021
This course unit detail provides the framework for delivery in 20/21 and may be subject to change due to any additional Covid-19 impact. Current students should see Blackboard/course unit related emails for any further updates.
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.
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.
The course will cover
- Key principles of agile software development
- Evidence demonstrating the efficacy (or otherwise) of an agile approach
- Test-Driven Development
Feedback methodsCoursework assignments are submitted online and students receive written feedback Blackboard in addition to extensive verbal feedback in the weekly lab sessions.
- Analytical skills
- Group/team working
- Project management
- Oral communication
- Written communication
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)
|Succeeding with agile : software development using Scrum||Cohn, Mike, 1962-||9780321579362||Addison-Wesley||c2010.|
|Test-driven development : by example||Beck, Kent.||9780321146533||Addison-Wesley||c2003.|
|User stories applied : for agile software development||Cohn, Mike, 1962-||9780321205681||Addison-Wesley||2004.|
|Beginning Python : from novice to professional||Hetland, Magnus Lie, author.||9781484200285||Apress||2017|
Course unit materials
Links to course unit teaching materials can be found on the Department of Computer Science website for current students.