Chapter 60. Start with a Walking Skeleton

Clint Shank is a software developer, consultant, and mentor at Sphere of Influence, Inc., a software design and engineering services company for commercial and federal clients.

Clint Shank
image with no caption

ONE VERY USEFUL STRATEGY FOR IMPLEMENTING, verifying, and evolving an application architecture is to start with what Alistair Cockburn calls a walking skeleton. A walking skeleton is a minimal, end-to-end implementation of the system that links together all the main architectural components. Starting small, with a working system exercising all the communication paths, gives you confidence that you are heading in the right direction.

Once the skeleton is in place, it's time to put it on a workout program. Bulk it up with full body workouts. This means implement incrementally, adding end-to-end functionality. The goal is to keep the system running, all the while growing the skeleton.

Making changes to an architecture is harder and more expensive the longer it has been around and the bigger it gets. We want to find mistakes early. This approach gives us a short feedback cycle from which we can more quickly adapt and work iteratively as necessary to meet the business's prioritized list of runtime-discernable quality attributes. Assumptions about the architecture are validated earlier. The architecture is more easily evolved because problems are found at an earlier ...

Get 97 Things Every Software Architect Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.