Thursday, February 26, 2009

Managing Working Directories for Team Foundation Builds

In the last month I have had two separate clients have issues with how their working directories were setup in their TFS builds. First a system drive was running out of space from a large amount of new projects being built, and second some builds were failing due to some file paths being over the OS enforced limit of 260 characters. These were caused partially because it is not immediately obvious where the working directory for the build server is located when you create them. This post is a quick review of how to manage the working directory and avoid the two issues above.


The working directory is the location where the server will place all the source code for a TFS project's build. It is logical to think that since you are asked to select a workspace during the creation of the build definition, that the build would use the local directory set in that workspace. That is not the case.



If you create a build with most of the defaults the working directory will be a temp folder under the Local Settings directory for the user that the service runs under (which is usually TFSSERVICE). You can see this is the buildlog.txt screen shot here.


So by default all the source code for all the builds will be on the system drive (most likely) and will start out in a directory path that can be 80 to 100+ characters deep already giving you not much room before you will hit the 260 character limit.


So you may initially go back to the build definition to point to another directory on another drive with a shorter path. But you will see that while you can set the drop location where the compiled output of the build will go, the working directory is not set in the build definition.



The working directory is actually set in the build agent in the Working Directory field (funny enough). By default this will be $(Temp)\$(BuildDefinitionPath). The $(Temp) is what points us to the user's temp directory under Document and Settings.



So we can change this to point to the directory and drive of our choice to prevent our system drive from being overloaded and hopefully avoid reaching the 260 character limit when the source code is pulled down.



Wednesday, February 25, 2009

Comfortably Scrum: Estimating and Forecasting Beyond the Sprint

After my presentation at the Nashville PMI IT Local Interest Group last night, several project managers stayed to talk about estimating and project forecasting with Scrum. One was skeptical about being able to reliably tell management where they would be 6 months or 1 year down the road. Another was in an experienced XP shop that only planned for the current iteration and was having trouble meeting long term goals. The coincided with a thread on the Lean/Agile Yahoo group about estimation and planning that includes contributions from many experienced Agile leaders.

One of the posts had a link to an older presentation by Mike Cohn at Google on estimating that is a fantastic introduction to how to estimate and forecast in an Agile project. Here is the PDF version and the YouTube part 1 and 2 are below. He has many of the examples I have seen and used in my presentations based on studies done at Simula Research Laboratories in Norway. It is good to have this research for the skeptics you will eventually encounter. I really like the "Zoo Points" exercise and plan to add it to my training. Mike (and others) have many more great presentations at the Mountain Goat Software site.







This is a great intro to estimating User Stories (i.e. Product Backlog Items) and performing release planning to have an idea of where your project might be far into the future.

Tuesday, February 24, 2009

PMI Scrum Presentation


Tonight I presented for the Nashville PMI Chapter at their IT local interest group. We had a great crowd and it was interesting to see how many traditionally trained project managers were interested in exploring their options with Agile/Scrum. The group was very engaged and there were tons of good questions and conversations after the presentation was over. I want to thank the organizers for a great event.

Saturday, February 21, 2009

Radio TFS "Getting Agile With Team Foundation Server" Featuring Yours Truly


Mickey Gousset and Martin Woodward from Radio TFS were gracious enough to have me on their podcast this month. You can subscribe to the RSS for the podcast here. We talked about implementing Scrum and XP engineering practices using Team System. Here are some links to items we mentioned during the interview:

Thursday, February 19, 2009

Please Review my Session Proposal for Agile 2009


I have submitted an in-depth demo on implementing Scum/XP using Team System to the Agile 2009 conference coming up August 24th to 28th in Chicago. This conference has a great open mechanism for reviewing content.


Presenters post online abstracts of their sessions for anyone to review and comment on. The organizers can add reviewing comments, but anyone who cares to register on the site can look through all the proposals and leave a comment on why or why not they think it should be included in the conference.


I have done a smaller version of this presentation many times, but this demo will be longer and more in-depth where I walk a feature from first being captured on the Product Backlog all the way through to being pushed to production. Large ALM products like Team System are not very popular in the Agile community at large who tend to prefer open source solutions. I have already had a skeptical comment from J. B. Rainsberg who is a pretty heavy hitter in the Agile world. Two of the organizers have left comments suggesting it make the final cut so I am hopeful yet.


If you have the time, please take a look at the abstract and leave comments (good or bad) to help me make sure the session is as good as it can be.

Tennessee Technical Conferences: devLink and Codestock

There are two great regional conferences coming up this year in Tennessee: devLink and Codestock.


I was fortunate enough to work with John Kellar on devLink from the beginning and it is great to see how large it has grown. This year it is back at its original (and best IMHO) location at David Lipscomb University in Nashville. It has also grown to three days (August 13th to 15th) with a still unbeatable price of $100 ($75 for early bird registration). It is also a little unfair to call it a "regional" conference, since it draws people from all over the USA and quite a few from outside the country.


Codestock in Knoxville on June 26 and 27th, is headed up by Mike Neel and is in its second year. For $25 you get two days of national thought leaders, talented regional speakers, and great open spaces to discuss topics you are interested in.

You can follow these conferences on twitter at @devlink and @codestock. Both events have out a call for speakers, so get your abstracts in now to be a part of these great conferences.

Steve Andrews' List of Team System Twitter Folk

My devLink buddy, Steve Andrews, has posted a great list of Team System peeps and their Twitter IDs, blogs, etc. This is a great list and I am honored that Steve included me on it. Anyone interested in learning more about Visual Studio Team System and Team Foundation Server, follow and subscribe to these guys!

Comfortably Scrum: How XP Are You?


There is a great post on InfoQ about an online version of a survey (much like the one I talked about in my How Scrum Are You? post) from the book The Art of Agile Development. This is a great book on XP and Sebastian Hermida did a great job adapting it to the web. The site is called abetterteam.org.

It's a short quiz totally from the team perspective. Once completed, they present you with a great report to show you your strengths and weaknesses. They match areas to practices than can help you improve your score. I ran through this several times thinking back about different projects and clients to get an idea of where I personally have been and grown my practices. They also have an option to track you results over time.


I'd love to take the Nokia Test and create a web application like this. If anyone has some free time to loan me, I'll do just that!.

Nashville ArReady Event, Friday, March 13, 2009 9:00 AM

Come one, come all to our quarterly ArcReady event in Nashville on Friday, March 13, 2009 9:00 AM. The topics is "Architecting for the cloud" with two sessions:

Session 1: Cloud Services
In our first session we will explore the current state of cloud services. We will then look at how applications should be architected for the cloud and explore a reference application deployed on Windows Azure. We will also look at the services that can be built for on premise application, using .NET Services. We will also address some of the concerns that enterprises have about cloud services, such as regulatory and compliance issues.

Session 2: Mesh and Live Services
In our second session we will take a slightly different look at cloud based services by exploring Live Mesh and Live Services. Live Mesh is a data synchronization client that has a rich API to build applications on. Live services are a collection of APIs that can be used to create rich applications for your customers. Live Services are based on internet standard protocols and data formats.

Go here for more information and to register for free. Seating is limited so sign up early. These sessions have great content and also provide an opportunity to socialize with other .NET architects in the area. We would like to get good, consistent attendance to keep events like this coming to Nashville, so please tell your friends and co-workers.

Saturday, February 07, 2009

Visual Studio Team System Social Network Site: Team System Live

Chris Tullier has created a site on Ning.com called Team System Live. It has a great calendar of events for upcoming in person events, live meetings, web casts, chats, etc. all concerning VSTS and TFS. The are many TFS experts as members already. If you are interested in Visual Studio Team System or Team Foundation Server, sign up now!