Skip to content
Home » Blog Posts » Teach students scrum and xp with a dash of lean

Teach students scrum and xp with a dash of lean

Scrum provides process, while xp provides practices, and lean cover the theory behind it all

I feel like I’ve always been teaching students about scrum. At some point I must’ve first taught it, but I don’t remember when that was. It was probably around 2007 though thinking of other things I was teaching then. I also remember the disconnect I had when reading about agile and what I saw in software engineering textbooks. The textbooks were quite different from what others were saying.

I do remember starting my teaching at the University of Aberdeen in the summer of 2001 and reading about Tomcat as we were using Java for web applications in a new MSc degree to start in September, and discovering the Ant build tool. In version 3.2 there with some suggestions of how to use this to build, test, package and deploy your application. From then onwards I was hooked with teaching students how to automate the building and testing of applications. From there it was a short step to agile and scrum. Realising that students needed to be taught to collaborate and not just coordinate their work took longer to realise.

Photo by Eden Constantino on Unsplash

Scrum is a good starting point for students learning software engineering

Scrum provides students with a process to follow when they develop their software engineering products. It tells them the phases they need to repeat in each time box, and guides them in how to improve their work as they proceed.

There are other agile approaches they could use too, but they are not needed by students at this stage. Each of them takes one part of the general process, and makes it harder for students to choose one process to follow.

If a student asks me about kanban, for example, I’ll tell them where to start reading. I’ll suggest they first try scrum, and then look at kanban if they feel they want to drop sprints and focus on work in progress.

Scrum provides a framework for how the team can work together. You still need to guide them so that they collaborate in their work. Coordinating their work in the phases, as mentioned before is not enough. Part of why we collaborate is found in the XP practices.

Scrum is just a process, so needs XP for practice

Scrum says nothing about how to do the work. This is why it works just as well for organising your holiday as it does for developing software. I also know people that use scrum for other things too.

You need to teach students how to do the work. You need to teach them the extreme programming practices (http not https link so your browser might complain): how to create user stories, how to test your application, and that pair programming is a good practice too. Collective responsibility is another key issue here too: the code belongs to everyone. It is not my code and your code. It is our code.

The value of xp practices show up in the DORA capabilities too. All of these are preferred practices, which can be taught in a longer team software engineering project.

Students like the xp practices as these are the coding, and doing the work part. Just keep reminding them that they need to do them together as a team. Each working independently will only be slow with lots of rework. This is why they need to be told about lean too.

Add a dash of lean to cover the theory behind the practices

I always add something about lean software development when teaching students about scrum. Lean looks to remove waste and to prevent it in the first place. This is also why we have the continuous improvement aspects too in scrum. This long post covers Mary Poppendieck’s key thoughts on lean development. This also includes how things were done pre-computers, and the origins of PERT, which are interesting. See also her lean development backstory to this.

After you explain a bit of lean thinking, then it becomes clearer why developers should pair: it reduces the time for feedback and avoids potential rework too. So add a bit of lean to your scrum slides and your students will understand why we ask them to do these things.

Cover scrum, lean and xp in your classroom

You can probably see where you can add these little bits and pieces about scrum and xp with a dash of lean into your current lectures and practical sessions.

I found that adding things to slides was easy enough. It was harder providing experiences for them to learn about scrum before using it in their project work. Two practical sessions cover this well.

In one, you can do the Lego scrum simulation. There are plenty of examples. City, city, airport, agile42 Pick one that you like, and do that in one session. This shows the basics and the process.

In another session use Scrum Card Game to go into more details about how each sprint plays out. If you have the budget for the cards, great. If not, print the cards and do it yourself. This works too.

Getting them to use them to collaborate, and not just coordinate was harder. For that I had to keep asking them questions: when will your work show up in the main branch? why aren’t you pairing on the work?

Alternatively, if you don’t like ‘why’ questions, then use the ‘what makes you think…’ format: what makes you think that pairing will be hard? This shifts the emphasis onto their reasoning, and other practical issues, which you can unpick a bit. This is still a slow sell for most students, but is so worth it when they ‘finally get it’ and start to use these practices.

In the end it’s all about making them see that they need to collaborate together, and that the xp practices are a good foundation for their future careers. These underly all of the other processes that are out there.


This post is part of a project pulling together my materials and ideas about Teaching Team Collaboration: the Human-Side of Software Development for software development to students.

If you’d like to be notified of future posts, then please sign up for more using the adjacent form. When you sign up, then I’ll send you a free copy of the collaboration rules as a PDF from the book. You can also follow me on LinkedIn

The ideas above are from my book 101+ Ideas to Improve Team Collaboration, which covers all of these little things that students can do to improve their collaboration.

Cookie Consent with Real Cookie Banner