My most recent Rails project has been fairly interesting to me because it's the most structured of any project I've ever done. Every week there's a conference call between the development team and the clients in which we demo all the work that we've done in the past week, bring any questions of direction or specifics before the client, and discuss what area the next week's development should cover. There's probably a fancy agile name for this methodology, but we kind of just go with what works for us.
Every week since I thought of it I've written out everything that the week's demo will cover. I've found it's helpful to write out exactly the steps you're going to take to demonstrate the new functionality. Any small questions that can wait for the demo are noted in the margins, as is a list of initial plans for what you will take next week. It's also great to have paper in front of you during the call so if there's a small fix you need to do you can just jot it in the margins.
I've found myself to be more or less terrible at time estimating in the past, but the structured nature of this project means I'm constantly thinking about how long things have taken in previous iterations and how I should consider future features in the light of this. I've never had such a small feedback loop before, so I think this experience will go along way towards improving my estimating skills in the future. Being able to go back over the demo sheets also gives me a concrete record of what was done in each iteration, which is a handy reference.
Thinking in small discrete steps is great.