When beginning a new project, the most important thing is to view it from the eventual end user's perspective. Determining how my software can improve a user's day-to-day life is my goal in any software project. To gain perspective of their workflow and goals, I seek out and solicit feedback from potential users early and often in the process.
Initially I try to capture the essence of the project on paper – taking notes, sketching interfaces, and drawing out data flow diagrams. This gives me a reference when speaking with and soliciting feedback from users. Once the concepts begin to gel, I'll transfer paper notes to a digital format. I store