Hosted source control and project management with Subversion and Team Foundation Server

I have been using Subversion for many years both professionally and on open source projects (mainly Razor Image Viewer). Initially, I had Subversion running as a service on my local computer but the more I thought about a strategy for backing up my work, the more it made sense to use a hosted environment. The $25 dollars a year it costs me for a hosted source control service wouldn’t even cover the electricity for my own server.

I am currently using a hosted Subversion and TRAC with ProjectLocker. The hosted service allows me to focus on my development and other project without the need to maintain a server or keep it on all the time. I love TRAC’s custom workflows but it doesn’t offer the breadth of capabilities required for application lifecycle management (ALM).

I have used Microsoft’s Team Foundation Server and am more and more impressed by it as it has matured since its initial version in 2005. With the release of Team Foundation Server 2012, there will also soon be a TFS Express solution available to teams of 5 for free. Currently, Microsoft is offering a free web based preview of Team Foundation Service hosted online (under the hood, it’s a farm of Azure VMs). I am using this for a couple projects and will be writing more about this soon.

If you are using Visual Studio 2010 you will need to install a hotfix in order to connect Visual Studio 2010 with the TFS Preview hosted source control. Microsoft’s website makes you jump through a few hoops before directing you to the download page for hotfix KB2581206. Visual Studio 2012 connects properly to the hosted Team Foundation Service out of the box.

To connect Visual Studio 2010 to your TFS Preview repository, the Getting Started with Visual Studio page incorrectly states to use the full project URL (to end the URL with your project’s name). The correct URL for your Team Foundation Server is, for example. Visual Studio will provide you a list with the projects to which you can connect.

Brian Harry has written more about TFS Express

User Stories to Requirements

Agile methodologies allow development teams to better handle multiple projects and deliverables. One issue I have with User Stories is the inability to specify hard requirements. Use cases, functional requirements, and cognitive walkthroughs.

As a user, I should be able to edit my content
As a user, I should be presented with the potion to save my content when I close

The Issue is that we have been using Epochs thinking they are User Stories and not breaking them down to smaller, testable stories.

Keeping all this in mind, I have recently started sketching ideas for a system that allows us to maintain our stories and epochs (and allowing stories to evolve into an epoch with it’s own smaller user stories) and apply true requirements to these stories.

Over time, the project may evolve with sprint breakdown and planning tools.