Module Information

Module Identifier
Module Title
Academic Year
Semester 1
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 20 Hours.


Assessment Type Assessment length / details Proportion
Semester Exam 2 Hours   Written Exam  90%
Semester Assessment Worksheets  10%
Supplementary Exam 2 Hours   supplementary exam  Supplementary examination will take the same form, under the terms of the Department's policy.  100%

Learning Outcomes

On successful completion of this module students should be able to:

1. demonstrate a critical appreciation of a range of software development methodologies, and their relative advantages and disadvantages.

2. reason about the impact of project context on choice of methodology.

3. demonstrate an in-depth knowledge of the practices that comprise the several agile methodologies.

4. undertake simple test-driven software development.

5. identify and then rectify code that requires refactoring.

Brief description

We look at development processes, techniques and technologies for constructing real operational software systems. We examine the spectrum of development methodologies available to software projects, from agile methodologies through to plan-driven methodologies. Students will learn about the advantages and disadvantages of various methodologies.


1. Introduction to module: 1 Lecture.

The lecture provides a road-map to the module, with a brief overview of main concepts and how they interrelate. Introduces the planning spectrum.

2. Overview of Extreme Programming (XP): 1 Lecture

12 core and two supplementary practices of XP are overviewed.

3. XP project planning games: 2 Lectures, 1 Tutorial

Initial, release and iteration planning games. The eXtreme Hour Planning Game tutorial.

4. Pair programming practice: 1 Lecture

5. Test-driven development: 3 Lectures, 2 Worksheets

6. Refactoring: 3 Lectures, 1 Worksheet

De-oderising smelly code.

7. Feature-Driven Development: 2 Lectures

A more respectable agile methodology?

8. Anti-patterns: 2 Lectures

Striving not to repeat the mistakes of others.

9. Unified Process Overview: 1 Lecture

10. Model Based Architecture Overview: 2 Lectures

12. Agile vs plan-driven methodologies: 2 Lectures

We look at balancing agile and plan-based methodologies depending on project context.

Module Skills

Skills Type Skills details
Application of Number None, apart from simple planning estimates
Communication Students will practice communication skills during the tutorials and is a major concern within agile methodologies
Improving own Learning and Performance The assessed coursework requires students to develop their understanding of issues associated with the module.
Information Technology The module is IT focused. Students will use computer tools to develop and run their applications
Personal Development and Career planning The module gives students a wider view of the computing industry and potential careers
Problem solving Ability to reason about the clarity of software design and to improve such design through refactoring
Research skills Students will be required to acquire further knowledge from journals and on-line sources
Subject Specific Skills Methodological skills, design skills, programming skills
Team work Team work is required during the tutorials and is of major concern within agile methodologies

Reading List

General Text
Shore, Jim. (b2008.) The art of agile development /James Shore and Shane Warden. This book is also available in the Physical Sciences library. O'Reilly Primo search
Recommended Text
Auer, Ken. (2002.) Extreme programming applied :playing to win /[by] Ken Auer, Roy Miller. Primo search
Recommended Consultation
(c1998.) AntiPatterns : refactoring software, architectures, and projects in crisis /William J. Brown ... [et al.]. Primo search Fowler, Martin (2000 (July 2002) Refactoring :improving the design of existing code /Martin Fowler ; with contributions by Kent Beck ... [et al.]. Primo search Kruchten, Philippe (Jan. 2004) The Rational Unified Process:An Introduction Primo search Palmer, Stephen R. (2002.) A practical guide to feature-driven development /[by] Stephen R. Palmer and John M. Felsing. Primo search
Reference Text
Cohn, Mike (c2006.) Agile estimating and planning /Mike Cohn. Prentice Hall Professional Technical Reference
Recommended Background
Stephens, Matt. (2003.) Extreme programming refactored :the case against XP /Matt Stephens and Doug Rosenberg. Primo search


This module is at CQFW Level 6