Teach students scrum and xp with a dash of lean
Photo by Eden Constantino on Unsplash

Teach students scrum and xp with a dash of lean

Photo by?Eden Constantino?on?Unsplash

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.


If you want more ideas of how to teach to your students, then

a) follow me on LinkedIn

b) subscribe to this newsletter in LinkedIn

c) Find more ideas, and my books, at my website https://buff.ly/499r3kg

#edtech #edchat #softwareengineering #teamcollaboration #collaboration #studentprojects?#highered #computerscience #teamwork


要查看或添加评论,请登录

社区洞察

其他会员也浏览了