How do we design new features at Nextpoint? We identify the essence of a feature and get it in the hands of users. Typically it goes something like this:
1. We brainstorm… use our imaginations and throw out a lot of “wouldn’t it be cool ifs” without any real consequence.
2. Identify the major technical hurdles. Inevitably there are a few. And that’s a great place to start from a execution standpoint. Build the proof of concept and make sure it’s doable.
3. Strip it down. We’ve already brainstormed all of the details and complexities. So we just peel ’em away until we are left with the absolute minimal amount necessary to get the core benefit of the functionality complete. And recognize that we might be leaving a ton of other potential benefits on the table.
4. Release. Get it out there and in use as soon as possible.
5. Improve it based on real-world user feedback. Often times the ideas during the brainstorming phase come back… but surprisingly many of them never do. And if they do, we already have an understanding of the concept and have discussed where it fits and the difficulties with implementation.
So basically, we branch out and explore the feature. Let the scope fly wildly out of control but only on whiteboards and in our imaginations. And then strip it down to the essence, get in use, and respond to real user feedback.