|Delivery Type||Delivery length / details|
|Lecture||22 x 1 Hour Lectures|
|Workshop||3 x 2 Hour Workshops|
|Assessment Type||Assessment length / details||Proportion|
|Semester Exam||2 Hours Written Exam||90%|
|Supplementary Exam||2 Hours Written Exam||100%|
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. Anti-patterns: 2 Lectures
Striving not to repeat the mistakes of others.
9. An overview of additional agile metholologies, e.g. Scrum/Kanban.
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.
|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|
This module is at CQFW Level 6