Maybe I'm taking this too much from a developer's stand point, but I'd like to add "don't just think about today's problems, think about tomorrow's problems too" By which I mean, once you know the business and your users, you can start to get a feel for what they might ask for. As your solving one problem, try to anticipate some of the things they may ask for in the near future.