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.
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 ...