Wednesday, September 24, 2014

TFS Query–Tasks Completed Yesterday

Sometimes boards get allot of cards on it and during your standup it may be hard to remember what you did yesterday.  That done column gets pretty big even for smaller sprints when teams create a hundred tasks.  I did not see this query in the default set.  It was easy as it is just one new clause added on to the existing Completed Tasks query. 

Just add the following clause:

And Closed Date = @Today – 1

image

del.icio.us Tags: ,

Wednesday, September 17, 2014

OneNote 2013 Crashing on Sync

This morning my OneNote was crashing and giving the message that is has stopped working.  The only options are to Debug or Close the program.  Restarting didn’t help and I noticed it kept crashing when it was trying to sync a specific notebook

image

This notebook is in our SharePoint so I did a quick search and found a KB from Microsoft called KB2737968.  There was a forum post with a link to it which fit my circumstances.  Make sure you pick the correct one to download and run based on whether or not you installed the 32-bit or 64-bit version of office.  It will also ask you to shut down any Office applications you may have open.

image

The article also suggests applying an Office 2013 updates that are available.

After applying this and doing a reboot OneNote now stays up.  It was able to sync the notebook in question.  One thing is a password protected section was added to the Notebook.  I just found out about that and am wondering if that was the culprit.

del.icio.us Tags: ,,

Tuesday, September 9, 2014

Planning with Iterations

imageOne of the things some of the teams would like to start using is the planning feature in TFS.  This feature is enabled on the Stories backlog.  Over on the right there is the Forecast option.  Just turn this on and set the velocity to your teams.  Currently this is a manual task and you will need to determine what velocity to use (last sprint, an average, etc.)
image
Once this is set you will see a line break with the iteration in the backlog.  This is useful for your planning meetings as well as forecasting how many iterations will be needed to complete a feature (all user stories done).
The question that our team had was how many iterations do you make visible/available for planning into the future? Initially I thought having to many future iterations would clutter things so I created them but did not make them visible.  Unfortunately this does not help the end user as those iterations don’t show up for planning purposes.
image
Going back into the admin page for the team I then selected all of the iterations I had created.  Thus making them visible for planning.  Now we can see all of the iterations and the team was able to forecast how many until this epic would complete.
image
Currently we are going to try out 2 week sprints and see how that goes.  I have read others doing three weeks but as a friend told me it is much easier to think about what you can get done this week and next.  This keeps things focused and easier to manager.  We will see.  Thanks for reading.
Are you able to plan out 2 weeks ahead what your going to do?

del.icio.us Tags: ,

Friday, August 8, 2014

SQL Server Reporting Services Permissions for TFS 2013

SQL Server Reporting Services (SSRS) Setup
Some teams would like to be able to create and upload their own reports.  Following a similar approach for multiple teams in one collection/team project approach a folder called _Teams under the team project folder was created.

Under the team folder will be folders for each team who want custom reports.  The permissions Microsoft says to grant are admin level permissions.  Because of this they will be restricted to SG.TFSTeamAdministrators security group.  The rest of the team will still be able to view the reports.  This is done ONCE on the _Teams folder.  No further action is required to maintain this.
 


Report Builder Setup
The Report Builder button was not showing up for the users.  After further research a Microsoft article was found that had some basic setup information in it.  I was hesitant at first but after seeing other posts about the missing button I pulled the trigger and created a new role assignment at the system level.  It grants System User to all of the collections users.  We have an AD group for this so that was used.  This was granted in the report manager application as well by clicking on the Site Settings in the upper right corner and going to the security section.



This was probably an omission in the TFS Setup instructions because it is custom and not needed for TFS to publish reports (no need for Report Builder). 

SQL Server Analysis Services Setup
The next step is granting permissions for SQL Server Analysis Server.  The Microsoft article written for TFS 2013 details the permissions needed for both the relational data warehouse and analysis cube.  Because this grants permissions at a collection level, it will be restricted to a security group you have created that contains all of the team administrators for TFS.
  • For the database you will need to create the login for the group at the instance level and then assign it the roles on the Tfs_Warehosue database.
     
  • Make sure when adding a group to check the box for searching those objects.  It is not checked by default.  his tip applies to the database and the cub (Analysis Services) permissions.


Thursday, August 7, 2014

Update Other Users Profile Picture in TFS 2013

As TFS administrators we have been contemplating how to change profile pictures for those who choose not to upload one.  Team and person identity is important in building a strong team.  There is no active directory integration yet for setting these automatically so after some digging an existing solution was found.


One thing not mentioned in the article is that you must have Visual Studio or Team Explorer 2012 installed or you will get Could not load file or assembly 'Microsoft.TeamFoundation.Client, Version=11.0.0.0…


The site mentions recycling app pools or rebooting the application servers.  Since this is production that would have to go through the change management process.  That did not have to be done as our picture changes updated right away with a (ctrl-f5.)

Monday, August 4, 2014

Team Explorer Everywhere on MAC

Setup Team Explorer Everywhere 2013
We have a build server for Apple applications.  This will need to switch over to TFS as part of the migration from SVN to TFS 2013.  Microsoft (MS) does make interaction with Team Foundation Server (TFS) possible through the use of Microsoft Team Explorer Everywhere 2013 (TEE).  It can be downloaded here.  One thing to note is this is a command line utility.  There is no GUI for it unless you install Eclipse and then the TFS plug-in for Eclipse.

The install documentation is very lax and consists of 3 basic steps.

To install the Cross-Platform Command-Line Client for Team Foundation Server
  1. Unzip the archive (TEE-CLC-12.0.0.zip file) that contains the client.
  2. Configure your shell or system path to include the folder to which you unzipped the archive.
  3. To verify that the client is working, at a command prompt, type tf, and then press the ENTER key.

I believe MS assumes you know the OS in detail.  However this is not always the case (I know nothing about MAC X).  Below are the steps I followed to get the utility running for all users.  I do have prior knowledge of Unix command line which helped me get through this.

  1. Download and unzip to a location on the MAC.  In my case this was to the Dumps share (Unzipped from Windows to the MAC share).
  2. Log into the MAC build server as an administrator (or someone with SUDO permissions.)
  3. Since I unzipped the folder as my Windows user the MAC user did not even have writes to read the folder contents.  Grant Everyone read by overwriting the MAC permissions in Finder
  4. On the MAC build server open the command line console.
  5. So that all users have access to TEE we will copy the folder a common location.   Use the cp command to accomplish this.
    cd /usr/local
    sudo cp -R /dumps/TEE-CLC-12.0.1 .
You should get a prompt for your password.  If you do not have sudo rights you will not be able to execute this command.

  1. Edit the system path for MACs to include this new folder in searching for commands.
    sudo nano /etc/paths
  2. Add a new line at the end of the file that has /usr/local/TEE-CLC-12.0.1
  3. Save and close the file (Ctrl-X and Yes)
  4. You will not be able to run the tf command until permissions are granted to all users.
    cd /usr/local/TEE-CLC-12.0.1
    sudo chmod 755 tf
  5. Close and reopen a new terminal to apply the path changes
  6. Type in tf.  Now you should get the help information for the file if the path and application are setup properly.

Thursday, July 31, 2014

Adding TFS 2013 User Story Points field in Microsoft Project

Although we are an agile shop we still have a few managers who like to use Microsoft Project.  There is no project server setup to integrate with Team Foundation Server.  As of now the manager would like to export from TFS into MS Project, update, and import back in.  

Once the data is in project he will setup dependencies and other linking project managers like to do.  With the goal of producing a Gantt chart to help with dates.  They already have this by working with the velocity and burn down charts so I believe the main benefit is the setting up of task dependencies and making those visible.  I haven't found a good way to do this in TFS yet (sibling links don't stop you from completing a task before a dependency.)

Project uses field mappings between TFS and itself to define what fields show up in Project and which are editable.  One of the fields the project manager wanted to be able to update is StoryPoints.  As luck would have it this is not one of the default fields that show up.

This Microsoft article gives some explanation to the TFSFieldMapping file and how to download and upload it to TFS.

I followed the documentation and went with the advice of the project manager to add the field as ProjectField="pjTaskText20".  I learned a few things by doing this.  When trying to upload I got this message:

TF233004: You must install Office Primary Interop Assemblies (PIA) in order for Team Foundation Server to validate the Office Project Field Mapping file prior to upload. To install PIA, go to the Microsoft Web site: http://go.microsoft.com/fwlink/?LinkId=168855.

I went to Microsoft's site and found the Microsoft Office 2010: Primary Interop Assemblies Redistributable.  After installing this I got the same message.  The internet certainly makes work easier.  After some searching I found a post that says this doesn't work.  What you really need to do is install MS Project.  Hopefully for the reader you have this available to you.

On the next upload attempt I did get a little further.
Connecting...
Validating...
TF233003: Cannot upload the specified file as it either contains invalid elements or the elements are not in the correct sequence. Correct the Team Foundation Server Field Mapping file and try again.
Error detail:
TF234001: Work item field Microsoft.VSTS.Scheduling.StoryPoints is mapped to the wrong field type in Microsoft Project. You can map work item fields of type Double only to Project Cost, Duration, Work, and Number fields. Map the work item field to a Microsoft Project field of type Double.

Again I turned to the internet and found a better article.   What I needed was to define it as a Number (I guess that suffices for type Double.)
Columns displayed in Project depend on the predefined TFS - MS Project work item field mapping. To make Story Points show up in MS Project, you have to customize the Project-TFS mapping file since Story Points are not mapped to a Project field by default.
1. From the VS Command Prompt, run "TFSFieldMapping download" command to get the mapping file locally.
2. Add a new entry to the file to map your Story Points field to an MS Project field (pjTaskNumberx)
3. From the VS Command Prompt, run "TFSFieldMapping upload" command to push the mapping file back to the TFS Server.


This worked like a charm.  Below is the command I used for the download and what the tfsfieldmappingfile looks like with my addition.  As always you should keep a copy of the original field mapping file (in TFS) and check in any changes to it.

I hope this helps you in your quest to be the best TFS admin that ever walked the earth!

From C:\Program Files\Common Files\Microsoft Shared\Team Foundation Server\12.0 I ran:


tfsfieldmapping download /collection:http://tfs/tfs/mycollection/teamproject:myteamproject/mappingfile:C:\WS\TFS\myteamproject\myTFSworkspaceSoICanKeepTrackOfMyChanges\TFSConfig\tfsfieldmappingfile.txt