It's simple:
1. You add a deadline by which time you expect some particular featureset to be completed (for example, the user interface) 2. The you add a bunch of features to that deadline (like toolbar, about box, etc). 3. You have a series of tasks for each feature that need to be completed like a standard todo list
Normal planning does not work for ISVs. But the approach above works (for me at least), because it allows you structure the way you approach your coding. It's not about traditional planning in any sense, it just a way of organising your todo lists in a manner that fits with the way that ISVs approach their products.