A great deal of software projects (60% to 80%) overrun the initial budget and time estimates, and offer fewer features and functions than originally specified.  In order to address these issues, new processes, methods, techniques, and tools are constantly searched for possible use in software engineering practice. Around 2000, agile methods appeared as a viable solution that has been gaining wide acceptance among software developers. It is reported that agile methods significantly improve productivity, quality, stakeholder satisfaction, visibility and adaptation to changing user requirements. More recently, the idea of upgrading agile methods with concepts of lean manufacturing has emerged that promises further improvements in the software development process. Following this trend, the course concentrates on Scrumban and Kanban as two typical methods of this kind. Both methods are introduced through practical work on a quasi-real project, which also serves as a case study for empirical evaluation of the new approach and its results. The project requires students to work in groups, thus enabling project-based collaborative learning, which is not only beneficial for mastering agile and lean concepts, but also helps students in developing transferrable skills like teamwork, organization and management, communication and presentation skills, working with customer, etc.