Skip to content
Home » Blog Posts » Creating thin slices has many benefits

Creating thin slices has many benefits

Your students gain a lot from developing their work in thin slices

I’ve covered a number of ways to look at slicing product development the last few weeks. This covered lots of reasons why you should teach it to your students too, along with some useful examples that clarified some of the issues too. The previous posts were Teach Students to Develop Thin Slices of their Application, Teach students to grow thin slices into features, and Teach students to develop thin slices across relevant layers of the app.

This time I want to bring all of this together as a summary. The nutshell argument is that by starting with a very thin slice of your application, you put the pieces in place to grow the application. If you also deploy it now, then you’re also putting the parts together for continuous integration and continuous deployment.

Photo by freestocks on Unsplash

Thin slice development is more than this. As in the image thin slices are about the thinness of each component, and also how they layer together too. These all combine into multiple positive aspects.

Thin slice development also provides many other agile aspects, which aid development in general, but especially when combined with team collaboration. Teaching students this approach, means they also learn the benefits of focused work in time boxes, risk reduction through prototyping with early feedback, and speeding up learning with speedy development and deployment of thin features.

Thin slicing connects with other product development processes

Thin slicing works well with story mapping the product development as well as time boxing too. Both of these make the development process more effective.

Story mapping, developed by Jeff Patton, aids the visualisation of the ‘whole app’ so the team can find the key elements that form the skeleton of the application. Then they can add more features to the bones of the skeleton.

Thin slicing combines with story mapping to look for the smallest slice possible to start a story. Then it envisages how the slices might combine, slice by slice into the whole feature.

Time boxing aids the development by focusing on only the parts being worked on in the current thin slice. Time boxes helps focus effort so that the team and individuals aren’t spread too thin trying to do too much at any one time. The time box here is the one of the sprint, but also the focus of the thing story itself, which should also be shorter than the sprint.

Deploy early to reduce more risk

Students look at me like I’m mad when I suggest they should aim to deploy their first version as soon as they start development. They assume they need to have a ‘complete’, or ‘more complete’ version before they think about this side of things.

I point out that deployment is a risk they will face, which is more easily managed earlier than later. When the app is small it is easier to deploy. It is easier when they don’t have time pressure closer to a deadline. It is easier when they have multiple options for deployment and can work through, or even compare options now when they have the time.

After these issues are clarified, then they think I’m less mad.

Prototype as you go for early feedback

Working in thin slices makes it easier to explore and prototype ideas. The team is only making small changes in each layer. This makes it easier to try something, get some feedback either within the team, or from a client, and to either continue, or roll back changes.

Thin slices are completed more quickly, so there is less waiting for completion. This mean feedback happens sooner. Earlier feedback means decisions can happen sooner as there is less waiting.

Learning is faster when the slices are thin

As noted above, feedback is sooner with thin slices. The team learns more quickly this way.

Internally team members learn and develop their skills more quickly with this focused effort. They also more quickly developed a shared vision of the app too.

Internally, if they are also collaborating across the layers to build each slice they are learning more about each other, and how to more effectively collaborate as a team. Their work is now more considered and results in less rework as they are talking as a team and thinking of how the parts need to fit together.

Externally the team is also providing work their client can see too. This also speeds the learning. The client will have ‘an idea’ of what is possible, and desirable, but they also are on a learning process and are learning as they work with the team. By deploying slices more easily and speedily, the team make it easier for the client to also learn more about the application they are developing together.

Use thin slices in your classroom work

You can highlight all of these points in your classroom. Each can be covered in a lecture, as well as developed through practice in practical sessions in your labs.

Provide time for students to explore with each other in a lecture how they might make slices thinner at each layer. By talking and discussing, this allows them time to see options and hear what others propose too. This makes it easier for them to apply the ideas in their own work.

Guide them with practical exercises in their team work too. Ask them to develop thin layers for their applications. Point out where they might make them even thinner.

Use lots of open ended questions as you talk to teams to make them think about options they’ve overlooked.

All of these practices will help you help your students become better team collaborators.

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