Chat is Awesome
All you really need to collaborate, IMO, is anything with chat and file transfer and something like Google docs for issue tracking. I've found Skype to be among the most useful tools at every company I've worked at that adopted it.
Chat is invaluable because it lets you inform people of issues or concerns that aren't immediately blocks without having to wait around and wait for them to finish off another conversation, etc. and it tends to get a more immediate look than e-mail.
Also, the one thing I like about Scrum-like processes is the daily standup, except just chat it at roughly the same time of day. No meeting room waits. It's easier for people to work at home when sick or waiting on the cable guy or whatever... And it's valuable to have that written record so you can document frequently recurring issues when you see the same things coming up over and over again. Create a different room for that daily check-in so it's kept clear of all the other day to day details that tend to pop up in chat.
Training on Tools/Legacy Code
I've never seen more time wasted on anything else. If you have a tool somebody is unfamiliar with, familiarize them with it. Hand them a good book. Have them sit down with you for occasional debug sessions on an IDE, etc... Likewise with code that you're maintaining or re-using a lot. Make a point of documenting it as you introduce new devs to it and they ask questions, etc. but definitely sit down with people and talk about legacy code before throwing them at it and give them plenty of debug tasks early on so they can dig into a bit more before adding features or re-using portions of it.
Whatever You Choose For Documention, Stick With It
Keeping docs all in one place, written with the same tool, and accessed the same way is huge. You're not doing anybody in the future a favor letting people just doc however, wherever, with whatever they want.
Have the Entire Team Do Estimates for related projects
It is hugely valuable for rookies to get more experienced opinions and ultimately helps everybody get better at it.
Nip Configuration Issues in the Bud
I've been in scenarios where it could take days to configure a new machine. There's no excuse for that. Get all essential tools and pre-configured servers on one build/ghost image keep it up to date as new stuff is added. Don't assume devs can just handle installing their own stuff. It's easy to forget just how many layers of stuff you've added over the years.
Use Version Control Properly
Some of the afore-mentioned configuration issues I've run into were in large part due to another team not feeling comfortable with branching, forcing us to redo about 30 XML config files by hand (that should have never happened either of course) once a month or so whenever we updated a version of the app we maintained. If you're not yet a VCS power-user, become one or hire one. Also don't let Maven, Ant, and an outdated version of Eclipse get into a 15+ XML file fight with each other. It's real ugly.
Update to Latest Versions of Tools/Frameworks/Librabries Whenever Possible
You never know when stuff is going to go out of date and suddenly a new dev has to track down something not available anymore. Stuff like that can also clobber ramp-up time, although usually this issue will be dealt by creating images of everything you need. Another issue you'll dodge is being forced to handle a series of upgrades all in one shot.