Some form of tracking tool is the correct place to document the roadmap, in my opinion. The roadmap can be continuously monitored and updated. TODOs in code just end up as comments that exist for a decade because no one along the way wants to delete them, even if they have no relevance anymore.
Even though "mainline" has been structuring a tad over the past 5 years or so, Linux has no roadmap, no product management team scheduling features, no nothing. It is the epitome of bazaar development model done over mailing lists... and it's been working pretty well.
> Linux has no roadmap, no product management team scheduling features, no nothing.
I would bet large money that Linux has a great many of all three of those. They are just handled in a distributed manner by the various teams working on the different features.
Bazaar doesn't mean disorganized. It means there is no central planning authority. There are many individual planning authorities with their own agendas.