Agile Software Development

Objectives and outcomes

Introduction to the principles and key aspects of an agile approach to software development. Students
understand all key elements of an agile approach to software development and are able to apply them.

Lectures

The concept of agility in software development. Alternatives to agile development and comparison. Agile
software development life cycle. Manifesto for agile software development. Principles of agile software
development. Adaptive software development. Agile unified modelling. Extreme programming. Principles
of rapid software development. Project management using the Scrum framework. Agile planning and
assessment. Agile methods, pair work and teamwork. Agile software testing. Refactoring in agile
software development. Communication with software users. Application of Lean Kanban methods in
software development. Professional responsibility in agile software development.

Practical classes

Development of a software project according to the principles of agile methodology with respect to all
concepts covered in the lectures. Periodic delivery of functional software with continuous changes
and improvements.