The Roundtrip Problem

A lot of work goes into design. We start with a product strategy created to support business goals. From this we create a design strategy, and then design concepts based on this strategy, and test them in various ways with users or user-proxies.

Based on what we learn from tests, we create design artifacts representing the direction we have the most confidence in. These artifacts may be low-fi wireframes, or high-fidelity pixel perfect prototypes. This work is, at some point, approved for development.

In even the best teams, in the most collaborative environments, I see a recurring problem that seems to be a result of our tools and technology more than team structure.

The Problem

So much work goes into design artifacts, and then developers have to start from square one building the actual UI. The carefully crafted, sweated-over design work is available at best as a guide.  The process of turning design work into a working product is 99% human-powered.

If, in the development process, the UI deviates from the design intent (often for good reason), rarely is the design work updated to match production. When a new request comes for a new feature or change to the existing product, the design artifacts and production UI are not in sync, so a variety of workarounds come into play. These vary from the more responsible (update the design files to match production) to the crude (take a screenshot and build on top of it).

The Solution?

There must be a better way to keep design in sync with the actual product, but I haven't figure out how yet. Every potential solution I find with ends up trying to turn designers into developers or vis versa.

What I want is a deterministic, bi-direction isomorphism between the design representation and the production UI. I want to way to transform the real production app into design files that can be experimented with by a design team. I want a smart diff that shows development teams what has changed and what hasn't. I want technology assistance in connecting the design intent to the application as delivered.

Right now this connection is 99% dependent on smart humans being conscientious. I don't know yet what the solution is, but I am convinced that when it is solved, the industry will shift en masse to the new paradigm, and our status quo will seem barbaric in hindsight.