I just finished an in-place upgrade on our TFS2010 installation from the release candidate to the final. Everything went smooth. Five project collections upgraded fine and the data warehouse rebuilt with no issues. This is on the environment mentioned in my previous post.
Be sure to look at the TFS2010 install documents for information and do database backups.
You can find the installation guide here.
We’re on the eve of the RTM release of Team Foundation Server 2010 and I’ve been messing with an installation at home and one at work for a couple months now.
My current work setup is:
- VM server #1 (single CPU VM, Win Server 2008R2, 6gb RAM) – TFS server, Sharepoint Services, SQL 2008 Standard
- VM server #2 (single CPU VM, Win Server 2008R2, 4gb RAM) – Reporting Services and Data Analysis server
- Desktop PC (dual core proc, XP SP3, 2gb RAM) – build controller and two build agents
I’m currently hosting five different project collections on this setup. My department’s “production” collection is the most active with around six TFS “projects” and a little over 500 work items. It’s mostly new development that is going into the TFS stack but I’ve been so busy with emergency work during the day and meetings that I’ve not been able to provide much guidance in regards to migration from the old VCS to TFS.
What have I learned?
- Security can be a nightmare as there are TONS of moving parts between Sharepoint, TFS, SQL, Reporting Services, and Data Analysis. My approach is to leverage domain groups and create matching groups in the various services. Then to add/remove someone you just go through the domain admins rather than adjusting everything in multiple places across the technology stack. But, this is still a lot more work than it should be, in my opinion. I cannot imagine properly administering this in an environment with thousands of users. I hope a power tool is released or some sort of centralized admin tool is created by someone.
- I have a lot more respect for Sharepoint now. I’ve always been involved with Sharepoint from outside the department that administers it. I’ve created a couple web parts at a previous job and fought with overly possessive and territorial admins, which made life a nightmare. Being able to see the inner workings of Sharepoint and figure out the admin side has made me realize there is a lot more to the product than meets the eye. I’d like to take time to preview Sharepoint 2010 in the near future as it seems like they’re really pushing it as a “platform” rather than a content management system.
- Despite the positives I’ve found in Sharepoint, the integration between TFS/Test Manager and Sharepoint just doesn’t feel right in some spots. It seems like there is a lot of missing feedback from things like builds and the testing environment that don’t make it back into the portal by default. I’ll list some examples at some point down the road. I just feel like you have to click through too many work items often to find the results or something.
What’s next?
A custom project template for my department.
- We’re not quite “agile”, but I’m leaning things that way. So, I want to leverage what is in the agile template for 2010, but add or remove a couple items.
Integration with an outside work request/ticket system.
- There are a lot of big companies out there in bed with Computer Associates/CA. We have a Service Desk system in place at the corporate level and groups are being pushed heavy towards that for tickets and requests. However, there is an initiative to migrate source control and other project artifacts to TFS. Obviously, this will be an issue when you’re going through your development/support life-cycle and you have no traceability of work items, since they’d be in Service Desk. In my opinion, without work items in TFS, you really don’t gain much other than a better VCS than SourceSafe. I have some tech info on the web services for the CA product and have started to wire up a link between the two.
Evaluation of the Scrum for Team System template.
- Other groups evaluating my TFS implementation are using a full-blown Scrum methodology.
Some sort of time-tracking tool integrated into TFS that links time to work items.
- This is a controversial one when you look around the blogs.
- Personally, I have such a chaotic schedule during the day and support over 500 users across 50+ “applications” which range from large web applications for payroll to single-page legacy ASPX apps I support. I’d like to say the process for support requests or emergencies is controlled, but the fact is we are understaffed like most groups. By the time 3 or 4pm hits, I often am scratching my head about where the majority of my day went. And when you add a handful of meetings each week, it gets really out of hand. So, I want to make it clear that I want time tracking for myself. Not some big brother, “how long is your ass in the seat”, time-tracking.
- I really like the little time tracking tool that you can download and use with Paymo, a free time-tracking/invoice web app I’ve used for side projects. I’d like to make some simple little toolbar widget that has a list of work items assigned to you in TFS and a timer start/stop. There are some other features I have in mind, but it would allow me to keep a more realistic overview of what I actually did each week. I currently rely on my Outlook calendar (which looks like a bad game of Tetris) and old emails; but those techniques are hardly accurate.
And finally… update to 2010 RTM. Which comes out around 10am PST tomorrow!!!
I ran into an issue when dealing with memory utilization early on in my TFS2010 setup.
Basically, right after getting Team Foundation Server up and running, I created a new project collection with a better name for my group rather than using the default “DefaultCollection” or whatever it is. Unfortunately, because SQL was hammering my available memory, the schema creation task during the collection setup failed.
After getting my memory issue worked out, I setup a new collection and all was good. The only issue is that in my TFS admin screen, I still had this old corrupt collection in my list. It was not attached (and displayed) to Team Explorer, but it bothered me to have this corrupt database laying around. Unfortunately, the TFS admin utility would not allow me to delete the collection because it thought the SQL database associated was still updating its schema. I tried digging through the Tfs_Configuration SQL database to see if I could trick TFS into thinking the status was good, but I found nothing that seemed safe or that wouldn’t leave me a bunch of orphaned records in my configuration db.
Thanks to Anna Russo, a member of the MSDN forums, I found a trick that worked. Here was her suggestion:
1. Run command prompt as administrator and navigate to drive:\Program
Files\Microsoft Team Foundation Server 2010\Tools
2. tfsconfig collection
/detach /collectionName:<name> or tfsconfig collection
/delete /collectionName:<name>
3. You will be prompted
if you are sure
The “tfsconfig collection /delete /collectionName:<name>” option worked for me and now I am free and clear!
So, the WinPhone7 development tools "preview" (or whatever its called) was released earlier this week. I'm, personally, pretty excited. Silverlight development is something I've been wanting to do more of and I'm an absolute nerd when it comes to gadgets.
I was an early smartphone adopter going back to the WindowsCE/Mobile days, then a PalmOS phone, then an iPhone, and now I'm using a Google Nexus One. I love my Nexus One, but I've not found the time to get my Java hat on and mess with much development lately. Being that the new WinPhone7 development is Silverlight, XNA, and C#, that will be very easy for me to mess with some development during lunch at work and things like that. I have some XNA experience from years ago and have been wanting to mess with that again sometime, too. This all gives me a good excuse.
I'm pretty excited about the technology stack. This blog post by Mike Hodnick (who does some awesome Silverlight audio/synthesizer development) describes his first-impressions of the tools. Sounds like the emulator is somewhat limited, but I'm sure we will see improvements over the next few months.
With this announcement and the Silverlight 4 RC release at MIX10, I expect this year to blow up with Silverlight development.
Get started with Silverlight 4
Windows Phone 7 development site
Filed in c#, silverlight, windows phone 7, xna
|
Tagged c#, mix10, sdk, silverlight, silverlight 4, windows phone, windows phone 7, winphone7, xna
|
In a follow up to my earlier post on TFS2010 and memory utilization on a VM (found here), I have applied the following setting to my SQL2008 instance and I’m restricting SQL to 1.5gb of RAM (out of 4gb). I feel this should be plenty for my small amount of usage.
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
/* set server to 1.5gb */
EXEC sp_configure 'max server memory (MB)', 1536
RECONFIGURE WITH OVERRIDE
After running the command (and replacing the value with whatever you decide to use), you can run a command to check the “config_value” and “run_value” to make sure it is actually using your settings.
EXEC sp_configure 'max server memory (MB)'

Seems to be working out alright right now, but I do have to run a perfmon on the I/O usage to see how much paging may be occurring during heavy hits, like setting up a new TFS project.
Figure this may be an option for those of you setting up TFS on a PC or machine without a ton of RAM available. And, in all reality, this is more of a SQLServer config issue than Team Foundation Server item.
If you’re a SQL2008 guru and I committed a major sin by making this change, drop me a note with some ideas, please. I know there is a resource governor in 2008, but my understanding is that it is only available on the Enterprise, Dev, and Eval versions. Since I’m running SQL2008 Standard Edition, I looked at other options.