What Is The Opposite Of A Vacuum and Should You Develop Software In It?

February 4, 2008

Chances are, that if you've been involved in the creation of software or any kind of product, you've probably heard the advice: "Don't develop in a vacuum".

A vacuum is a space that is essentially empty of matter (according to Wikipedia). It's a philosophical concept because practically it is not possible to have a space that is completely "empty". But, I like to deal in abstractions anyway, so that's good enough for me. "Don't develop in a vacuum" generally means not to go off and write code in the absence of customer feedback. This should not be particularly controversial advice. Developing software without knowing whether users will like it, based purely on speculation and conjecture doesn't seem particularly smart. I've never met a single person that has said: "You should go build your product in a vacuum!"

So, I think it's good to not develop in a vacuum and ask users what they think as early as possible and as often as possible. But, it's great to actually be users of the product yourself. This advice has been widely circulated too. If you build something you would use yourself, your chances of success go way up. The reason is not particularly complicated. It's more efficient to have conversations with yourself than it is to try and go find users. There's a lot less lost in translation as well. Rumor has it, the most successful products at Google (like GMail) are the ones that Google employees actually use.

So, if developing without user feedback is developing in a vacuum, then what's the opposite? Developing under infinite pressure? I'm not sure, and I'm not smart enough to stretch this analogy along this particular dimension. But what I do know is that "developing for yourself as a user" starts to present risks at a certain point.

Let me give you a real world example. My startup, HubSpot, develops inbound marketing software. For purposes of this article, it's not necessary for you to know what that means. Lets just say that many businesses need it as it helps find more paying customers and increase sales. We originally started building the product because we had the problem ourselves, and couldn't find a reasonably good solution. So, we built something we thought we'd use ourselves. And we do. We don't just casually use it either. We're extreme users. We run our blog on it. We get sales leads from it. We track marketing analytics on it. We live inside our product. We could not imagine life without it. Most of the time, this is a really good thing -- except when it's not.

Here's when it's not: At a point, you have to stop and ask yourself how representative you are of your potential market. If you're a lot like them, then you can get away with having conversations with yourself pretty often and not lose sight of the customer too much. If you're not like them at all, conversations with yourself are not productive. My startup is somewhere in between. Although we resemble our target customers a lot (we're a small business with 25 employees, we sell to other businesses, and we have real marketing people on staff), we're not a perfect fit. Most of our customers are not as technical as we are, don't read SEO blogs all the time and actually have lives . But, the biggest difference is that we know too much. Not that we're smarter, but we're just around the problem too much. We live it too much. We have people that think about nothing else all day. Hence, it's easy to over-complicate the product because it seems "obvious" to our internal users. They fly right through the new features. The solution? Go get good, honest feedback from real customers/users whenever you can. There's no substitute.

Summary: Don't develop your product in a vacuum. If you can, be your own customer. But remember that conversations with yourself can only go so far because you know too much and it's unwise to try and pretend that you don't.

What do you think? Are you your own customer? Have you hit the limit of how much feedback you (as a company) can give yourself? Would love to hear your thoughts in the comments.

Written by Dharmesh Shah

Recommended For You


Let's Connect

And, you can find me on Google+, Twitter, and Linkedin.

Recent Posts

Chat with GrowthBot

It's a bot to help you with your marketing and grow. You can research your competitors, improve your SEO and a lot more. http:/GrowthBot.org