Start Your Project With a Walking Skeleton

14. April 2018
Kategorien
Newsletter abonnieren

Start your project with a Walking Skeleton

In order to reduce risk on large software development projects, you need to figure out all the big unknowns as early as possible. The best way to do this is to have a real end-to-end test with no stubs against a system that’s deployed in production.

You could do this by building a so-called Walking Skeleton, a term coined by Alistair Cockburn. He defined it as 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. A similar concept called “Tracer Bullets” was introduced in The Pragmatic Programmer.

A Walking Skeleton is 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.

If the system needs to talk to one or more datastores then the walking skeleton should perform a simple query against each of them, as well as simple requests against any external or internal service. If it needs to output something to the screen, insert an item to a queue or create a file, you need to exercise these in the simplest possible way. As part of building it, you should write your deployment and build scripts, set up the project, including its tests, and make sure all the automations are in place — such as Continuous Integration, monitoring, and exception handling. The focus is the infrastructure, not the features. Only after you have your walking skeleton should you write your first automated acceptance tests.

This is only the skeleton of the application, but the parts are connected and the skeleton does walk in the sense that it exercises all the system’s parts as you currently understand them. Because of this partial understanding, you must make the walking skeleton minimal. But it’s not a prototype and not a proof of concept — it’s production code, so you should definitely write tests as you work on it.

High Risk First 

According to Hofstadter’s Law, “It always takes longer than you expect, even when you take into account Hofstadter’s Law”. This law is valid all too often. It makes sense than to work on the riskiest parts of the project first, which are usually the parts that have dependencies: on third-party services, on in-house services, on other groups in the organization you belong to. It makes sense to get the ball rolling with these groups simply because you don’t know how long it will take and what problems should arise.

Making changes to 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‘ 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 stage when less has been invested in its implementation.

The bigger the system, the more important it is to use this strategy. In a small application, one developer can implement a feature from top to bottom relatively quickly, but this becomes impractical with larger systems. It is quite common to have multiple developers on a single team or even on multiple, possibly distributed teams involved in implementing end-to-end. Consequently, more coordination is necessary.

No Shortcuts

It’s important to stress that until the walking skeleton is deployed to production (possibly behind a feature flag or just hidden from the outside world) you are not ready to write the first acceptance test. You want to exercise your deployment and build scripts and discover as many potential problems as you can as early as possible. The Walking Skeleton is a way to validate the architecture and get early feedback so that it can be improved. You will be missing this feedback if you cut corners or take shortcuts.

In a nutshell: Start with a Walking Skeleton, keep it running, and grow it incrementally.

Tags

Das könnte Sie auch interessieren

The Professional Services Transformation Paradox #11 – Risk Mitigation vs. Innovation

7. Mai 2026

Professional services firms are designed to minimize risk. Their business model depends on trust, reputation, and consistency. Clients rely on them for assurance, judgment, and reliability, which means failure is not just a delivery issue, but a firm-level risk. A single incident can have disproportionate consequences, whether through litigation, regulatory scrutiny, or reputational damage. That

Weiterlesen

The Professional Services Transformation Paradox #10 – Client Intimacy vs. Platform Standardization

28. April 2026

Professional services firms win through relationships. The closer they are to the client, the more value they create. Understanding the client’s context, adapting to their needs, shaping solutions around specific situations rather than applying generic ones. That is where trust is built, where differentiation happens, and where premium pricing becomes possible. Standardization moves in the

Weiterlesen

The Professional Services Transformation Paradox #8 – Short-Term Revenue vs. Long-Term Capability

23. April 2026

Professional services firms are built around revenue. Revenue is visible, measurable, and immediate. It drives partner compensation, signals performance, and anchors decision-making across the firm. Every client won, every project sold, every hour billed translates directly into current-year outcomes. Capability building works differently. It requires investment upfront, often without immediate return, and pays off over

Weiterlesen

The Professional Services Transformation Paradox #7 – Partner Autonomy vs. Firm-Level Strategy

18. April 2026

One of the defining features of professional services firms is partner autonomy. Partners are expected to build and run their own business. They originate clients, grow revenue, manage teams, and are rewarded based on the performance of what they directly control. This creates strong ownership, high accountability, and a culture where individual success is tightly

Weiterlesen

The Professional Services Transformation Paradox #6 – Service Lines vs. Firm

16. April 2026

One of the most persistent illusions in professional services is the idea of “one firm.” From the outside, large firms present themselves as unified organizations. One brand, one client proposition, one set of capabilities delivered across audit, tax, advisory, and deals. The expectation is clear: if the firm is integrated in the market, it should

Weiterlesen

The Professional Services Transformation Paradox #5 – Global Standardization vs. Local Economics

12. April 2026

One of the least discussed challenges in large transformation programs is the illusion of standardization. From the outside, global professional services firms look highly uniform. One brand, one set of services, one methodology, delivered across countries in a way that suggests consistency and control. Audit, tax, consulting, deals all appear to operate within the same

Weiterlesen

The Professional Services Transformation Paradox #4 – Accountability vs. Alignment

1. April 2026

In large transformation programs, accountability is rarely missing. It is distributed. It sits with executive sponsors, steering committees, transformation offices, service line leaders, and partner groups, each with a defined role and a legitimate claim to involvement. On paper, this creates alignment. In practice, it often removes ownership, because when accountability is spread across too

Weiterlesen

The Professional Services Transformation Paradox #3 – Long-Term Investment vs. Short-Term Management

27. März 2026

One of the most underestimated constraints in professional services transformation is not technology, capability, or even funding. It is time. Real transformation takes longer than most firms are structurally able to tolerate. Core systems such as ERP platforms, data architectures, AI capabilities, or global workflow solutions are not incremental improvements. They are foundational changes. They

Weiterlesen

The Professional Services Transformation Paradox #2 – Internal vs. Client Execution

26. März 2026

One of the most persistent, and least openly discussed, tensions in professional services firms lies in how they execute their own transformations. It is a tension that does not reveal itself in strategy decks or partner presentations, but in the day-to-day reality of large internal programs that quietly struggle to deliver. At first glance, the

Weiterlesen

The Professional Services Transformation Paradox #1 – Technology Alliances vs. Internal Fit

20. März 2026

This article is part of a series exploring the tensions at the core of the Professional Services Transformation Paradox. The paradox itself is straightforward, yet deeply consequential. Firms that excel at transforming their clients often struggle to transform themselves. Not because they lack capability, but because their own structures, incentives, and operating models create resistance

Weiterlesen
Next