With Scrum, there is the principal of user stories and these stemming tasks etc etc iterating around to a finished product - which is fine.
But, let's say I have 100 features that need implementing, in the real world I can't put any developer on these until a lot of the normal ancillary stuff has been done - for instance, doing a UI design (surely you need to have an overall idea of functionality for this?), or building the underlying stuff that doesn't necessarily manifest itself as a feature.
So, where does this happen?