How to take a new idea for a feature, website or app and turn it into an actual product? Well, for me, it’s a 5 step process. The more time I spend on the first two, the easier the rest is. None of it is complicated, but that doesn’t mean it’s always easy. The five steps are as follows:
- Clearly Outline the Goals
- Create a Clear Flow of How It Will Be Used
- Design the Interface
- Build the Implementation
- Make It Live (Market It or Push It)
Now these steps apply at all levels of the idea stage. You can use these 5 steps when building a brand new service from scratch, or adding a feature to your existing product. It can also be used to evaluate existing features or flows that you don’t feel are getting the conversions they should be.
For the rest of this article, we’re going to look at actually doing this for a feature. Let’s say, you and your team have decided that you need to build a voting system for the posts on your site. You could just wing it, fly by the seat of your pants and build something. And it could work, it could be fine. Or, you could follow these steps, and KNOW that it will work and it is the best implementation possible with the given information. That doesn’t mean it will be perfect, or that you’ll never have to change it. But those changes are hopefully driven by new data, not ‘just because’.
The first step, Clearly Outline the Goals. Sounds easy enough, but honestly, this is the hardest step of them all. What are the goals of a voting system then? Well, primarily I’d say so that your users can find the best posts written. So they can quickly see which post on a given topic has the most ‘bang for the buck’. Oh, this one only has 2 votes and it was published a year ago? It probably isn’t very good. But THIS one has 150 votes and was published 24 hours ago? I want to read that. Now that might seem like kind of a long goal, since we’re trained to want one-liners or catchy titles to pitch at business meetings – which is fine. But that doesn’t help you build the best implementation possible. Be verbose, use as many words as it takes to make it clear. If you give it to your 10 year daughter, does she understand what the point is behind the feature? If so, you’re probably good. If not, you should probably figure out what the problem is.
The next step, Creating a Flow for the feature. The amount of effort this takes largely depends on the scale of the idea. If you’re going through these steps for something that doesn’t exist, this will probably take a significant amount of time. Don’t half ass it. Draw it on paper, create flow charts, create a Power Point. Do all of it. Make it so that if you quit the day after finishing the first two steps, the next guy could pick up right where you left off, without having to call you. What does the flow look like? Well, there are two. The first one is as a voter, the second is as a reader. As a voter, I want to read the article, and then vote. So putting the vote buttons at the top of the article is probably not a very good idea. As a reader, I want the votes BEFORE I read the article. So don’t make the user click the article to see how many votes it has. Be forth-coming with information, you’re not selling something. Don’t bait & hook.
Now steps three and four can switch places depending on what you’re doing. If you’re not sure how to build it, and have no idea technically what it is going to take, start on the back-end, start on the implementation. As soon as you have a clear idea though, go back and Design It. Designing it and creating the flow can often times go hand in hand. Sometimes naturally a design will start to come in just based on the flow. But both steps are important to keep separate.
Designing the Interface, it’s really important to get creative here. I highly recommend starting on actual paper. Cut it all up, put it on a board, use strings to connect the dots. Do whatever you have to, but have fun & be creative. Once you finish that, go into your favorite image editor and design it all out. Now you can build a mock-up of it in HTML and make sure that it all translates well. The reason you start on a piece of paper is because it doesn’t take any effort to toss the paper to the side & start over. If you take the time to try and make everything on the computer, you tend to get attached to the first draft because it took effort to create, you became emotionally attached to the design. That is a good way to shoot yourself in the foot. So for our votes feature, we need a design for our thumbnail/excerpt that readers will see. Then we need to design the actual vote up (or down) buttons that are at the bottom of the post.
Building the Implementation by now you should have a clear idea of the flow, and exactly what it will look like. That should make building the implementation a snap. If the previous steps were done well, and as a collaborative effort within the team, that should drastically reduce the amount of time spent asking & answering questions. Having someone from each department involved (design, development, management, etc) as soon as possible in all of the steps will also help. It is frustrating for everyone involved when a design goes to development, just to have development say that the design isn’t feasible/possible. Eliminate this by making sure everyone is collaborating, and communicating their thoughts effectively.
The last step, Make It Live. This step depends again on what you’re doing with this exercise. If you’re adding a feature like our votes, then make it live and use funnel conversions to prove your feature works. Don’t just assume it works, do your best to prove changes. This is also a good mindset to get into when making changes. Prove there is a problem, and WHAT and WHERE the problems are. Don’t assume anything. If you’re using these steps for creating a whole new service, then this step is also marketing. Market the crap out of it. Be proud, tell the world about what you and your team just built. If you’re excited about it, then your end-users will be too.
Those are the 5 steps I typically take when planning & building things. It’s a lot to go over in a single blog post. I will probably do focused blogs on each of the steps at some point, walking through a real-life situation complete with pictures & code. But I will have to plan that out some more, and I have other topics I want to write about before then. So stayed tuned, lots of interesting things coming up!