Deciding what to do next is one of the hardest jobs in software product development. It looks quite easy at the start, with a fresh new product, and with a one-digit team, but at some point in time, as the product expands and grows — and lucky is the one who lived up to that moment! — we start facing some tough choices. Seems like oh so many new features are much wanted and much needed, and this decision-making becomes a very uneasy task. Even with the choices made, there might be a backward feel that another feature or improvement should have been given a higher priority and go first.
Targetprocess is quite a mature product (almost 10 years young), so we've had our share of those pains and choices. Some practices have been helping us decide along the way, and I'd like to share a few tips on what works, and how we continue to explore the better ways for decision-making.
Ideas and Votes
Collecting the suggestions (ideas) from customers and leads is the most obvious thing to try. That's what we keep doing all the time. People have been able to submit their ideas and vote in Targetprocess Help Desk portal almost from the very beginning. Here's how this page with ideas looked in the early Targetprocess:
The more votes an idea gets, the more likely it is that this feature will be implemented. We've been counting votes, and that's how quite a few of the features squeezed into production. Some features had to wait for several years though, before they finally were implemented.
Then, as we've been coming up with an innovative version of our tool, we craved feedback not only from customers, but from anyone interested. From anyone, who spent some time playing with Targetprocess 3. We are using UserVoice to get the best of this impartial and objective feedback . UserVoice is a very convenient web venue for people to post their suggestions and to cast their votes. That's how our page with suggestions (ideas) and votes looks:
Then the stakeholders can sort and prioritize these suggestions on a board. Numbers that come with a thumbs up show many votes have been received for that idea:
Mathematical Models and Intuition
Then, another group of influences is coming from those folks who interact with leads and customers: from product specialists, and from our support team. These guys collect the metrics which then help us make a summary of the voices from people who find it more convenient to share their feedback in personal interactions.
It's particularly hard to decide what to do next, if the voices coming from customer-facing people do not match the priorities that stakeholders have in mind. What should take the lead: a suggestion for a feature spoken out by a dozen large customers in their conversations with product specialists, a feature that has 100 votes in HelpDesk or UserVoice, or a feature that stakeholders want to implement based on their strategic product vision? There's no finite answer to that question. One has to find a balance between all of these. But still, how, how to decide? We are now poking some mathematical models that would process all those voices. Still, as far as I can see, in some cases a model has to be put aside. Most likely, if strategically important features are at stake. A mathematical model would be better suited for smaller features and improvements. For some crucial features forming the innovative new feel and engine of the product, it would still make sense to follow the vision that stakeholders come up with based on many things they observe. This would be a a responsible intelligent choice of a human being. Models can't feel and think, they only process numbers and their powers are quite limited. But models work great if stakeholders want to free up the time they would otherwise spend mulling over the tiny "what to do next" choices, and do some meaningful work instead. Come up with new visions and strategies, for instance.