Monthly Archives: May 2006

Release: Team Build Restart

One of the most compelling features in Team Foundation Server is the integrated build server feature called Team Build. Team Build allows development teams to put up a build server which springs into life whenever a developer requests that a build is done of a particular solution.

I suspect that most organisations will start out with a shared build server, then as the specific build scenarios of projects become more diverse they will break them out and each team will have their own (possibly virtualised) build server – on on day one, you are going to have one build server, and more than likely its going to be on the same box as your TFS application tier.

One of the issues with doing this is that every time a new Team Project is created it needs to add the user account that the build server is running under to the [Project]\Build Services group and then restart the build service – this requires someone with administrative rights to perform this action.

During our BETA testing of Team Foundation Server we allowed all users to be administrators on the system and that quickly lead to chaos, so I wasn’t keen to go back to that, but I was less keen to become the bottle neck for a team that wanted to get their build happening – so I wrote a tool.

TeamBuildRestartCapture

Team Build Restart is a simple ASP.NET application that can be installed on the same box as your build server (assuming it has IIS). When you visit the page you are presented with a screen (above) which lets you stop and start the Team Build service. The application pool that the site is running in has to have sufficient rights to start and stop services on the box.

This Team Foundation Server tool was brought to you by the number 12:23AM, and the colour pink.

Manipulating time with software installations.

I’m just loading on the new version of the Visual Studio 2005 SDK onto my machine, but before I can do that I’ve got to remove the older version that I was using to test against the RC version of Team Foundation Server.

I only mention this because I think that the team responsible for the installer have managed to figure out how to manipulate time. The following screenshot is part of the uninstallation process.

VSIP2005SDKUninstall

What makes me think they know how to manipulate time? Well – the time remaining has been sitting at thirty-nine seconds for the last two minutes. I wonder if they will be shipping a Time Manipulation SDK any time soon.

I bet I’ll have to upgrade my machine . . .

Martin Granell is back blogging!

Martin Granell has just announced that he is back blogging. He has been crazy busy for quite a few months. Its going to be good because I’d love to throw around some ideas on what application development will look like in a Windows Vista and WinFX timeframe, especially from a strategy and architecture point of view.

Mind you – from that you might think Martin is one of those boring ivory tower architects. Thats simply not the case, Martin is one of the smartest people I know and I am lucky to share a domain name with him (@readify.net). As proof that he has got the goods, I point to one of his most recent posts on a trick he is using to optimise start-up in Windows XP.

Beware: Discussion of IO contention and global Mutex’s follows . . .

An e-mail Scrum.

I’ve been watching Darren step into his new role at Readify with some interest. One of the things that he has to do is get a handle on all the current internal projects that are kicking around. We discussed some of the issues he was having getting an appropriate level of feedback from people working on those projects and I floated the idea of having a daily scrum to improve communication.

Darren was already thinking along the same lines but the challenges were obvious – how do you do a daily scrum in a virtual organisation?

What is a Daily Scrum?

A daily scrum is a strictly controlled meeting which asks each participant three different questions:

  1. What did you finish since the last meeting?
  2. What are you going to finish between now and the next meeting?
  3. What are the impediments that are affecting your work?

These questions work really well if you hold the daily scrum each day because they narrow the scope of estimation down to approximately twenty-four hours and it gets people to commit to delivering work on a daily basis.

The first question is a retrospective so people get automatic feedback on the accuracy of their previous estimate. The second question is a the new estimate, and the third question is really for the Scrum Master who takes those impediments onboard and sees what they can do to remove them.

More important than the questions though is the manner in which they are asked. The meeting is a pure status report. Go in, provide your status, get out. No other communication (other than asking and answering those three questions) is allowed.

So what does a Readify Daily Scum look like?

Who knows – Darren has only been running them for a few days. He seems to be asking the same questions, except he is using e-mail. The difference between e-mail and a face to face meeting is that the e-mail is asynchronous and the face to face meeting is synchronous.

Using asynchronous communication gives the team members the scope to go dark and hold off answering until they have something good to report – you don’t actually want this. One of the fundamental principles of software development is get the bad news early so you have time to work around it.

The help address this issue Darren is sending out an e-mail in the morning with a quick summary of what TFS is telling him, and correlates that against what people said they would be working on the day before – but the gem is that he puts a timelimit on when people have to reply by, therefore making it “kinda-synchronous”.

I’m looking forward to seeing how this particular implementation of the daily scrum goes!

 

How To: Create cross project work item queries in Team Foundation Server

We’ve been running the release version of Team Foundation Server internally at Readify for around two months now but today we finally opened up access to the facility to all staff today after getting the license key to upgrade from the workgroup edition to the full build (remind me to tell you how fun that experience was over a beer one day).

As one of the champions for TFS in the organisation I want to ensure that people use it effectively and that means sharing little tips and tricks. Because our TFS implementation already has a variety of active Team Projects it could become difficult for people to keep track of work items that are assigned to them across all the projects. So this evening I published a video to an internal training site which shows how to create a work item query that spans team projects (video) and I thought I would share it with everyone.

In the video I mention Personal Workspaces (a process template) which we are creating for everyone, if you are interested you can grab it here.

Clearing a mailbox full of bugs with Team Foundation Server

Greg Low has been in Canberra this week delivering one of our training courses and during the course of the week he has found a few issues which we need to address with an updated version of the courseware (basically bugs in the instructions and starter code).

Anyway – because I am also delivering the course at the end of the month I thought that I should keep those issues in my mailbox, but during the course of the week that has turned out to be about fourteen e-mails and I like to get down to zero items in my Inbox when I unplug for the evening.

The plan was always to manage our curriculum development efforts in Team Foundation Server so I created a Team Project using the Scrum process template for Team System (from the guys at Conchango). My next problem was how do I get these e-mails across to the TFS work item store with the minimum amount of effort.

My salvation was Teamlook (by Personify Design). Its an add-in for Microsoft Outlook that allows you to turn the e-mails that you read into work items. Installing and configuring Teamlook is pretty straight-forward, it asks you to tell it what Team Projects to wire it up to by default.

TeamlookCompletedConfiguration

TeamlookEmailConfiguration

Its also possilble to map the title and body of the e-mail to the structure of the work item inside the e-mail configuration settings. In this case both Title and Description are pretty standard (although it did load this information directly from Team Foundation Server). Its also possible to define what the default settings for handling attachments is.

BugsInInbox

Once the configuration is done there is a new toolbar added to Microsoft Outlook that allows you to create an work item right from within your e-mail client. But the real value is when it transcribes the details from an existing e-mail.

TeamlookOpenEmail

TeamlookNewWorkitem

Once the work item is saved it can be found inside Visual Studio by the development team and acted upon in the next sprint (assuming in this case that you are using the Scrum process template).

TeamlookWorkItemQueryInVS

One of the things that I think that Team Foundation Server enables is a rick market for customisations and extensions to the product. Teamlook is a great example of an extension, and the Scrum for Team System process template is a great example of a fairly extensive customisation.

 

Bleeding Edge gets a JasJar

Rocky, Paul and I have been using JasJar’s for a little while now. Personally I like the device, I can trust it to wake me up in the morning (this is a major milestone in my love/hate relationship with mobile devices).

I was interested to see the post over on Bleeding Edge blog about their experience getting the JasJar going with the 3 Network (one of the big features on the JasJar is its UTMS (3G) network connection). It was much easier getting connected with Vodafone – the whole company got Windows Mobile 5.0 devices and those of us that got the 3G-enabled JasJar upgraded our plans to the 1GB data plan (w00t!).

Graeme Armstrong – our CEO is also pretty happy with Vodafone!

The Morning Report

I just got on the bus and I am compelled to reflect upon the signs of winter here in Canberra.

As I walked down the street to the bus stop the tree that I have been gradually watching lose its leaves now has less than a dozen yellow cracked ones left and I suspect that the next good gust of wind that we have will take care of them.

The sky is a facinating blue grey making the sky look like something out of a painting rather than something that is real. The tops of the clouds when you can see them through the patches in the cover are a golden brown, the same colour as the grass in most of the fields around town.

The surrounding mountains still have light covering of know at the higher points and the fine mist rain that is slowly soaking the grown seems to be crystalising and waiting that bit longer before it hits the ground.

Web Application Projects 1.0 for Visual Studio 2005 has shipped!

I blogged about the imminent release of Web Application Projects a few days ago, but its great to see that its now out there. Its excellent news for Team Foundation Server works like me because of the issues with WebSite projects that I’ve seen. Thanks for the heads up on its release Martin. I’ve actually been running this build for a while because I was helping diagnose an issue with Team Build – glad to see its all fixed up.

Caveman Rocks

I downloaded the Cavemen game that Frank pointed to and loaded it onto my WM5 device. Works pretty well. I was a pretty big Lemmings fan back in the day and I kind of like these light problem solving games. I think that there is a whole game genre here which would appeal to the mobile professional that has a few minutes to spare waiting in a queue at the Taxi rank.

Oh – and the guys over at Lightworks Games have a blog. Subscribed.