Year 3 Software Engineering Group Project

Module aims

This is a project-based module where you work in a team to carry out the development and management of a relatively large scale software project, building a piece of software to fulfil the needs of a particular customer. You will put into practice state-of-the-art techniques used in industrial software development to ensure that your team produces software co-operatively, reliably and on schedule. Each team will work on a different project, and will receive individual coaching to provide support and advice relevant to their particular project.

Learning outcomes

Upon successful completion of this module you will be able to:

  • build a complex software system to a customer's specification
  • deliver a system iteratively, over a number of weeks, in a medium-sized team
  • apply an agile development method (e.g. XP, Scrum or Kanban) to your work
  • work effectively as part of a team and manage your work schedule over a period of several weeks
  • present the outputs of your project, and your reflections on it, orally and in writing

Module syllabus

  • Agile software development
  • Project management
  • Risk management
  • Quality assurance
  • Delivering for the customer
  • Group project presentation skills

Pre-requisites

Course contents of COMP50002 Software Engineering Design. Familiarity with version-control systems or the ability to learn basic use of such systems from online resources.

Teaching methods

Following the structure of common agile development methods, these projects run as set of four two-week iterations over the course of the term. During each iteration you will agree a set of requirements to work on with your customer, and then demonstrate some working software implementing these features at the end of the iteration.

There will be a small number of introductory lectures (see the above module content) and students will also be referred to other existing sources, through a series of articles, videos etc. covering the main topics.

In addition to your regular customer meetings you will be expected to attend consultations with an experienced industrial software engineer to discuss your approaches to project management, technical design, testing strategies, etc.

An online service will be used as a discussion forum for the module.

Assessments

The group projects are marked by a team of assessors, with input from the project customer as to how well their team has been met, and from the technical consultants regarding regular progress and technical complexity. Groups are also expected the evaluate the quality of their final product.

A monitoring system is used to allow students to demonstrate that they are contributing fully to the group project. This includes regular peer assessments. Differential marking will be applied when significant differences in contribution have emerged over the lifetime of a project. In all other cases, where there has been an approximately equal contribution from each member, they will all receive the same mark.

Groups are required to submit a short report, and to participate in an assessed presentation. Students must attend and participate in the presentation to pass the module overall.                

Feedback will be given to each team orally at each bi-weekly checkpoint by the project customer. Feedback and advice will also be given in discussion with the Software Engineering consultants during each group’s consultation sessions.

Reading list

Module leaders

Dr Thomas Lancaster