It’s too easy (and too rewarding) to focus on the details

July 27th, 2008

A couple of days ago I found myself thinking about the process of software design (as I often do), and I posted this tweet up on twitter. I got a few responses in twitter, and a few via IM, so I thought I’d take the opportunity to discuss this topic.

Essentially the hypothesis is that it’s too “rewarding” to focus on the details. That is, it offers too much personal benefit (the satisfaction of setting and achieving goals) at the cost of the final product.

What’s the Problem?

When I speak of the “software design process”, I am referring to the process of deciding on how the product will work, and then carrying that through to development. Whether this is adding new features or re-designing current features, every company has their own way of doing things, depending on size, experience in the marketplace, customer needs, et al.

Many companies impose false metrics upon themselves in order to build as many features into the product as they can. This makes it easy to walk up to a potential customer, then provide some sort of feature matrix showing your product is far superior to the competitor’s.

By “false metrics” I mean setting short term goals, such as building out features, and then measuring success on your ability to achieve these goals. This is a terrible measurement of success because it trickles down. Each employee judges himself based on his ability to achieve these goals, rather than building a product that people love.

We set release dates and aim for a set of features to implement; then, when we have achieved this goal, we celebrate and start it all over again.

This works for many companies, sales-wise, but this mentality will ultimately lead to a crappy product.

The fact of the matter is that the more resources you spend working on details, the fewer resources are spent working on The Big Picture.

The Big Picture?

In software design, what I mean by The Big Picture is this: can the customer still do what they need to do with your product, despite the number of features you’ve provided them?

Take a look at how I phrased that… despite the number of features you’ve provided them.

When designing software, adding features typically means adding buttons. In web-based software, it means adding links, new pages, new interfaces, and more. Simply put, if you were to draw a web application on a whiteboard, and each unique page is a box, and each link is a line connecting boxes– new features typically means more boxes and more lines.

More boxes and more lines equates to more options for the user, and more options easily leads to confusion and paralysis.

Everyone knows this, though– but yet customers still request features and capabilities beyond what your product provides, so how can we fulfill their needs without overwhelming them?

The Solution

The solution varies depending on what your product is, as well as your internal processes for building the process, so I can’t really provide an actionable solution. What I can provide is something to think about, and hopefully apply to your product design process.

When looking at your product, perspective needs to continually shift. When customers are asking for a particular feature, shift perspective to how they’re using the app and figure out the problem before deciding on a solution. When deciding on the feature, shift perspective to the future of the product to make sure everything is in line with the overall goal of the company.

Once a feature is decided upon, be sure you shift perspective often to the whole of the current product, rather than grabbing a magnifying glass to make sure the feature is pristine. Have people unfamiliar with the product use it a bit to make sure the focus of the product is not lost.

The goal is to be completely void of any unintentional changes of the overall feel and purpose of the product. After all, it’s The Big Picture that your customers are using, and not the tiny minute details and features. Unless your details and features contribute to The Big Picture in a consistent manner, your product will feel clumsy and tiring to your users.

Comments are closed.