Everyone wants to know what you are going to be working on and bringing to market over the next year. They want to know what cool things you are choosing to work on. And most software groups fall into this trap of trying to show all the things they want to bring to market.
It’s a trap because no one knows what features they actually need to develop and deploy. By putting a stake in the ground you are now tied to features even if they turn out to only be a niche solution. (This isn’t completely true because there is the opportunity to just ignore your forecast and move forward regardless but then you may have unhappy users that were planning on the feature.)
Development on a system early in the lifecycle should be all about adding new features that will add users. In the middle lifecycle features should be added that make a system more sticky with users. Then finally you should be adding features that make the system more robust. The starting point for each of these stages is unknown and will happen over time. Planning a year in advance to move into the features of a new phase may sell out new potential that the market realizes.