Software Development - COMP5590

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2024 to 2025
Canterbury
Spring Term 5 15 (7.5) Ozgur Kafali checkmark-circle

Overview

The module studies team-based Agile software development in detail and places it in a wider software development context.
Topics covered include
• Concepts, principles, practice and philosophy of an Agile approach to software development, contrasting with more structured approaches.
• Collaboration: programmer collaboration, team values, customer involvement, project management, standards and reporting.
• Planning: release and sprint planning, risk assessment, user stories and resource estimating
• Development practices: incremental requirements, test-driven development, refactoring, scrum, code review, quality assurance, continuous integration.
• Tools: IDEs, version control, automated code quality evaluation, issue tracking.
• Ethics, Intellectual property, codes of conduct and professional responsibility.

Details

Contact hours

Total contact hours: 33
Total private study hours: 117
Total module study hours: 150

Method of assessment

Main assessment methods
Presentation in small groups (approximately 5 to 15 minutes long)– 10%
Software project developed by small groups (approximately 30 hours work) – 30%
Individual project reports (approximately 5 pages)– 10%
Examination (2 hrs) – 50%

Indicative reading

• ACM Code of Ethics and Professional Conduct, https://www.acm.org/code-of-ethics
• British Computer Society Code of Conduct, https://www.bcs.org.uk/
• Brooks Jr, F. P. (1995). The mythical man-month (anniversary ed.). Hazzan, O. (2008) Agile Software Engineering, Springer, London
• Loeliger, J. (2012) Version Control with Git: Powerful tools and techniques for collaborative software development, O'Reilly, Boston
• McConnell, S. (2004). Code complete. Pearson Education, London.
• Watts, G. (2013) Scrum Mastery: From Good To Great Servant-Leadership, Inspect & Adapt Ltd, London

Learning outcomes

8. The intended subject specific learning outcomes.
On successfully completing the module students will be able to:
1) Understand and discuss the principles and practices employed in the production of a software system using an Agile methodology and its variants. Hence, identify the benefits and drawbacks of adopting an Agile approach to software development when compared to alternative software development paradigms.
2) Determine software requirements and devise a corresponding roadmap.
3) Understand project planning and management including the roles of a project team, cost, quality and risk.
4) Evaluate and use appropriate software engineering tools.
5) Start and complete an agile software development project.
6) Understand and be guided by professional issues in software development, including codes of conduct of professional bodies, intellectual property, ethics, responsible software development and the development of safety critical systems.

9. The intended generic learning outcomes.
On successfully completing the module students will be able to:
1) Make effective use of IT facilities for scholarship and research.
2) Manage their own time, learning and development.
3) Present and discuss a topic of study.
4) Recognise and be guided by social, professional and ethical issues and guidelines.

Notes

  1. Credit level 5. Intermediate level module usually taken in Stage 2 of an undergraduate degree.
  2. ECTS credits are recognised throughout the EU and allow you to transfer credit easily from one university to another.
  3. The named convenor is the convenor for the current academic session.
Back to top

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.