Software Engineering Group Projects Topics


This material is heavily based on Dr Chatley's original material for SEGP.

This course is about the development of software products. It covers mainstream techniques used in industrial software development to ensure that teams produce software co-operatively, reliably and on schedule. The course covers technical practices as well as project management techniques.

1. Agile Methods

Agile methods are the prevalent software development techniques used in industry today. In Dr Chatley's material below you will find a general introduction to agile methods, and then more detail on three specific methods, XP, Scrum and Kanban. We recommend that you choose and follow one of these methods for your group project.

Some further articles and videos that you may find helpful are listed below:


2. Development Process and Technical Practices

There are a number of technical practices that often underpin the use of agile methods for software development (particularly Extreme Programming). These allow us to have confidence that our software is working and of good quality, throughout development. We do not want to test it once at the end of the project and find all the problems then.

Continuous Delivery

Continuous Delivery is a set of techniques that have been gaining popularity in industry, particularly since the publication of the book Continuous Delivery by Jez Humble and Dave Farley. The idea behind continuous delivery is that every change to the software results in a potentially releasable version of the application - so it is always in a working state.


3. Product Management and Working with Customers

Product management involves eliciting and managing requirements for our products. In this section we think about different types of customers, how to prioritise and decide what to build, and some ways to test whether or not what we have done was the right thing.

Some resources to learn more about product management: