|Delivery length / details
|14 x 1 Hour Lectures
|3 x 2 Hour Workshops
|Assessment length / details
|2 Hours Written Exam
|2 Hours Written Exam
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.
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.
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
Initial, release and iteration planning games.
4. Pair programming practice: 1 Lecture
5. Test-driven development: 3 Lectures
6. Refactoring: 3 Lectures
De-oderising smelly code.
7. Feature-Driven Development: 2 Lectures
A more respectable agile methodology?
8. Dsicussion of additional agile methodologies, e.g. Scrum and Kanban: 3 Lectures
9. Agile vs plan-driven methodologies: 3 Lectures
We look atwhat can make a successful methodology for a team, the need for discipline and whether it is possible to balance agile and plan-based methodologies depending on project context.
10. Review: 1 Lecture
|Application of Number
|None, apart from simple planning estimates
|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.
|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
|Ability to reason about the clarity of software design and to improve such design through refactoring
|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 is required during the tutorials and is of major concern within agile methodologies
This module is at CQFW Level 6