Vertical Slice

Today, I learned about Vertical Slices from the Compiler Podcast from Red Hat.

It is an interesting idea to get some initial integration and testing work done.

A lot of my work in Systems Engineering is interface definition, and vertical slices often come in the form of test beds. These test beds help connect functional blocks together for the first time.

Initial development design and verification is still done on each block to ensure that it meets its requirements and use cases.

05:11 — Kim Huang Ryan often talks to people about what he says are core concepts of the development process. One of them he talks about at length is called the vertical slice.

05:24 — Ryan Singer This is where we talk about horizontal layers versus doing one vertical slice. And this idea of one vertical slice where there's some backend working, there's something that you can click on, and it does something that we can actually try it out and understand does it do what we thought it was going to do? And getting to that point sooner than later, that's a really great moment for a team.

05:50 — Brent Simoneaux I don't think I quite understand this concept of the vertical slice.

05:54 — Angela Andrews Me either.

05:55 — Brent Simoneaux Can you give me an example of this, Kim?

05:58 — Kim Huang Sure. A vertical slice, if you're thinking about a cake, if you're thinking about different layers, different layers of the stack, if you're cutting something vertically, it's showing all of those layers working in sync. They're all working together. All the flavors of the cake, all the layers, the frosting, the cream in the center, the sprinkles, they're all working together to give you what you should expect from that cake. It's the same thing in development. A vertical slice is showing all those different components that we've talked about over the course of the last few episodes, all working together to bring whatever product that a customer is looking for to life. It's a different vibe from a demo where a lot of the parts of a demo can be simulated. You want to demonstrate to the person who's looking at the demo a slice of reality. That's what a vertical slice is. And that can be used to communicate to different people who work in different areas of the stack, a holistic picture of what the work is now. That can open up discussion for challenges, issues, and even improvements that can be made on future versions of whatever they're building.

Red Velvet Cake with Cream Cheese Frosting from Sally's Baking Addiction

This leads me to an intersting thought I'll explore more with SysML, a subset of the Unified Modeling Language Specification, for applications in systems engineering.

How do we get vertical slices in systems budgets or systems models?

More thoughts in a future article!