302 - Software Engineering Practice

(These notes also apply to course 504 for MSc Specialism students)

Autumn Term 2016

This course is about the development of software products. It covers state-of-the-art 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.

The course is closely integrated with the Software Engineering Group Project, with the aim that many of the practices covered in the course can be applied to the Group Project.

Format and Delivery

As students have previously been introduced to the principles of agile development during the second year summer term projects, we will not give a lot of lectures in this course. We are providing most of the core content online. We have given a series articles, videos etc covering the main topics. You should study these as you need them, to re-cap topics from earlier courses, and to get more detail, to help you with your project. The given material is just an introduction, and you should also do your own research on the internet to dive more deeply into the areas that are relevant to your project.

Office Hours

To support you in applying these techniques, we are providing consulting to individual project groups. Your group should book an appointment whenever you want to discuss software engineering issues relating to your project, or have a problem you would like advice with.


Agile Development - we look at the development practices common to agile development, the current industry best practice for developing software products.

Quality Assurance - we cover various techniques for assuring the quality of the software produced, in terms of reliability and user satisfaction.

User Focus - we look at techniques for focussing on the user's needs and iterating through versions of the product to deliver maximum value to users and customers.


We encourage you to raise any queries or discussion points on the Piazza forum associated with this course.


The course is assessed through coursework in the autumn term, to be done and submitted in your Group Project groups. The courseworks are designed to be lightweight, and the aim is that doing them should help you to produce a better project, not be a distraction from thr project. Following good software engineering techniques should result in a better end result for your project, and the markers will be looking for evidence that you did this.

Associated Reading

You can (and should) find lots of related material on the internet, but we have also listed some useful books on the reading list.