I've been a software developer for the last 20 years, and been working at home for the last 7 of those. If you're worried about distractions or procrastination, then you need some discipline--it's not an issue for me. I'm way more productive at home than I've ever been at an office surrounded by coworkers.
I have a VPN connection into the office, and while it's not fast, it's more than enough for what I need. I'm using my own hardware, but then, that means I use exactly what I want.
Once a week, I meet at the office (~50 miles away) with the rest of the development team to discuss, face-to-face, who's working on what, what's coming up, customer issues, whether anyone has any blocker, etc. We have a quick group call with the boss (daily) over Skype, and we Skype each other throughout the day as the need arises.
As for distractions--it's pretty simple, I tell everyone that if they wouldn't come up to me or call me at the office during my regular work hours, then they shouldn't be calling me at home either during that time.