Making the Abstract Concrete

Why prototype an application before building it? The common answer to this question is well known: to get more accurate requirements. But what’s behind this? Does a project that develops a prototype produce better requirements than one that doesn’t?

It does. The reason is simple: prototypes make abstract ideas concrete.

Here’s a non-prototyping scenario we’ve all seen: a team develops an app after going through tons of rounds of wireframes and visual designs eventually landing on something that everyone is happy with. Late into the development process, the team distributes an alpha version of the application with a few weeks left to QA.

Once everyone plays with it, a flood of feedback comes in from all directions. The UI person wants some more screens, the designers don’t like the button highlight states and the developers suggest upgrading to a newer SDK. The clients say that theirlegal team will have to rewrite the terms and conditions and that have a lot of feature suggestions that will improve the app.

Everyone had the whole app laid out in wireframes and designs for months so why is this feedback coming in now?

This all goes back to the two different types of thinking the brain does while problem solving, abstract and concrete.

If you look at a chair and think “I should sit on that chair” you are thinking concretely. But, if you look at the chair and think “What other things can people sit on?” you are thinking abstractly. Both types of thinking play a very important role in how we develop ideas and problem solving.

Reviewing wireframes and designs involves abstract thinking on how to solve the creative problem. Using an alpha version of an application requires concrete thinking on whether that is the best solution. Users do not experience software as an abstraction, but as a concrete phenomenon.

This is why building and distributing a prototype early on is an essential part of the product development process. It incites more logical and coherent thought about what the application is going to be earlier on in the process. And it clarifies better requirements. Most importantly, prototyping gives equal time to both abstract and concrete thinking. So that the first time all the stakeholders think concretely about the application, doesn’t come when it’s too late to change anything.

Restored from Internet Archive · Capture: Sat, 19 Sep 2015 19:29:07 GMT