Welcome to MSDN Blogs Sign in | Join | Help

I’ve put together a video on the automated build capabilities of Team Foundation Server. I thought it would be useful to step through running a build, looking at the results of a build and understanding what triggers you can set for automated builds.

You can download the video here.

Cheers

Giles

I thought it might be interesting to quickly demonstrate how you can go beyond unit testing with Visual Studio Team System Development Edition and take a look at code coverage, code metrics and code analysis:

You can get the video here. Let me know what you think and if you have any suggestions for future topics; I’m currently planning to do a build and a process video next.

Cheers,

Giles

To follow up on Rich’s video What is Visual Studio Team System I’ve added a second video to the series which continues the introduction but this time by walking through the creation of a new Team Project, explaining the options and discussing the main elements of the newly created project.

I was trying to keep to 5 minutes, and nearly made it (2 seconds over):

Download the video here.

A couple of weeks ago Giles and I made the journey up to Harrow to check out a new VSTS add-in from one of our Inner Circle & VSIP partners.  Gamcom have recently launched Talmia which is an ALM process automation and reporting tool for VSTS and after a quick demo from Chris Turvil at Gamcom it was clear that it offered some very nice extensions to TFS

So what is it?

Talmia is designed to automate the workflow of Work Items stored in Team Foundation Server.  Although the tool can be used to generate a TFS Process Template it will work nicely in conjunction with the Process Template Editor available with the Team Foundation Server Power Tools.

Where do I start?

For more information a good place to start is the datasheet and the How Does It Work section of the Talmia site.

Talmia Designer

Take your TFS Process Template and using the Talmia Designer you can begin to build an automated workflow for each type of work in your project.  The designer is a stand alone application aimed at non-technical users and utilises the Windows Workflow design surface to allow drag and drop design.

Talmia Designer

The Talmia Designer

Looking at the screen above, we are building a workflow for a Construction Task.  The first thing that has to be signed off is the “Understand Requirements” Work Item.  When this has been transitioned into the “Approved” state using any TFS client (eg. Visual Studio, Team System Web Access), the “Create Unit Design” & “Create Unit Test Plan” Tasks will be created in TFS.  This workflow will continue until the “Unit Ready to Release” Review has been completed. 

So, as a result of a Work Item being created in TFS or a field within a Work Item changing, any custom activity can be invoked.  For example, creating or altering other work items, starting an automated build, sending notifications or anything else you can think of.  This is all generated quickly and easily through the designer

Talmia Control Centre

Once your workflow has been designed it can be deployed using the Talmia Control Centre.  The Workflow is then assigned to one or more existing TFS Team Projects. Multiple versions of the same workflow can be stored in the Talmia Server so not all Team Projects must use the latest version.  The Control Centre also provides comprehensive reporting for running workflows and it can be accessed within Visual Studio via the Team Explorer or as a standalone web application

Talmia in team explorer

The Control Centre available in Team Explorer

Process Explorer

Control Centre as Stand Alone Web App.

Talmia Server

Talmia Server is the glue that brings your TFS Process Template and your Talmia Workflow together.  It ensures that all Team System Work Items needed for a process are created, updated, and validated interactively based on user actions. Work items are created only as and when they are required - meaning that next process actions are always clear.

As well as managing work items automatically, Talmia Server intercepts TFS events to execute the behaviours specified in your Talmia workflow. 

Reports

The reports coming out of Talmia compliment the existing TFS reports.  Typical questions that Talmia reporting can address include:

  • How many Talmia workflows are currently active on a project?
  • How far is the project through each phase? (design, construction, testing, etc.)

For each individual workflow:

  • How is work progressing?
  • Which Work Items affect the process and what is their current status?
  • Is any work overdue?
  • Who completed each process step and when?
  • How much rework has occurred and why?

Talmia Report

Report on an executing workflow showing re-work and current state

Summary

Talmia is definitely worth a closer look if you would like to further automate your development processes using TFS.  It looks like a very well architected solution and is being put through it’s paces in a number of demanding projects. 

During our demo we thought of a number of project scenarios where we could see Talmia being very useful but it was actually a non-development usage that really impressed us as it demonstrated the power and flexibility of both Talmia & TFS.  Chris showed us their “New Starter” workflow which was designed using Talmia with all data stored in TFS.  It allowed the firm to easily track all of their new hires, what equipment had been assigned to them, what training they had received and report on what stage of the joining process each employee was at.

Richard

So we’ve been planning to produce some videos for a while now and we aim to build up a good library of VSTS Videos on the blog.  We’re using Silverlight Streaming and also making the videos available for download in wmv format.  Get Silverlight here if you haven’t already.

 

So, first up is a 6 minute, high level introduction to Visual Studio Team System. 

 

Download the video here.

 

Also, please let us know if there is a topic that you’d like to see covered.

 

Richard

If you are an MSDN subscriber then you can go and grab VSTS 2010 Beta 1 now!  Get it here.  If not, then it will be available to everyone later in the week.

More info on VSTS 2010 here

 

Rich

There has been a lot of effort put into the installation, configuration and management features of VSTS 2010. Since there are no bits to install, just the CTP, we can’t try this out at the moment, but this video shows a TFS 2010 installation.

My highlights:

  • No dependency on SharePoint (WSS) and Reporting Services at installation.
  • Single install, including Web Access, as part of the installation process.
  • MMC based administration console to provide a consolidated configuration in a single, familiar tool.
  • The administration console manages the configurations for multiple TFS instances.

Cheers

Giles

It’s a little simplistic to simply compare and contrast VSS with TFS Source Control as TFS provides and integrates with so much beyond source control, but it is a question that arises, so here are some thoughts on the comparison. I’m not focusing on source control features, such as branching, merging or shelving but rather on reliability and scalability.

Transactions

As TFS uses SQL Server as the underlying source control repository, source control activities are transactions. Therefore activities either complete entirely or not at all. This means that should, say, a network connection be lost during a check-in, that you can be confident that the source control repository has a complete history, either entirely including or excluding the check-in that was in progress at the time of the problem.

Repository Size

If your source code repository is large and/or growing then the scalability that SQL Server provides in simply being able to cope with large repositories is extremely powerful. How large? Here are some statistics from our own internal usage. First, the total number of source files stored in TFS at Microsoft:

clip_image002

This is across a number of instances of TFS, but to highlight one single instance:

The VSTS DevDiv instance (running 2008 SP1) has 3,845 users, 67 projects, 549,833 work items, 21,524,073 source code files and 2,084 builds per month with the total number of builds at 38,410. Figures taken in February 2009.

Brian Harry’s blog has some excellent stats on user populations supported by TFS.

Topology

Another distinction, again largely courtesy of using SQL Server, is the ability to host the application and data tiers separately. This allows the data tier to benefit from SQL Server configurations such as clustering to remove the data tier as a single point of failure and increase throughput (although the application tier cannot be clustered in 2008, the 2010 release will support application tier clustering as well).

In addition the remote proxy server provides an optional means of allowing remote users to access source code from a local cache, helping support distributed teams.

Cheers

Giles

The VSTS Rangers have just released a quick reference guide for Team Test on codeplex. To quote the document summary verbatim:

“This document is a collection of items from public blog sites, Microsoft internal discussion aliases
(sanitized) and experiences from various Test Consultants in the Microsoft Services Labs. The idea is to
provide quick reference points around various aspects of Microsoft Visual Studio Team Test edition
that may not be covered in core documentation, or may not be easily understood. The different types of
information cover:

  • How does this feature work under the covers?
  • How can I implement a workaround for this missing feature?
  • This is a known bug and here is a fix or workaround.
  • How do I troubleshoot issues I am having?”

I’ve just downloaded it and looks extremely useful.

Giles

This isn’t a technical blog posting, but instead I’d like to try and help provide a short summary of the general benefits that Team Foundation Server (TFS) can provide. Why? You may have a clear view of the technical capabilities of TFS but would also like a summary of the more general benefits.

I’ve listed what I see as the key “non-technical” benefits:

Manage team workflow

TFS provides a single, consolidated, integrated location for all work items (e.g. requirements, change requests, defects or tasks). This not only avoids disparate locations for these (documents, spreadsheets, silo’d tools) but also increases team collaboration and communication and means that metrics from the work items can be collected automatically, providing the data for…

real-time decisions

Collecting status information on projects and presenting that data to interested parties is time consuming, error prone and requires significant effort. By reporting on data collected automatically by TFS team members don’t need to spend time summarising their status to Project Managers, Project Managers can spend less time preparing reports and more time managing and other stakeholders can have greater visibility of the project.

Drive predictability

Having an established (but not implying a fixed or onerous) development process helps teams to get on with the job of delivering working software. Supporting that process in the tooling helps drive predictability by letting the team focus on delivery rather than on tools and infrastructure support. Accurate trend reporting also highlights whether releases are on schedule, helping to avoid “surprises” at releases.

Deliver Early, Deliver Often, Drive quality

Aside from the specific quality capabilities of the Developer Edition (code coverage, analysis, metrics, profiling) and the Test Edition (manual, web and load testing) TFS itself can drive integration and quality assurance through a combination of check-in policies enforcing quality gates on code to be checked into source control and automated build (don’t wait to find out if the codebase compiles) with unit and other automated tests. Together these help identify issues as early as you can in your development cycle.

Use familiar tools

TFS provides all of these capabilities without the need to move away from your existing, familiar tools. This includes Visual Studio, Project and Excel, all of which are integrated with TFS. For teams or team members using other solutions, technologies or platforms there are a number of options including the Windows Explorer TFS integration, the Teamprise integration into Eclipse and other point integrations such as the TFS integration with HP Quality Center.

Cheers
Giles

The Microsoft Architecture Insight conference is going to take place on the 8th May at the Microsoft Offices in London.

aic2009

Looks like a good agenda, and that’s nothing to do with the fact that yours truly is included….

Cheers

Giles

My first blog entry and it’s just a quick one; I’ve been curious about exactly how the code metrics in Visual Studio Team System Development Edition are derived. Here’s an example:

CodeMetrics 

Cyclomatic complexity, depth of inheritance, class coupling and lines of code are all understandable, which has called my attention to the Maintainability Index itself. Is the scale 0-100? How is it derived? What are the thresholds for green, yellow and red? Can I edit the thresholds?

Well, I found nearly all my answers here:

http://blogs.msdn.com/fxcop/archive/2007/11/20/maintainability-index-range-and-meaning.aspx

If you’re in a hurry the answers are:

  • Yes,
  • Maintainability Index = MAX(0,(171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code))*100 / 171)  (Just as you suspected, eh?)
  • 100-20 for green, 19-10 for yellow and 9-0 for red,
  • No (but I found that out from somewhere else).

Cheers

Giles  

On Friday I delivered a presentation taking a peak at some of the new functionality due for release as part of Visual Studio Team System 2010.  The session was held in the Covent Garden Odeon and as part of the event we had a screening of Watchmen

phonemarch 028 phonemarch 026

 

I hope people enjoyed the event, my slides are available here.  Let me know if you have any questions or feedback.

 

One of the questions that came up was around Hosted TFS offerings.  With the current TFS 2008 architecture there are not that many companies hosting TFS.  With 2010 this is due to change and I suspect you’ll see many, many more offerings appearing.  The only ones that I am aware of (but have no experience of) are:

http://www.phase2.com/hosted_team_foundation_server_overview2.aspx

http://www.teamdevcentral.com/overview.html

http://www.saasmadeeasy.com/tf_server.html

http://online-tfs.com/

http://www.ewima.hu/h_szolgaltatas_tfs.aspx?lan=eng

http://www.codeplex.com – for open source applications

http://www.tfsnow.com/ – This is now defunct but it was the first offering I was aware of.

If you have a small development team then it is also worth checking out TFS Workgroup Edition which is available as part of a Team System MSDN subscription.  This allows you to install a  fully featured TFS that is limited to 5 named users.  The other users do not need a client access license and if your team grows then you can upgrade to a full TFS version without the need for a re-install.

Cheers,

 

Rich

I had a question about adding the MS Loopback Adapter on Windows 7 after my last post.  I remembered a nice little tip I got from my colleague Giles Davies (a new Developer Tools Technical Specialist in Microsoft UK who will be posting to this blog very soon).

 

On Windows 7, getting to the hardware Wizard isn’t as obvious as you would expect so if you need to add the MS Loopback Adapter, simply do the following:

 

1. Click the start Menu

2. Search for ‘cmd

3. Right Click on ‘cmd.exe’ and select ‘Run As Administrator

4. Type ‘hdwwiz.exe

hdwwiz

5. Click ‘Next’ on the ‘Add hardware Wizard’

welcome

6. Choose ‘Install the hardware that I manually select from a list’

manual

7. Choose ‘Network Adapters’ from the list.

network

8. Choose ‘Microsoft’ under ‘Manufacturer’ and ‘Microsoft Loopback Adapter’ under ‘Network Adapter’

Loopback

9. Click ‘Next’, install the Loopback Adapter and you’re good to go.

 

I suspect there is a better way of doing this but following the steps above might save you some time.

 

Cheers,

 

Richard (and Giles who gave me the tip off)

The Windows 7 Beta (Build 7000) was released in January and obviously as a team we were excited to install the shiny new OS as soon as possible.   However, we’re in front of customers most days and we really can’t afford to have beta software causing any problems in our VSTS demos but we took the plunge anyway!  

My current setup is a Lenovo T61p running Windows 7 with Visual Studio Team Suite 2008 SP1 installed.  I then use the MS Loopback Adapter to talk to a Virtual PC 2007 image running Windows Server 2003 (I must get this upgraded to Windows Server 2008 asap) and Team Foundation Server 2008 SP1.

So, I’m happy to report that a number of weeks and plenty of demos and presentations later we haven’t encountered any major issues and we’ve very much enjoying the Windows 7 beta.

Cheers,

Richard

More Posts Next page »
 
Page view tracker