Skip Ribbon Commands
Skip to main content
Delta-N Blogs > VSTS Blog
oktober 03
Hidden Gems in TFS–Part 2 Work Item State Diagrams

In this series of blog posts I like to highlight some features of TFS/Visual Studio that people seem to overlook. In my day to day job I often see that people don’t know about certain feature that are available in Team Foundation Server, Visual Studio or some of the Powertools.

Some features are available as a Powertool. These can be downloaded from here

Earlier Posts

In this part…….

Work Item State Diagrams

Sometimes it useful to have an overview of all the states of a work item, and how the different states interact wit each other.

The state transitions and states are defined inside the Work Item Definition. Surely you can export the work item type definition and look at the XML or, for a better experience, open the Work Item Type Definition in the Process Editor. This is all possible but not very user friendly.

A better way to do this is use the Web Access Client that comes with TFS.

  • Navigate to your Web Access Client by using the url http://<tfs server name>:8080/tfs/web.
  • Open a work item or create a new one of a specific type

    image
  • When the work item opens Click State Diagram on top

    image
  • The Diagram opens. Note all the reasons and transitions that are also drawn

    image

Have Fun!

september 29
Hidden Gems in TFS - Part 1 Annotate

In this series of blog posts I like to highlight some features of TFS/Visual Studio that people seem to overlook. In my day to day job I often see that people don’t know about certain feature that are available in Team Foundation Server, Visual Studio or some of the Powertools.

Some features are available as a Powertool. These can be downloaded from here

In this part…….

Annotation

When you use Team Foundation Server Source Control you certainly know about history. Sometimes you want to see the history of a single file and see how certain pieces of code ended up there. Who did that and when was this done.

In TFS 2010 you get the possibility to annotate your file. Simply right click a file in Solution Explorer or Source Control and choose Annotate.

image

When you click this, the latest version of the file is loaded with annotations on the left side.

image

The blocks on the left show you the changeset number, the author and date. When you click the changeset number, the changeset details open directly.

Have fun !

september 06
My favorite TFS tools and links

I use TFS for a number of years now and I have a few tools and links that I always take with me.

Let me share them with you

Team Foundation SideKicks by Attrice

http://www.attrice.info/cm/tfs/

This tools has some great features for doing administration tasks in TFS. Looking at checked out files, workspaces or doing code reviews. Great Tool !

Import/Export Areas and Iterations tool by Neno Loje

http://msmvps.com/blogs/vstsblog/archive/2010/07/08/updated-area-import-export-tool-for-tfs-2010.aspx

This tool allows you to import and export all areas and iterations in a Team Project. When doing migrations this tool is priceless! Thanks Neno!

Import/Export Work Item Queries

http://wiqadmin.codeplex.com/

This tool allows you to export all Work Item Queries and folders and reimport them in another Team Project. Again when doing migrations or movements this tool is a must!

Report Explorer

http://rssexplorer.codeplex.com/

If you use a lot of reports it is sometimes useful to download multiple reports at once. This tool allows you to do this. Last time I looked it could not handle subfolders but this can easily be fixed in the code that you can download from codeplex as well.

TFS Administration Tool 

http://tfsadmin.codeplex.com/

This tool allows you to easily set permissions on TFS, SharePoint and Report Server all at once. This is very useful for administrators

TFS API Series by Shai Raiten

http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+API/default.aspx

This great blog of Shai Raiten has code examples and downloadable samples for a lot of different TFS API subjects. Work Items, Test Cases, Builds all can be programmatically accessed and Shai describes it.

TFS Build Customization by Ewald Hofman

http://www.ewaldhofman.nl/?tag=/build+2010+customization

Ewald describes the most relevant aspects of customizing TFS Builds. This is a must read for anybody who wants to customize the TFS 2010 build processes!

Of course there are some great tools in Visual Studio as well. The most important one

september 05
Solving TF30042: The database is full. Contact your Team Foundation Server administrator.

I got this message a few weeks ago and it scared me. Why? Let me tell you.

The company where I do a lot of consultancy called me in the middle of the day that users started receiving this message. People could not check-in, create work items or add/edit any TFS information.

The support engineer already had looked in the Event Log and found the following result.

Detailed Message: TF30065: An unhandled exception occurred.

That scared me. I had had this message before and back then it was a full disk of the database server. That still is not nice as it not easily fixed sometimes, but at least it is obvious.

When searching the internet I found many suggestions, but most of them indicated that I should put the DB in Simple recovery mode, or clean things up.

Do not do that because this can have serious implications!

Our disk was not full, and existing artefacts (work items, source, builds etc.) where still accessible. The database was about 50Gb. I was not planning to do anything about the database structure or data so more investigation was needed.

Strange….When we looked a little bit further in the event log there were also different kind of messages.

“Could not allocate space for object 'dbo.WorkItemsWere'.'PK_WorkItemsWere' in database 'Tfs_DefaultCollection' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup”

Aha ! That was actually the hint I was looking for. As we already checked disk space I thought of SQL Server. You can fix a database. What I understood is that this is a trick a lot of DBA’s perform to increase performance on a database. Fix the size of the database file.

DBProps

In order to fix the problem, we opened the properties of the TFS_DefaultCollection database and changed the autogrowth property to Unrestricted File Growth.

Hope this helps!

juli 22
Using Config Transformation for easier (Azure) Development

Visual Studio 2010 has this nice feature for config transformations. When adding a new build configuration you also get the possibility to add a web.[Configuration].config file which contains specific settings for that specific configuration.

When using the publish function, the transformation uses pretty slick XSLT transformations to update the web.config with the settings you specified in the web.[configuration].config.

You can read all about this functionality here. http://msdn.microsoft.com/en-us/library/dd465326.aspx

When you are coding for Azure or coding in a team with a number of developers, web.configs and app.configs can really make life hard. Especially for Azure it is hard to maintain the different configurations for the Acceptance and Production environment.

Likewise when you are developing software in a team, it is also very unhandy that with every Get Latest Version, your config settings with all your connectionstrings and local paths are overwritten with the settings of your fellow coder.

Would it not be nice to use these transformations to solve these problems as well? Just create your own config settings and the build process takes care of everything? Don’t worry about wrong settings or connections? Yes it would ! Unfortunately, the transformations only work on publish and not on build.

Together with my friend and colleague from Delta-N Jasper Gilhuis, I figured out a way to use this transform functionality within Visual Studio and the TFS Build Server, which gives you loads of possibilities regarding different configuration files.

The solution we have found can be implemented in the following way:

  • Create a build configuration for your local machine (for example [ComputerName])

image

image

· Create a Web.Computername.config and perform the default transformations as described here http://msdn.microsoft.com/en-us/library/dd465326.aspx

image

  • Unload your project and edit the file

image

image

  • Add this piece of code at the end of the project file.
   1: <UsingTask AssemblyFile="..\BuildTasks\Microsoft.Web.Publishing.Tasks.dll" TaskName="TransformXml" />

   2:  

   3: <Target Name="BeforeBuild">

   4:   <Copy SourceFiles="Web.Config" DestinationFiles="Web.Original.Config" />

   5:   <TransformXml Source="Web.Original.Config" Transform="Web.$(Configuration).config" Destination="Web.config" />

   6: </Target>

   7:  

Make sure the path to the Microsoft.Web.Publishing.Tasks.Dll can be found. Best is to

copy the assembly to a relative folder of your solution. You can find the assembly here. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web

  • Copy all files to local directory
  • Reload your solution
  • You’re done.

To test it, just put a dummy value in your web.config and a real value in your “own” config. Build Solution and voila!

For the Team Foundation Build Server, just create a configuration like you did before and point to that configuration in the Build Dialog.

Nice thing is, this works for all xml based config files because it is plain XSLT transformations. To use this functionality with app.config or any other.config, follow the steps described here http://stackoverflow.com/questions/3004210/app-config-transformation-for-projects-which-are-not-web-projects-in-visual-studi to make the other configs dependent as well.

Hope this helps!

For your convenience I added a zip with a preconfigured solution with web.config transformations

http://blogs.delta-n.nl/vsts/Lists/Photos/Transformations.zip

mei 26
Distributing Work Items Queries to others via mail

When working with work items, sometimes it is useful to send the results of a work item query to other people. Even people from outside of your development team.

For example the customer wants to know the status of his bugs and does not have access to your systems.

In this case you can use the mail functionality of TFS 2010. You can either use the Web Access Client or Visual Studio to send your emails.

Web Access Client

  • Go to your web access client. http://tfsserver:8080/tfs/web and navigate to the Work Items Tab.
  • Open a Work Item Query
  • When the results are visible open the Tools Dropdown list and select Email All Work Items as a List

image

A pop up window appears with all the work items. Here you can add email adresses and additional text. Press Send to send the list.

image

Visual Studio

  • Open Visual Studio and the Team Explorer
  • Navigate to the query and open it
  • In the Query Results Press Open in Microsoft Office and choose Send Query to Outlook.

image

Hope this helps!

mei 19
My DevDays 2011 Session–Adopting Scrum

In April 2011 I co presented the Pre-Conference for the Dutch DevDays. This Pre-Conference was all about adopting Agile Practices. My part was to tell something about adopting Scrum. I already mentioned this in my previous post

image

Below you find the abstract and the link to the Channel 9 Video

http://channel9.msdn.com/Events/DevDays/DevDays-2011-Netherlands/devdayspcALM1

Abstract

Agile and in particular SCRUM are becoming the defacto choice of companies who are looking to improve software development practices.
Every aspect of application development - requirements, estimation, development, test, and deployment - benefits from new ideas and techniques.
This pre-conference tutorial presented by Marcel de Vries, Rene van Osnabrugge, Ewald Hofman and Dennis Doomen will help you understand how to adopt and improve your agile practices for greater productivity and higher quality applications.

Adopting SCRUM
- Learn how Team Foundation Server combined with the Visual Studio SCRUM process template provides a solution for adopting SCRUM in your lifecycle;

Enjoy watching !

mei 18
Twitter Summary of the Future of Visual Studio ALM @ TechEd US

Yesterday I was looking the video of TechEd US. The Future of Microsoft Visual Studio Application Lifecycle Management. This session of Cameron Skinner gives a really nice overview of the new features that are coming up in Visual Studio vNext.

During the session I twittered some things that eventually give a nice summary of what I saw. I certainly recommend you watch the video, but if you are short in time, this is a good alternative.

While you are at it. Don’t forget to take a look at the white paper from Jason Zanders Blog.

Twitter Feed

Started Watching the future of #vsalm video from teched us #tfs

Teched on my flatscreen at home #VSALM that's nice!

Woot! intellitrace also on production servers in #vsalm vnext

Storyboarding in powerpoint ! #VSALM #vNext. Nice templates, custom shapes. Very nice for none technical users

The new #tfs webaccess client. All metro styled. #VSALM #vNext

Drag drop in your product backlog and easily adding items. Drag drop to sprints & integrated real time velocity and burndown. #VSALM #vNext

They really like urban turtle! they only made a better version of it! #VSALM #vNext assigning capacity and states is now getting simple!

For the people who are curious what i am looking at. http://t.co/063bvC2 good stuff!

That HUB looks sweet! Besides that, shelving all your workspaces , windows, breakpoints etc. Looks even sweeter! #VSALM #vNext

Analyzing code clones! where did you copy paste so that you can better reuse! semantical similar blocks code! brilliant! #VSALM #vNext

Built in NUnit and XUnit support and extensible to other framewoks. Automatic discovery of all those tests #VSALM #vNext

A feature that should have been available in #tfs 2005. Searching work items. #VSALM #vNext happy with that!

Built in code review workflow! Cool. Submit code review, shelve changes, open file, compare, give comments. Impressive! #VSALM #vNext

The provisional tab. While debugging all code files are opened there instead of in the common dock. Promote from here to normal area. #VSALM

I hope this all will make it to the beta and release #VSALM #vNext

Stakeholder feedback. Record clicks, video, audio from stakeholders while they are clicking through. Nice ! #VSALM #vNext

mei 13
Managing your sprint backlog easier with Excel

In my previous post I talked about the Excel workbooks in combination with the MS Scrum template. Excel is a great help in quickly organizing and editing your work items.

It is however kind of hard to see a good status overview of your work in the current sprint.

Main problem is, that Parent Items (Product Backlog Items) are not automatically set to Done when the child tasks are done. Because of the colors in the excel list this is also very hard to see.

My Delta-N colleague and friend Jasper Gilhuis (@jaspergilhuis) created a very nice solution for this. He created an excel sheet that applies color coding to your sprint backlog.

ResultNew

As you can see, the colors directly attend you on which PBI’s are not yet ready and which PBI’s can be set to done. All underlying tasks are either red, yellow or green, depending on their state.

Jasper was so kind to make this fully configurable as well and create a xlsm template which you can easily use. This template is attached to the post.

In order to use the sheet, you need to follow some additional steps.

First create a query in Team Explorer that define the required columns. Call this Color Progress (or something like that)

Query

Make sure you include at least the columns:

  • ID
  • Work Item Type
  • Title 1 (PBI title)
  • Title 2 (Task title)
  • Assigned To
  • State
  • Remaining Work

After that you open the Excel sheet and link the sheet to the query

Excel

  1. Go to the Team Tab on the Ribbon
  2. Set your cursor on the A1 cell in the Work Item Progress sheet
  3. Press “New List”
  4. Select you Color Progress Query
  5. Click OK

The data will now be retrieved from TFS

If you want to change the colors, or if you are using a different template and thus other state names and work item types, you can use the Settings sheet to modify this.

Settings

This is really great and helpful!

Thanks Jasper Gilhuis, for your great work !

Download Excel sheet here

mei 04
Use the MSF Agile workbooks in the MS Scrum template

The MSF Agile 5.0 Process Template in Team Foundation Server 2010 comes with a great set of Excel workbooks. These workbooks allow you maintain your Product and Iteration Backlog with Excel. The workbooks contain a set of macros that are very useful, because they transform information from the workbook in a visual appealing way.

You can read all about these workbooks on MSDN

The Product Planning Workbook shows information about the different sprints, to allow a good indication of how many story point will fit within an iteration

clip_image002

The Iteration Backlog Workbook shows the capacity of your team and allows you to fill in Interruptions and Holidays.

clip_image004

The MS Scrum Template 1.0 does not have these workbooks. Main reason is probably that is is not really Scrum to assign tasks and sprints beforehand.

Although I like the Scrum way of working, I also like to see some indication of capacity and sprint planning. I refactored the Agile Workbooks so that they work for the Scrum Template as well.

In my Devdays 2011 talk about Adopting Scrum I showed how to use these sheets. I will attach the sheets to this post as well.

The workbooks do not have a TFS connection yet. Once you make a connection, it is stored inside the excel sheet and cannot be easily changed. Save the files somewhere on your WSS portal (or locally) as a template and copy every time you want to make a new planning.

In order to use the sheets you need to follow some steps.

Product Planning

In your MS Scrum Team Project, create a Team Query that shows you all the Product Backlog Items. Save this query as for example “Product Planning”

For example:

clip_image006

Make sure the query contains the following columns

clip_image007

Of course it is wise to sort the query by “Backlog Priority”

Now follow these steps

  • Open (a copy) of your Product Planning Workbook and connect the Team Query.
  • Place your cursor in cell A1 of the first worksheet.
  • Switch to the Team ribbon and click New List.
  • Select your Team Project and click Connect.
  • From the New List dialog, select the “Product Planning” query from your team project .

clip_image009

  • Your sheet is now filled with data
  • Save the workbook

In the Iterations Sheet a graph will fill, as soon as you assign Product Backlog Items to a Sprint and assign effort to the items. The table will only show the sprints that are filled in the Product Backlog sheet.

Iteration Backlog

In your MS Scrum Team Project, create a Team Query that shows you all the Sprint Backlog Items. Save this query as for example “Sprint Planning”

For example:

clip_image010

Make sure the query contains the following columns

clip_image011

Now follow the same steps as in the Product Planning Sheet. Open the Iteration Backlog sheet and connect the Sprint Planning Query.

Make sure you fill in a sprint, start and end date in the Settings Tab. As soon as you assign Items to the selected sprint and put Remaining Work in the items, the graphs start to fill up.

clip_image013

Now you can start planning !

Download the Excel Sheets

1 - 10Next
 

 Top posters