Tuesday, October 23, 2007

Team Foundation Server Role

Recently, I've been assigned to the Australian Tax Office as a Team Foundation Server administrator. It took quite a bit of adjustment and a whole lot of learning to adjust to this new role. From someone who routinely broke the build when I checked my code in, I became responsible for the code of a few hundred developers.

Software Configuration Management was never a field I dreamt of entering to be honest. I was always more focused on integration, collaboration and the user experience. As a result, I dedicated my time to learning how to use the Microsoft Smart Client Software Factory. I was very much inspired by my ex-career manager, Michael Daniels, who I hold in high esteem.

When I was first posted to the ATO, I spent a lot of time learning as much as I could about TFS and MSBuild (which is the foundation of TFS build types). Later on, I experimented with creating my own custom build tasks and learning how to integrate them into the builds.

After that transition period, I was straightaway thrust into work and had to implement an FTP task to a mainframe. The code for FTP was thankfully written by one of the architects at the ATO and he saved me the long road of having to experiment with API calls to implement FTPing up to the mainframe. There are some quirks around how the mainframe's file structure is handled and I won't go into the details.

After getting the FTP task to work, I recently adapted the build types to build both by latest and by label in a flexible and efficient fashion. My predecessor implemented a few custom Get tasks that were slow and took ages to process. The result was a timeout during the builds. The performance gain with the new build types was phenomenal! A build that used to take over an hour would take just 5 minutes. I'm still testing to see if this build type satisfies all the requirements but I'm fairly optimistic.

I'm currently enjoying my role as a TFS admin. I wouldn't thought I would ever say this but the learning experience and the responsibility satisfies me as a professional and it's a role I'd like to continue in at least in the near future.

After reading numerous blogs from experienced TFS experts such as Grant Holliday, Nagaraju Palla and from my colleague, Andrew Whitten, I discovered a community that is free with knowledge and helpful beyond expectation.

Here's to the future!

No comments: