I've found that web development as a whole works best by iterative development, using many concepts from Getting Real and other agile theories. This is definitely true of Drupal. When you start off with Drupal you'll start building content types, views and panels galore, and there's nothing wrong with this, it's the best way of getting your ideas out so you can see how they work. You'll also then start dipping your toes into other modules and then writing your own, using books and documentation along the way. Good times.
The thing to remember is to revisit your previous work and improve upon your work: export views to files to speed them up and add an element of revision control; rewrite some clunky SQL queries with improved architecture and views; merge two modules you wrote before and make one that's better; add extra text to node titles for improved search engine accuracy; clean up the CSS and views to work faster and produce more sane output. And on and on..
There's lots to do, lots to learn, don't stop!