This post about creating the product backlog as a map deserves more attention than I’ve given it so far, but I really like the idea and I’m coming back to it. Wish we’d been able to use it when we were redeveloping our current application in rails.
In the sprint, aim to deliver everything. Done. Software written, UATed, documented, load tested, ready to roll.
In scrum, you get news early (good or bad). From sprint 2, you should be able to begin making projections about how long the rest of the project will take.
A recent post on the Scrum Development list detailed a way of dealing with bugs in scrum. While it’s a bit unconventional, in that the sprint backlog changes mid-sprint, I’ve got say I like it. Might even be adaptable to dealing with other priorities changing mid-sprint (genuine new, urgent, user stories) which is more likely to happen to me.