Bachelor of Science (BSc)
BSc Computer Science
- Typical A-level offer: A*AA including specific subjects
- Typical contextual A-level offer: AAA including specific subjects
- Care experienced/sanctuary/carer offer: AAB including specific subjects
- Typical International Baccalaureate offer: 37 points overall with 7,6,6 at HL, including specific requirements
Book an open day
Explore our campus, meet lecturers and current students, and learn more about what it's like to study at Manchester.
Meet us
Join us online or in person to learn more about the University and our courses.
Discover more about Computer Science at Manchester
Learn about your subject of interest and what you'll experience as a student in that community.
Discover more about Computer Science at Manchester
Download our course brochure
Get to know us better with our guide to studying your subject of choice.
Download our course brochure
Course unit details:
Agile Software Pipelines
| Unit code | COMP33312 |
|---|---|
| Credit rating | 10 |
| Unit level | Level 3 |
| Teaching period(s) | Semester 2 |
| Offered by | Department of Computer Science |
| Available as a free choice unit? | No |
Overview
The approach to software development known as “agile software engineering” is now well established within the industry as the most reliable and cost-effective in all but a handful of circumstances. Agile approaches emphasise the early and frequent delivery of releasable software artefacts to the client, combined with disciplined but flexible approaches to project progress tracking, to the continuous and active collection of feedback on the success (or otherwise) of the work done so far and to the creation of high-quality code bases that are easy and safe to change.
In an agile project, the first usable executable artefacts will be created very early in the project’s lifetime and may be in active use while other parts of the required functionality are still in various stages of development. New and changed functionality is delivered incrementally at short intervals throughout the duration of the project, blurring the distinction between the development and the operational project phases.
While the human processes used to manage and carry out agile software engineering are highly iterative, the artefacts produced by the processes are increasingly viewed as passing through one or more linear “pipelines”, on their journey to deployment and use in the end-user environment. New models for the delivery of software (such as continuous delivery) depend upon a carefully configured technical pipeline as much as they do upon effective and efficient human design and feedback processes.
In this course unit, we will examine how the combination of these iterative human processes and technical development and delivery pipelines is used to create software that provides real value and return on investment for clients and end-users, while also being of sufficiently high quality to allow frequent and sometimes substantial changes throughout the software’s lifetime. Specifically, the following topics will be covered:
• Introduction to agile methodologies
• Agile approaches to requirements management
• Agile approaches to project planning and tracking
• Agile approaches to software quality management
• DevOps practices in an agile context
• Retrospectives and agile process improvement
Pre/co-requisites
| Unit title | Unit code | Requirement type | Description |
|---|---|---|---|
| Software Engineering 1 | COMP23311 | Pre-Requisite | Compulsory |
| Software Engineering 2 | COMP23412 | Pre-Requisite | Compulsory |
COMP23311 and COMP23412 are pre-requisites.
Aims
The unit aims to: Provide you with a working understanding of software pipelines, their use in the development, delivering and operation of software systems, and the iterative and incremental human processes through which they are managed.
Learning outcomes
ILO 1: Select and apply agile practices for planning and tracking progress on software projects, and for coordinating the movement of the developed artefacts through software pipelines, to maximise the value delivered by the resulting software and the return on investment for the client.
ILO 2: Explain and design simple software delivery and management pipelines that ensure the long-term generation of value to the clients and users of the systems created by the projects, following core DevOps practices.
ILO 3: Considering the vital role of feedback in the management of agile projects, select and apply feedback-oriented practices to identify and correct problematic aspects of team and software behaviour.
ILO 4: Explain how agile approaches to software development compare with “big up-front” approaches, and how modern software development pipelines complement the iterative, agile approach to delivering value to clients and users in a predictable way.
ILO 5: Explain and apply agile practices for requirements elicitation in software projects, and for coordinating the movement and change of these requirements through software pipelines, to maximise the value delivered by the resulting software and the return on investment for the client; understand and explain the differences in requirements processes between agile methodologies and "big up-front" methodologies.
ILO 6: Select and apply a variety of practices for the management of software quality in agile software projects, with particular emphasis on the key role of software testing pipelines in managing the complexity of modern projects.
Syllabus
The approach to software development known as “agile software engineering” is now well established within the industry as the most reliable and cost-effective in all but a handful of circumstances. Agile approaches emphasise the early and frequent delivery of releasable software artefacts to the client, combined with disciplined but flexible approaches to project progress tracking, to the continuous and active collection of feedback on the success (or otherwise) of the work done so far and to the creation of high-quality code bases that are easy and safe to change.
In an agile project, the first usable executable artefacts will be created very early in the project’s lifetime and may be in active use while other parts of the required functionality are still in various stages of development. New and changed functionality is delivered incrementally at short intervals throughout the duration of the project, blurring the distinction between the development and the operational project phases.
While the human processes used to manage and carry out agile software engineering are highly iterative, the artefacts produced by the processes are increasingly viewed as passing through one or more linear “pipelines”, on their journey to deployment and use in the end-user environment. New models for the delivery of software (such as continuous delivery) depend upon a carefully configured technical pipeline as much as they do upon effective and efficient human design and feedback processes.
In this course unit, we will examine how the combination of these iterative human processes and technical development and delivery pipelines is used to create software that provides real value and return on investment for clients and end-users, while also being of sufficiently high quality to allow frequent and sometimes substantial changes throughout the software’s lifetime. Specifically, the following topics will be covered:
• Introduction to agile methodologies
• Agile approaches to requirements management
• Agile approaches to project planning and tracking
• Agile approaches to software quality management
• DevOps practices in an agile context
• Retrospectives and agile process improvement
Teaching and learning methods
Learning and teaching processes will be tailored to the specific topics being covered each week, and will consist of a mixture of:
Workshops allowing discussion of and practice in applying key ideas.
Face-to-face and online interactive group activities, including (where feasible) the use of coaching games used in industry for teaching agile development.
Online reading material, case studies and videos.
Self-paced TA supported working exercises (to be carried out synchronously or asynchronously as appropriate to the topic being taught).
Assessment methods
| Method | Weight |
|---|---|
| Written exam | 100% |
Feedback methods
Assessment Task: Examination
Length: 2 hours
How and when feedback is provided: Through post-exam feedback sessions
Assessment Task: Self-tests
Length: 2.5 hours
How and when feedback is provided: Automatically on demand through Blackboard
Assessment Task: Group activities
Length: 2.5 hours
How and when feedback is provided: Group discussion and staff feedback when the activity is performed
Recommended reading
- Shore, James. (2021). The art of agile development. O'Reilly Media Inc. ISBN: 9781492080640
- Beck, Kent. (2003). Test-driven development: by example. Addison-Wesley. ISBN: 9780321146533
- Cohn, Mike. (2006). Agile estimating and planning. Prentice Hall PTR. ISBN: 9780131479418
- Cohn, Mike, 1962-. (2004). User stories applied: for agile software development. Addison-Wesley. ISBN: 9780321205681
- Freeman, Steve, 1958-. (2010). Growing object-oriented software, guided by tests. Addison-Wesley. ISBN: 9780321503626
- Koskela, Lasse. (2008). Test driven : practical TDD and acceptance TDD for Java developers. Manning. ISBN: 1932394850
- Patton, Jeff. (2014). User story mapping. O'Reilly Media. ISBN: 9781491904886
- (2003). Lean software development : an agile toolkit. Addison-Wesley Professional. ISBN: 9780133812961
- Schuh, Peter. (2005). Integrating agile development in the real world. Charles River Media. ISBN: 1584503645
Study hours
| Scheduled activity hours | |
|---|---|
| Assessment written exam | 2 |
| Practical classes & workshops | 22 |
| Independent study hours | |
|---|---|
| Independent study | 76 |
Teaching staff
| Staff member | Role |
|---|---|
| Thomas Carroll | Unit coordinator |
Fees and funding
Fees
Tuition fees for home students commencing their studies in September 2027 will be £10,050 per annum. Tuition fees for international students will be £39,700 per annum.
For general information please see the undergraduate finance pages.
Policy on additional costs
All students should normally be able to complete their programme of study without incurring additional study costs over and above the tuition fee for that programme. Any unavoidable additional compulsory costs totalling more than 1% of the annual home undergraduate fee per annum, regardless of whether the programme in question is undergraduate or postgraduate taught, will be made clear to you at the point of application. Further information can be found in the University's Policy on additional costs incurred by students on undergraduate and postgraduate taught programmes (PDF document, 91KB).
Scholarships/sponsorships
The University of Manchester is committed to attracting and supporting the very best students. We have a focus on nurturing talent and ability and we want to make sure that you have the opportunity to study here, regardless of your financial circumstances.
For information about scholarships and bursaries please visit our undergraduate student finance pages .
Regulated by the Office for Students
The University of Manchester is regulated by the Office for Students (OfS). The OfS aims to help students succeed in Higher Education by ensuring they receive excellent information and guidance, get high quality education that prepares them for the future and by protecting their interests. More information can be found at the OfS website.
You can find regulations and policies relating to student life at The University of Manchester, including our Degree Regulations and Complaints Procedure, on our regulations website.
