Have you ever tried to bake some cookies? Cakes? I did, and the results weren’t always as good as I expected ?. Apparently, your expertise and know-how play an important role in creating anything. But there’s one secret to success: a recipe. If you have the right, detailed recipe, you’ll be able to eventually create something outstanding.
Software development (or plugin development, if you will) isn’t that different from cooking: if you want to create a perfect product, one that you users will love, you also need “a recipe.” In our world, this recipe is called the “development roadmap,” and it’s up to you to define it and stick to it.
What’s the Development Roadmap of a Product?
Wikipedia offers a comprehensive definition of what a technology roadmap is. Essentially, “it’s a plan that matches short-term and long-term goals with specific technology solutions to help meet those goals. It helps reach a consensus about a set of needs and the technologies required to satisfy those needs, it provides a mechanism to help forecast technology developments, and it provides a framework to help plan and coordinate technology developments.” That is, it’s a method that’ll help you define and monitor the evolution of a project.
How to Define a Development Roadmap in 5 Steps
To define a successful development roadmap, you’ll first have to think about the problem you want to solve and, then, how you’re going to solve it. This process is quite important because it forces you to think before acting, and it, therefore, helps you gain some insight on your upcoming work. In Nelio, we take the following steps:
- Identify the problem you want to solve.
- Brainstorm a list of ideas with all the solutions and functionalities that might help you solve the problem.
- Define what your MVP will look like.
- Prioritize all functionalities, and sort and group them so that you can create a roadmap with upcoming iterations and releases.
- Get your users involved in the process.
1. Identify the Problem You Want to Solve
The first and foremost step in any development is always the same: identify the problem you want to solve. For instance, Nelio’s two main products aim to solve to well-defined problems:
- How to improve my website’s conversion rate
- How can I save time writing new content and promoting it in social media
Once you’ve identified the problem, validate it. That is, discover how many people has this very same problem and try to focus on “big issues.” The more people affected by it, the greater the impact of your solution will be. Now, you might think that all big issues already have a solution… and you’re probably right (for the most part). But here comes a tip: it doesn’t matter if a problem already has a solution; I’m sure it can be better. There’s plenty of examples where an innovator provided a new solution to an old problem. Taxis allowed people without a car to move around the city… and yet Uber popped up. HTC and Palm were creating “smartphones”… but iPhone revolutionized the marked nonetheless. Don’t be afraid to bring innovative solutions to old problems!
2. Brainstorm Your Solutions
After you’ve decided which problem you want to solve, think how you’ll actually solve it. What’s the core feature you need to solve it? Are there any other features that would make my product better? How to I build a business around it? Do I need cloud support? This is the phase where you must find an answer to all these questions. Because these answers will shape your final product.
For example, when we were defining Nelio Content‘s roadmap, we thought about implementing an editorial calendar and simplifying blog promotion on social media. We also have a bunch of ideas on how to help users create content: post quality control, reference management, built-in image search, and so on.
So, once you have such a huge list of features, how do you decide what should be implemented now and what should be addressed later?
3. Define your MVP (Minimum Viable Product)
The MVP is a product with just enough features to satisfy early customers and to provide feedback for future development. In Nelio Content, this MVP included the Editorial Calendar and social media support. But how the heck did we come up to the conclusion that those were the features we wanted? Well, you must take a look at all the features and possible solutions you specified in the previous step and answer the following questions:
- If I include this functionality, do I solve the problem?
- If I remove this functionality from my product, do I still solve the problem?
Both questions ask the same thing but from different perspectives. In this phase, you must decide the minimum set of features that your plugin will include. It has to be as small as possible because you want to release the product quickly and get real feedback ASAP. Therefore, you have to make sure that all relevant functionalities are included (that is, getting rid of any of them would imply an unsolved problem), but no more (or you’d be wasting your time coding unnecessary features).
4. Prioritize Other Functionalities and Define Milestones
The previous step pushed you to create an MVP—the minimum viable product that solves the problem you aimed to solve in an innovative way, without any fancy stuff. This means you’ve been able to quickly develop a new solution and market it. Congrats! If your intuition was right, your new plugin will be welcomed by your users. You’ll see how your user base grows steadily. Now it’s time to think about the future.
In step 2 you generated tons of ideas that would make your product great, should all of them be included in it? But, really? All of them? It’s time to take a second look at them and rethink their purpose and the benefits they provide. Try to answer this questions:
- How do they contribute to the project?
- Do they complement it? Improve it?
- Do they make some process easier?
- Do they add complexity?
- Can you think of any new ideas?
Your goal right now is to prioritize all those ideas and group them in upcoming releases. You have to select those ideas that will add value to your project while being true to your initial proposal. But that’s easier said than done, right? Well, keep reading!
5. Get Your Users Involved in the Process
As I said, the previous step is pretty easy to describe, but a hell of complex to implement. All your users are different, and so are their needs—that’s why it’s so difficult to decide what to implement next. The solution? Ask them! Talk to your users. Ask for their feedback.
One of the best moments to ask for help is when a user opens a support ticket. I know it might be counter-intuitive, but bear with me: you’re now talking to a user who faced a problem and, instead of just leaving, took the time to contact you and ask for help. I’d say that’s an enthusiastic user, aren’t they? Just fix their issue and then ask for their help. What would they change? What should be improved? Is there anything missing?
Users love to share their opinions and be heard. Your plugins are supposed to help people, right? Then listen to people! Their feedback will help you define the best roadmap ever.
Now Your Turn
How do you tackle new developments? How do you decide what to include in each release? Do you encourage your users to give you feedback? How? Share your thoughts with us!
Featured Image by Sylwia Bartyzel.