The Specification is Dead; Long Live the Specification

In the olden days, most people followed a waterfall method. It involved writing “complete” specifications on exactly what had to be built, how it would be built, how it would work, look, etc. You’d have the “complete” package of documentation up-front and then you’d start coding. Seems like eons ago…

Then we were introduced to agile development, which encouraged us to throw away big specifications and go with user stories, or to eliminate documentation entirely and just start coding, building things iteratively.

I’m greatly simplifying the evolution of software development into a couple paragraphs, but you know the drill — specifications went from being necessities to being outlawed. To draw a quick parallel, the same has happened (to a large extent) with business plans. They started out as big ass documents you’d write before doing anything practical / hands-on with your business. People then decided they weren’t necessary whatsoever. We’ve now found a middle ground (which is constantly shifting and evolving based on practice and results vs. whim) with things like the Lean Canvas, which provides us with a focused and simplified means of designing a business.

I’d say the same holds true for specifications. And I’ll admit it, I like them, and I haven’t gotten rid of them. But I’ve definitely changed how I write them.

I like to write. I find it’s a great way of recording structured and unstructured thought. Documents are useful for organizing and re-organizing thoughts as well. So I tend to start any new product requirement work with a specification. It’s not an ultra-lengthy and detailed description of how every feature will work or look, but a generalized description of the requirements (from the client’s perspective – which is more like user stories). These early specifications (call them “product briefs” or anything else you’d like) often include brainstorms and rough ideas too, as a way of capturing that information for later use or integration into the product.

My specifications often include descriptions of things we may (or will likely) build in the future. Not to overwhelm developers with detail, but to eliminate as much future risk as possible. When starting iteratively with something small, it’s often easy to forget (or ignore) stuff that’s going to come down the road, and so it’s not well-planned for. Inasmuch as I’m a fan of building small, iteratively, and releasing often, I don’t like the prospect of getting caught with my pants down later because we didn’t have even a bit of foresight. And occasionally these forward-looking notes become priorities sooner rather than later; having them described – even briefly – in the specification, helps move them into place and adjust development plans.

I don’t see specifications as ultra-descriptive product roadmaps. I see them as four things:

  1. A high-level, but “all-encompassing” brain dump;
  2. A customer-centric description of the value we’re trying to provide, describing the functionality to be built short-term (often including ideas, brainstorms, differing options);
  3. A future-looking description of things to be considered, and potentially planned for; and,
  4. A launchpad for discussion, debate, validation (or invalidation) with customers … a “working document.”

Specifications aren’t writ in stone. Quite the opposite. They include text, mockups, wireframes, diagrams, scribbled notes, etc. Throw it all into the mix and organize it in such a way that it makes sense for you and your team. As quick as we want to release, as iteratively as we want to develop, there’s still merit in planning before doing.


Don’t Sell Technology, Sell Magic

magician

Tech startups aren’t in the technology business. They’re in the magic business. I’m not talking about sleight of hand tricks, fooling people with funky props, or pretending to saw off someone’s head. I’m talking about providing magical experiences to customers. Startups need to sell magic.

Most customers don’t understand the technology that exists behind the products they use. Most don’t care. They don’t need to. The products they use just need to work. That’s it. In the course of working – and working incredibly well – those products delight and astound. They’re magical. If your product isn’t magical in how it works, how it makes people feel, it’s design, and the results it creates (the ROI to your customers!) … you have a problem. If you’re trying to sell technology for technology’s sake, you may impress a few people, but you’ll confuse and irritate more than you impress.

Customers want results. They’re attracted to products that delight them. They’re impressed by startups that communicate and respond quickly to their issues. They want value, and they want you to fit seamlessly into their lives. They want a lot. Really: they want magic. Sell magic, not technology.

Image courtesy of Shutterstock.


Being Responsive is Critical for Successful Customer Development

Most customers tolerate bugs. Most customers tolerate products with missing features that they need (or think they need!) Most customers tolerate the quirks and hiccups that come with new technology and software. This is true of early adopters, but it’s even true to some degree, of late adopters. Customers can be quite forgiving. But what they won’t tolerate is being ignored. Even the feeling or inkling of being ignored can set customers into a rage; and worse, have them looking for alternative solutions to yours.

The way to avoid this is simple: Be Responsive.

Set an early precedent with your startup – that becomes part of your company’s culture – around the importance of responsiveness. And use those customer interactions to learn from them. Your goal is to keep customers happy, but early on it’s so much more than that. You have to learn and understand if that happiness will translate into ongoing product use. You have to learn about customers’ usage, and whether it’s inline with assumptions you’ve made. You have to collect feature feedback and assess the relative importance of those requests. You have to understand the perceived value (or lack thereof) that they’re getting, and analyze any quantitative data you may have.

Being responsive also means being proactive. Don’t wait for customers to reach out with complaints. Don’t expect happy customers to contact you constantly with glowing testimonials. Reach out on a regular basis, create those ongoing touch points and keep customers happy, all the while gathering the intel you need to improve their lives even further going forward.

Responsiveness can mask all sorts of product issues. You’ll be amazed at how forgiving customers will be simply because you responded quickly (almost always more quickly than they expect too!) Responsiveness eases tension, impresses people (because they’re not used to it), and changes how people perceive the product they’re struggling with and the entire company that makes the product. This doesn’t mean you can build crappy products and get away with it just by being responsive. But at the early stages of product development, when you’re putting rough versions into customers’ hands, being responsive is your best tool for keeping people happy and learning how to improve the product itself.


Ben Yoskovitz
I'm VP Product at GoInstant.

I'm also a Founding Partner at Year One Labs, an early stage accelerator in Montreal. Previously I founded Standout Jobs (and sold it). MY BIO >>

Follow this blog via email

Advertisement
Startup Resources
A collection of posts I've written over time on key subjects:

Find Stuff
My Photos