Start with a Walking Skeleton

Agile pioneer Alistair Cockburn introduced the concept of the Walking Skeleton:

...a tiny implementation of the system that performs a small end-to-end function. It need not use the final architecture, but it should link together the main architectural components. The architecture and the functionality can then evolve in parallel.

In the book Growing Object-Oriented Software, Guided By Tests the authors elaborate on this concept:

A “walking skeleton” is an implementation of the thinnest possible slice of real functionality that we can automatically build, deploy, and test end-to-end [Cockburn04]. It should include just enough of the automation, the major components, and communication mechanisms to allow us to start working on the first feature.

The Walking Skeleton is usually described as the best way to start a new project, by confirming first that you can get a small amount of functionality from end-to-end—in other words, that your delivery pipeline is working. Since we know that the value of software is realized in production, we establish from the very beginning of the project that we have the means to release something.

I believe that not only is a Walking Skeleton the best way to start a project, but it's also a great way to start a user story. When adding a vertical slice of functionality to the software, I begin by establishing that I can simply communicate anything through all the layers. Once I have a Walking Skeleton built for my user story, I'll then start adding meat to the bones, knowing that I have a mini-pipeline in place.

It's a delivery-focused mindset that can be applied at the micro and macro levels of a software project.