Of all the phases of development, analysis is the most difficult. For me, at least. I am currently the business analyst for my startup. Well, technically, I am every freaking role of my startup as I am the only one working on it right now. However, what I mostly do is analysis, user experience, and of course, software development.
Out of each of those, analysis is the most challenging for me. I put modeling in there as well. It is the most abstract and therefore requires the most brainpower. What’s more, it involves designing something no one has used yet. In short, you’re seeing the future, now.
I will literally spend days on the analysis tasks, when it feels like it should take a couple hours. However, this is by design. I am a little unorthodox in that I make sure I give myself lots of time, and yes, to be distracted. Oddly enough, during this time, I find distractions help with the process. But, in the end, it takes everything I got to stare down the task at hand. Developing the user interface helps, but that, too, requires completely new conceptual ownership and fulfillment.