3rd Year Software Engineering Group Project
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.
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 months, 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 months
- present the outputs of your project, and your reflections on it, orally and in writing
- Agile software development
- Project management
- Risk management
- Quality assurance
- Delivering for the customer
- Group project presentation skills
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) but most of the core content will be made available online, through a series of articles, videos etc. covering the main topics.
In addition to your regular customer meetings you will also have the opportunity for special consultations with an experienced industrial software engineer to discuss your approaches to project management, technical design, testing strategies, etc.
20% of the marks for the project are given at the end of iteration checkpoints (5% x 4 checkpoints) to encourage a sustained delivery of work.
The remaining 80% is given for the project overall - a combination of the technical achievement, the group collaboration and management, report and presentation.
Peer assessments at each checkpoint will be used to monitor individual contributions. If any significant imbalances are detected then the work schedule will be adjusted with a view to roughly equalising the contributions of each member. 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.
Feedback will be given to each team orally at each bi-weekly checkpoint by the project supervisor/customer. Feedback and advice will also be given in discussion with the Software Engineering consultants during each group’s consultation sessions.
2nd ed., Addison-Wesley
Upper Saddle River, NJ : Addison-Wesley
Prentice Hall Professional Technical Reference
Blue Hole Press,
John Wiley & Sons
John Wiley & Sons Inc