The Danger of Dogfooding
When everyone involved in building a product are also using the product themselves, they’re said to be ‘dogfooding’. Dogfooding empowers good design decisions, but it has its downsides…
As Jared Spool notes, when teams are designing and building for themselves, they consistently improve the tasks that they do frequently but ignore the critical-but-not-frequent tasks.
The most common of these neglected tasks is a new user signing up and getting onboard. Everyone does this once and once only, so dogfooding doesn’t highlight any opportunities to improve it. But ignoring your onboarding is equivalent to redecorating a restaurant dining room while simultaneously ignoring the dead body on the doorstep. You might wonder why there’s no guests, but no one else does.
Here are some signs that you’re dogfooding too much.
1. An out-of-date product tour
At one point in your product roadmap, someone went ahead and designed a product tour to showcase all the features you had. It probably worked wonders for any newly acquired customers around that time.
Then the UI changed. More features were added, some features were killed (hopefully), and updating the product tour became a chore. One that got ignored in favour of new features and more shine.
Now new customers arrive and can’t make sense of anything. Something that was in preferences is now in settings. Some screens are gone. Some look totally different. New customer don’t see this product tour as being ‘out of date’, they see it as confusing as hell. Rather than engage customer service, they’ll flick back to Hacker News and think about how it’s been a while since they found a good product. Potential customer lost.
2. Documentation & Screencasts no longer relevant
Along with ignoring the onboarding experience, your product team don’t regularly read documentation or watch screencasts. Why would they? They know exactly how it all works, they built the damn thing.
So no one realises that the docs are hopelessly out-of-date. No one notices that the screencast carries the wrong logo, and explains how to do things in an old version of the UI that is no longer available.
To new customers, these docs are even less helpful than the product tour. The screencast is great but they can’t find the screens that it shows, no matter how many tabs they click on. They’re confused. We know what confused customers do. They click “Back”. Potential Customer Lost.
3. Poor onboarding communications
Life cycle mails, drip feed marketing, marketing automation—call them what you will, they too go stale as a product matures. This can get very messy: call-to-actions in your emails can 404, special discounts can no longer apply, screenshots and how-tos expire… there’s a lot of content that needs to be kept fresh here, but the product team doesn’t don’t receive “Day 3 engagement mails”. They’re on day 300. So who notices when all these communications go out of date? Customers do, and again, rather than report it, they just click unsubscribe. Potential Customer Lost.
Sign up for your product every week
The only way you’ll notice any of these problems is by making “onboarding” something you evaluate regularly. Then you’ll catch things before they get out of hand and you’ll update them. This is hard work, but so is creating good software.
These extra tasks are why start-ups look back with a sense of nostalgia at the days when they could bash out new features every week. There were no docs, no screencasts, no product guides, and no life cycle emails. Sure, the product was smaller, but more importantly there was no product collateral to be maintained. No customers to be communicated with or upsold. It was just “put this live and see if it works”. Now it’s “document it, update the product tour, edit the screencast, re-write the welcome mail, and then put it live”. I know what you’re thinking: software is much easier when you don’t have customers to worry about.
To start-ups who tell me that they dogfood their product all the time, I say that’s great. But remember, to actually eat dogfood you have to open a brand new packet, every single day.