The focus of this course is on the practical use of the lecture contents and application of Agile and project management best practices in a real-world software project. Multiple teams work collaboratively on a single software product, handling all required tasks from requirements engineering, to design, implementation and project organization.
Participants work in teams of ideally 5-8 people. All Scrum and organizational roles, including the Product Owner (who interacts with the customer) and the Scrum Master (responsible for supporting the team) are performed by student team members. Furthermore, the role of a Project Manager will be introduced, mainly responsible for maintaining an overview of collaboration between teams and longer term planning. Teams are explictly expected to self-organize and to explore ways of collaboration and communication that work best for them. This course depends on the active participation, involvement and reflection of participants.
The contents of the lecture include how to apply modern Agile software development methods in multi-team settings and associated technologies and best practices. The theory and the ideas introduced in the lectures are applied directly in the accompanying project. Participants conduct multiple development iterations (Sprints) à 2-3 weeks each in their teams, guided by the teaching team and dedicated tutors. The software being developed will be hosted on GitHub and is available under an open-source license. The contributions participants make to the project will be publicly available.