Imagine that you want to buy a home.  Instead of buying an existing home, you decide to build a house.  You are on a tight budget, so instead of hiring a licensed architect, you decide to draw the blueprints yourself.  After months of careful planning and rigorous documentation, you meet with a home builder, place your drawings on her desk and deadpan: ”I’ve already created the blueprints.  I just need someone to lay the bricks.”

What do you think the home builder will tell you?

Everyone’s an architect until the house falls down

A house isn’t constructed until it has gone through a lengthy, rigorous architecture process.  High-quality software operates the same way.  If you want to maximize the value of your investment, you need an engineer to think through many long-term considerations:

  • How does the plumbing connect to the sewer? (in software terms: how should memory be allocated and managed throughout the lifecycle of the application)
  • How will the electrical wiring be exposed in terms of connecting circuitry? (in software terms: how should your API web service be built to support other applications)
  • What combination of materials will maximize the durability of your house? (in software terms: on which software platform(s) will the app be built and maintained?)
  • How should traffic optimally flow? (in software terms: how should you optimize app performance during peak load).
  • How do you comply with environmental and legal standards? (in software terms: how can you get your app approved by Apple and the communities who will support your promotional efforts)

Many times, some people ignore these considerations and jump straight into wireframes.

UX is architecture, UI is interior design

Wireframes are sort of like interior design; they describe what the colour of the couch is, and where the couch should be located.  These are not the concerns of your architect when you’re building a home, and they are not the concerns of your software developer when he/she is trying to build your app.  If you didn’t involve a developer in your wire-framing process, you’re setting yourself up for a situation in which the couch looks gorgeous in a house that will crumble at any minute [1].

Ray and I now politely decline projects where wireframes are already drawn out.  Your best bet is to find an offshore development team to complete your project.  We’re happy to refer to you to ours.


[1] For what it’s worth, most home developers hire professional interior design firms to showcase their final constructed product, much like real software developers hire professional UI/UX designers to collaborate.

Update (Nov 4, 2012): Before I hit send on this post, I put a question out to Twitter, asking how others handle this question of wireframes over products.  As expected, Toronto didn’t disappoint me with their responses.

Update #2 (Nov 5, 2012): Discuss this post on Hacker News.