Last week I spent about two days caught up in trying to figure something out. (If you really want to know the what, it was how to configure the Spring Security Core Plugin use a field other than username for performing user impersonation. You probably don't want to know.)
Anyhow, the important point is I spent a good 12 hours last week fiddling with this one particular example, and couldn't get it to do the thing I wanted. I was convinced that that was it, over done, finished, period.
I was wrong.
On Monday, I went into work, ready to raise the big red flag about how we were screwed, a big refactoring was going to have to happen, and it'd be a lot of work, blah blah blah, etc. Someone else I work with asked me for the files to my demo application where I was trying to work this out, and said he wanted to tinker with it.
An hour or so later, he got it to work. I was shocked, but in a god way. After he showed me what he did, I did it too, retrofitting it into my existing application. This is a very good thing. It made my boss happy, and will make several other higher-ups at the company happy.
Stuff like this is why it's great to have an editor for your writing, too. It's always a great idea to have someone else's eyes on your work, a second opinion. After my co-worker found that thing, and pointed out to me what made it work, I saw the assumption I had made which had stopped me in the first place. He only was able to work it out because I had made a simple prototype in which to test it in the first place. (In turn, I had done that because yet a third co-worker had recommended that to me as a strategy for working it out.) The whole thing is an example of interdependence.
Independence seems like it's the highest ideal, but is often not really a tenable position. (Try say, painting your whole house by yourself. Sure, you CAN do it, but it would really suck.) Interdependence is really very powerful. It certainly helped me out yesterday.