I've spent the last day and a half migrating our Team Foundation Server from a test box (setup to determine if TFS would work for us) to a production server (Stored in the server room, better backups, etc...) and I've ran into a few problems.
The first, suprisingly, is one of perception. When you say Development, it gets downplayed. So it's a matter of distinction. There's "development" data, which is test data that can be rebuilt, restored or recovered with little difficultly. Then there is "development process" data. (Revision control, issue tracking, project documents, etc...) that is truely production data, and should be protected at all costs. Fortunately, everybody has been convinced which is why we've promoted the box to production.
The second problem was with the migration. Very straightforward, and very time consuming. Especially since we had to back up all the databases by hand, and restore them one at a time. Fortunately, it was pretty easy to script up, and it took about 3 hours total.
And the third was with the darn service pack. I didn't install the SP before I did the migration into the new server, so everything worked by Source Control. Fortunately, this came to my rescue, and by removing the fifth user, I was able to upgrade and now everything works.
Whew!