COM416 Team Development Project
| Summary |
The Team Development Project is a software engineering project which runs over the Spring semester. The philosophy underlying the project is that the skills needed for team working in the software engineering field can most effectively be learned by experience. The project is based around a client who has a real software development problem to be solved. Students are organised into small teams who work cooperatively on the analysis, design, implementation and testing of the client's software. |
| Session |
Spring 2026/27 |
| Credits |
15 |
| Assessment |
- Team Project
- Individual Reflective Report
|
| Lecturer(s) |
Dr Islam Elgendy |
| Resources |
|
| Aims |
This module aims to:
- Provide a practical, hands-on experience of the full software development life cycle by working in a cooperative team environment to deliver a web-based application.
- Develop professional teamworking skills, including project management, leadership, risk mitigation, and interpersonal communication.
- Bridge the gap between theoretical software engineering and industrial practice.
- Develop in candidates a critical self-reflection on personal performance, group dynamics, and professional software engineering practices.
|
| Learning Outcomes |
By the end of the unit, a student will have acquired:
- Develop commercial and industrial dimensions of software engineering, including databases, the internet, and interoperability
- Describe human, social, and professional issues relating to the application of computing
- Apply a software engineering process which takes a project through the stages of the software lifecycle from client interviews, requirements capture, analysis and design to implementation and testing
- Demonstrate team working skills, including personal responsibility and group management ability, interpersonal communication skills, leadership and delegation, and the ability to plan to meet deadlines
|
| Content |
The module content is centred around the practical execution of a team project, supplemented by targeted instructional topics including:
- Teamworking: Group projects vs. individual projects, defining roles within a software team, essential team documentation, and managing team meetings and communication.
- Requirements Engineering: Requirements capture and analysis for web applications, balancing functional versus non-functional requirements, and managing changing client requirements.
- Managing Software Development Projects: Project management strategies, risk analysis/management, quality management, and conducting reviews and inspections.
- Use of Prototypes: Reasons for prototyping, characteristics of prototypes, and using prototypes for requirements elicitation and client validation.
- Software Documentation: Producing usable Requirements Specification documents, user manuals, and online user support.
|
Restrictions
|
Only available to students on COMT19 MSc in Computer Science.
This module is only open to students who have taken Introduction to Software Engineering (COM412) in the previous semester. |
| Teaching Method |
The course is centred around the project, which involves the students working in allocated teams to develop a web application for a client (with the lecturer acting as the client).
There is a short set of lectures on project management, delivered in the earlier weeks of the semester (approximately 5 hours). Following this, teaching relies on a weekly monitoring and supervisory meeting with each team to review team interactions, check project progress, and simulate client-developer interactions. |
| Feedback |
Feedback is available on a weekly basis through direct guidance and review given by the supervisor during the team monitoring meetings. Also, a comprehensive summary feedback provided by the lecturer at the end of the module, following the evaluation of the final project and individual reflective reports.
|
|