I’m sure you’ve heard or read about many successful tech companies using their own products as part of their business (this applies particularly to SaaS firms), and the many benefits it brings to their product development. Well, at the risk of sounding like I just realised the world is not flat, I’m here to declare that this is only the first part of a marvellous truth. You should use your product even while it’s in development.
As I pointed out in my last post, I am building an app in my spare (hah) time. I am actually quite close to having a releaseable app (or minimum viable product, as it were). Obviously I won’t give away too much about what it does, but suffice it to say it is in the personal finances space, and actually something I’m building to solve a headache of my own. If other people use it, that’s cool, but I’m being narcissistic on this one and building it for yours truly.
Anyway, despite its basic current implementation, I decided to start to use it myself just for kicks. And that, folks, is when the bomb dropped. In the 10 minutes or so I’ve been using it so far, I’ve already added a handful of new features to my backlog. And not just “nice-to-have”s or “wouldn’t-that-be-cool”s. Really important features that I overlooked, that may even make-or-break the product from a usability view. Why did I discover them now? Because hitherto I was approaching my product from a birds-eye view, and not a ground-level user’s view. Hell. Of. A. Difference. No matter how much you think through the user’s needs, you can not completely comprehend their needs until you actually use it yourself.
So, developers: use your product as early on in development as you can. Even if it’s just scaffolding (of the Rails kind or other). It will get your head in the right space and you will focus on the most important features, and not just the “cool” ones.
Does this apply to large companies too? Definitely. If you’re in the technology arm of a firm, why not give business stakeholders or the product owner access to the nightly builds and get an internal feedback loop going? Google has been doing this for some time with the release of their Chromium nightly builds and, more recently, Google Canary development builds. I don’t know if Googlers outside the Chrome team are using the nightly builds on their desktop, but I daresay they should. Feedback should flow into your product from every possible source.
Maybe every developer worth his or her weight in gold already knows and practices this. I don’t know. But I am sure as hell doing this from now on.
UPDATE - just to clarify, I don’t mean just use it as you test it, I mean use it for pleasure. Use it to fill whatever void you’re filling in a user’s life. If you don’t find it useful, or enjoy using it, your users probably won’t either.