Skip to content
Home » Blog Posts » Teach Students to Develop Thin Slices of their Application

Teach Students to Develop Thin Slices of their Application

Thin slices make the work more manageable and progress more visible

I want to dig deeper into the notion of thin slices of work. There is a lot to this concept as you’ll see over the coming weeks. The simple idea of ‘develop and deploy your application in thin slices of functionality’ has many implications. I wrote about thin slices previously, but want to go deeper this time.

The Elephant Carpaccio exercise from Henrik Kniberg and Alisdair Cockburn covers the basic idea of thin slices. Click through to the facilitation guide and you’ll see these two diagrams that sum up everything. A slice should have GUI, client, and backend components, and the thinner the better.

Illustration from Elephant Carpaccio facilitation guide by Henrik Kniberg

Use two examples to tease out the issues

This is best explained with an example. Two come to mind, which cover different aspects, and contexts. I’ll move back and forth between the two. You can use the one that suits your teaching needs at the time.

One scenario is the pizza store, which I’ve used before, and cover extensively in my book. In this case we can start with a landing page, which has a fixed menu too. We only accept cash, payable on collection. We don’t deliver. This can be done in a number of ways, but is simple and easily put together.

Over time the pizza store can be extended with more thin slices to add card payments. menu options, delivery, and other features. The key is that each of these can also be started with a bare bones part, to which more is added in thin slices.

The other scenario is a polar bear example, which I’ve used in teaching. I like this as it uses open data, and can be extended in a second example with maps, and data science aspects too. Bonus parts are the issues around moving data from spreadsheets into database tables, and making this all presentable.

The polar bear example could be extended further to add more features as hinted at in the examples. Show the path a bear takes over time, let people search by area, show bears tagged on a specific date. You could also add authentication, editing, and other features too, which a polar bear scientist might need.

Use this is your classroom

For now you can highlight the issue of slicing with your students. Pick an example, and have small groups discuss how they might slice stories into small thin slices. Ask them what order they’d choose for development. You could also tie this into the development work too: how might they test the slices? What are the tasks for each story?

I find the discussions around these topics are as useful as them also doing some of the development work in the exercises. The key is to help them realise that thin slices speed up the feedback loops. They deploy faster, and find errors faster. They learn faster.

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