BSc Computer Science (Human Computer Interaction) / Course details
Year of entry: 2021
- View tabs
- View full page
Course unit details:
Agile Software Pipelines
|Unit level||Level 3|
|Teaching period(s)||Semester 2|
|Offered by||Department of Computer Science|
|Available as a free choice unit?||No|
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 rarely occurring 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.
|Unit title||Unit code||Requirement type||Description|
|Software Engineering 1||COMP23311||Pre-Requisite||Compulsory|
|Software Engineering 2||COMP23412||Pre-Requisite||Compulsory|
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.
|Scheduled activity hours|
|Practical classes & workshops||22|
|Independent study hours|
|Anas Elhag||Unit coordinator|