6.1. Introduction to processes¶
Student experiences of software methodologies¶
The department runs two modules that talk about software methodologies.
The first is the Software Engineering module in the 2nd year, often referred to as the Group Project module. This module is core to all single honour schemes. This focuses on what we might call a ‘plan-driven’ approach such as the Waterfall Model. There is brief mention of the Agile Manifesto and some aspects of XP.
The second is the Agile Methodologies module in the 3rd year. This is core to the bigger schemes, but optional for schemes such as Computer Graphics, Vision and Games.
Students on the Space Science and Robotics scheme and those on the Joint-Honours and Major/Minor degree schemes have not done the 2nd year module and might not have taken the option of the 3rd year module. For these students, and others who aren’t sure what process to follow, this section will suggest where to start.
Research-oriented projects¶
Some projects contain a notable element of research to explore a research question. For such research projects, you still need to (i) consider how the stages of the work will be managed, and (ii) what process will be used for the software created to support the research. The process that is followed for such projects should be recognisable as something that is used to manage and build software systems.
Scope of the process¶
The processes that have been discussed in modules have focused on team work. A process for your individual projects needs to be modified in some way so that it is appropriate for a single person project. The process should not become so burdensome that more time is spent on the process than is done on the work. Equally, there needs to be a defined process that does guide the work.
A good process should help you to manage the work.
Scope of this section¶
This document is intended to outline some processes and highlight things that we might expect to see done throughout the project if they are following a process. There is scope to adjust these elements to fit the needs of a project.