Design by building

At a client meeting for a project recently, we were planning a sprint and I was asked “But when do you do the design?”

Since joining dxw from the Government Digital Service, I’ve found myself working with organisations that don’t follow the same agile, iterative product development approach that both these organisations take. It seems that for many in the industry, the design process is still separate from the messy business of actually building websites.

At dxw, we design as we build, we test with users and then iterate. We start on paper but quickly move to designing in code. We take the same approach my former colleague James Weiner elegantly wrote about back in 2012.

Separating design in agile product design is a risky business. A client might sign off a design that is difficult for a developer to implement. To make it work, compromises are made and the end result looks different from what the client thought they were getting. Unhappy client, unhappy designer whose design got mangled and an unhappy developer who built the wrong thing. Nobody likes delivering the wrong thing.

For us, design is not a separate discipline but an integral part of our product development process. The best way to meet user needs is for designers and developers to work as a pair to develop a product. When you release a product or service into the wild, you’re going to have to operate and manage it. This means, the design of the back-end is just as important as the front-end, everything has to be scalable and manageable so separating the back and front ends makes no sense.

For back-end engineers, they are not just shipping code to make a design work. They too are building to meet user needs and the architecture of the overall system is what helps you do that.

Last night, I went to see the World of Charles and Ray Eames at the Barbican and was struck by the prototypes they built of their iconic molded plywood chairs. Charles and Ray Eames experimented with plywood until they perfected the mold for their chairs, a process of iteration. They built their Kazam! machine to perfect the process.

My take is that for them, design and build were effectively the same thing, the same process. It might seem obvious to some, but this is the way we should be approaching building digital services in 2015.