Book Release!

by GaryG 15. April 2013 15:49

In case everyone is wondering why I’ve been light on the blogging lately, this is it.  Just got done with publishing my first book with Packt Publishing.  It is titled Team Foundation Server 2012 and Project Server 2010 Integration How-to, and is available on Amazon here: http://www.amazon.com/dp/1849688540/?tag=packtpubli-20

The publisher also wanted me to share this link http://bit.ly/ZulWBG but it really will just bring you to their site for an ebook only ordering page.  I’ll post some excepts from the book here as well as some cool info the the MVP 2013 Global Summit.

What’s new in Visual Studio 2012 / Team Foundation Server 2012 for PM’s and PO’s

by GaryG 4. March 2012 02:25

Just got back from the 2012 Microsoft MVP Global Summit in WA.  While the Windows 8 Consumer Preview got most of the media attention, as an MVP in ALM my attention was on what Microsoft was doing with Team Foundation Server 11 and Visual Studio 11.  Some of what we learned on future direction was covered under strict NDA, but we are allowed “released” info, which in this case is the VS 11 / TFS 11 beta.  So as always, your mileage may vary a little since I’m basing this off the beta.

Overview

There is a lot to be excited about for all the roles in an organization in the new releases.  Developers and Testers will be especially pleased, but I wanted to cover some the new items that Project Managers and Product Owners will be particularly excited about.  Though certainly a developer centric toolset, Microsoft is starting to realize that getting world class software products out the door requires more than just well equipped developers, and they want Visual Studio to be at the core of it.

First the Upgrade

A quick note here on the Upgrade.  I upgraded one of my combination TFS2010/VS2010 virtual machines right in the Summit (figured I could get some help that way if anything popped up Smile).  My only surprise here was I needed to fully uninstall TFS before continuing.  This is one of the reasons you always need to have a solid machine and DB backup before attempting this.  I would have figured the upgrade wizard could have handled this, and a roll-back if it failed, but its just something to keep in mind.  If you are working on a scaled out TFS installation, you will need to touch each server.  I’d never recommend running out and upgrading a production TFS instance on a beta release but it is encouraging that Microsoft will be supporting that upgrade path right through to RTM release though.    I’ll cover more details of the upgrade process in another post.

Deeper into Agile

One encouraging theme I picked up on while at Microsoft was an definite embracing of Agile and Scrum specifically.  Anyone who has used TFS for any length of time knows you can configure it for almost any process, however who wants to spend the time doing this for each team you work with.  If you are one of the many organizations jumping on the Agile/Scrum bandwagon (if you aren’t you should ask why) you’ll be very happy with this release.  The Visual Studio team has put out upgraded Scrum, Agile, and CMMI Process Templates (final names not decided, but in beta its Microsoft Visual Studio Scrum 2.0 – Preview 3, for the new Scrum one and MSF for Agile Software Development 6.0 – Preview 3).  If you are starting out with a new Team Project you’ll get to dive right into the new stuff, but as in the last release, if you are working with a 2010 project you’ll need to do some import / export work in the Process Template Editor.  The good news is though you can continue with your existing template until you are ready. I’ll cover the template upgrade process in a later post.

Sprints, Backlog Management, Burndowns, Task Boards and Teams

These sets of features should get you excited if you run software development projects.  Sure we had some of these in TFS2010, but you had to work with a combination of Work Item configuration and some spreadsheets (Iteration Backlog, Product Planning) that were shipped originally with the old Agile template and had some serious bugs in them. 

Now all of this functionality is in the core product and fully accessible from the new Team Web Access web site and Visual Studio, with drag and drop support.  What this means is if you are starting out a new Team and Team Project this wont take you hours of work like it used to.  I’ll add some screen shots of these here shortly.  If you were already using the Agile or Scrum template and customized your User Story work item you may have some adjustments to make with the new template.  Same situation if you went wild with States.  The new Template really only supports 3 of them, you’ll  need to map to these.

The Task Board is a brand new item.  If anyone has looked at VersionOne’s task board, then this one will look real familiar.  Basically it is an electronic Story Board or Kanban board for instant status on where your User Stories and supporting Tasks are at.

Also new are the support of product teams.  This allows the proper status of the Tasks as they may relate to multiple product teams.  Again this is something we can configure right in Team Web Access.

Storyboarding

Another new tool on the horizon is the Storyboarding Power Point plug in.  This item warrants its own post, but in summary it will allow an analyst (i.e. a non-programmer) to put together an animated collection of proposed product screens quickly to avoid the dreaded “that’s not what I wanted” statement.

I’ll be adding to this post as I get more screen shots and the rest of my notes together from the MVP summit.

Team Portals in TFS for Areas ?

by garyg 17. January 2012 22:24

The Team Portals in TFS 2010 were a huge bonus for any PM or Scrum Master looking to point stakeholders and teams to one spot for critical project communication and documentation.  The Team Portals are designed at a Team Project level. The problem you quickly run into with the Team Portals however if you further divide your Team Projects up by Areas for each solution.  You could certainly customize the templates or use the API to develop a tool to do solution level portals but that may be more work than you really want to do.

If your Team Project is already created, and you really need a portal for each area, the simplest solution would be to just manually create a portal using the sam design elements (very easy), copy the reports folder to a new one for just your area (to cusomize later) and create a team query to display the common lists by area and set the lists to use these. If you need to set the burndown (if you are using an Agile process template) to just use that area you'd need to also change the default filter on SSRS reports to reflect just the area you need.

I will update this post in the future with some specific instructions for doing this.

Changing service accounts in TFS 2010

by garyg 15. October 2011 22:46

I get this question a lot, usually from a “pilot” project that turns into more and needs to fall under enterprise configuration guidelines. 

About half the problems I see with installs / re-configurations end up relating back to the accounts not set up properly for the tiers so please check the install guide to make sure your service accounts have the correct rights before you do this next step. Changing the accounts in TFS 2010 is relatively simple and the instructions are located here: http://msdn.microsoft.com/en-us/library/bb552178.aspx

You can either use the GUI or the command line TFSConfig. Instructions for both are located at that MSDN link. I summarized the TFSConfig instructions here:

To use the TFSConfig utility to change the service account
  1. On the application-tier server, open a Command Prompt window and change directories to the directory that contains the TFSConfig utility.

    By default, this utility is located in Drive:\Program Files\Microsoft Team Foundation Server 2010\Tools.

  2. At the command line, type:
    TFSConfig Accounts /change /accountType:ApplicationTier
    /account:
    AccountName /password:NewPassword, and then press ENTER.

TFS Integration with Sharepoint for existing TFS projects

by garyg 14. September 2011 22:21

I recently got a question on this and it seemed useful enough for a post to my blog.  They installed TFS without initially integrating with SharePoint. They had many projects that don't contain SharePoint portals. Then they integrated SharePoint with TFS and can only set up a SharePoint portal with new projects created. Is there any way to create a SharePoint portal for existing TFS projects? Are there any workarounds to achieve this goal?

The answer is yes and yes, and there are a few options to get this done:

Depending on how many you have to do there are two basic approaches that I've used. To begin you need to be in the Project Administrators group or have the View Collection-Level Information and Edit Collection-Level Information permissions set to Allow.

Manual Method, good if you just have a few. Follow the instructions one MSDN here: http://msdn.microsoft.com/en-us/library/dd386320.aspx . Basic steps are:

1.In Team Explorer, right-click the name of the project, point to Team Project Settings, and then click Portal Settings.
2.On the Project Portal tab, select the Enable project portal check box.
3.Click Use this SharePoint site, and then click Configure URL.
4.In the Web application list, click a SharePoint Web application.
5.In Relative site path, type the relative path of an existing SharePoint site.As you type the path, it appears at the end of the value in URL.
6.In URL, click the link, verify that the path is correct, and then click OK.
7.If you want this SharePoint site to show data for this project, select the Reports and dashboards refer to data for this team project check box.
8.Click OK.

Scripting with File.BatchNewTeamProject, more complex but creates the reports as well and good if you have a bunch to do at once. I did a few hundred in fairly short order using this method. Follow the detailed steps here http://msdn.microsoft.com/en-us/library/ff462695.aspx .

Command Log for TFS2010

by garyg 16. August 2011 22:03

It would be great is TFS had a nice Web Service to do this, logged to the event log, etc, and there is some additional logging you can turn on but I've always found this a pain. One thing you can do (especially if you know what you are looking at for commands that suspect have been run) is the tbl_command table in the Collection DB. For instance if you suspect a witadmin command has been run you can use something like this SQL query:

   1:  select * from tbl_Command with (nolock) 
   2:  where useragent LIKE 'Team Foundation (witadmin.exe%'

The usual precautions would apply here, like not running direct DB queries durring peak production times etc. but it allows you to quicly see a list of whats been run against TFS. The Command column has a record of the command that was run. When I had an issue at client of someone running unauthorized commands I was able to use this to track down the person quickly.

A Cautionary Note for TFS2008 to TFS2010 Upgrades

by garyg 12. July 2011 09:34

I responded to a post recently on one of the MSDN TFS forums regarding a question from a user trying to upgrade from Team Foundation Server 2008 to Team Foundation Server 2010.  His question was related to trying to do a delta DB copy after an initial successful upgrade to try and speed the process (it can take 8 hours or more for the full upgrade). (see tfs 2010 re-upgrade)

There is no supported way to achieve this, but it also made me recall another very important tip:  Shut down ALL TFS related services and app pools before making your TFS 2008 DB backups to move to your new server (I’m assuming you are migrating to different hardware in this case).  

This ensures everything is in sync for the backup.  If you don’t, there is a chance a record in one of the DB’s could be updated before you have a chance to complete the backup.  I’ve seen the results of this first hand and it was both difficult to diagnose and expensive.  Your upgrade will proceed normally and you wont know there is a problem until you try and create a new team project, or create a new work item.

Organizing the Self-Organizing Team

by garyg 18. April 2011 11:33

It would be great if every self-organizing team just jumped right in and did just that, but some do need a little help.  Most new groups will traverse through the standard storming – forming – norming stages, and its mainly during the first two you’ll need to help the most.  The biggest challenge for any of us who have lead traditional teams face in facilitating a self-organizing team learning how to facilitate without dropping into traditional management behaviors.

My first realization to this came one morning at a Daily Scrum when listening to the team members report their status to one another.   It was obvious to everyone in the room that there was an extreme imbalance in the workload and a few members User Stories were falling behind.  They were struggling.  At the end of the Scrum I expected one or more of them to offer assistance to the struggling members.  I was wrong. I don’t know why, but I expected these formally very independent people to suddenly step up and help one another out simply because the rules and principles of Scrum had been laid out for them.  The people hadn't changed because the process did. 

Coming to the rapid conclusion that they just didn’t know how to start helping one another, and fighting the urge to drop into delegating PM mode, I stayed in the facilitating Scrum Master role, bringing up the Burn Down and Capacity charts instead and asked questions.  Very pointed questions on what they thought the numbers meant

Leading the team to correct realization on their own rather than telling them what to do, helped them take the first leap.  It seems like a simple step, but for this group it was the turning point for coming to grips with a key responsibility of a self-organizing team. 

So what specifically can you do to help your Agile team to the “right” conclusions? Here are a few tips I’ve put together from my experiences:

  • Highlight issues by bringing them up for discussion.  Encourage team members to vocalize the solution on their own rather than you pointing it out.
  • Get impediments out of the way.  Make sure you aren't one of them.  Facilitate communications but avoid being a go-between if at all possible.
  • You are not the Admin, do not become one.  Insist that all artifacts be created by the Team.  It encourages ownership and responsibility.
  • When everything is right, it will seem like you do nothing at all.  Once the Team gets some experience and success behind them you should do very little other than truly facilitating .

Beware the “Midas Touch”

by garyg 7. November 2010 23:36

So we are in the final go/no-go hour for a product release, and its not looking good.  My team had been charged with testing the product for last 3 day.  The development team was busy playing wack-a-mole with several P1 and P2 bugs that continued to regress.  Our QA team had no involvement at the beginning of this cycle, nor visibility to any hard requirements (I know, not a good start).  A particularly nasty P1 that appears to be in the framework of the product, is on its 4th try through the regression testing cycle.  This is one that the developer was sure he had it “this” time.  My confidence of course was not there, and I recommended this release be pulled.

The client of course was not happy and called an emergency meeting to get a handle on what was happening.  We were now going over the exact contents of what was supposed to be in this latest release, feature by feature.  Seeing the impending revelation creeping upon him the developer finally revealed there may be something “a little extra” in this code.  Something completely off the requirements list, project plan, and of course did not go through the fairly rigorous code review this client normally does.  We were unwitting victims of a classic Gold Plating gone wrong situation and nearly done in by the Midas Touch of unchecked development without matching requirements.  No malice of intent but the results were the same.

How this situation was resolved isn’t important, but how we could have prevented it is.  A simple, solid, Requirements Traceability Matrix combined with some training on early recognition of Gold Plating signs was on my list of recommendations.  I’ve often seen the costs of Gold Plating represented by actual extra work and schedule overruns.  This was the clearest case I’ve seen to date were it directly caused a quality issue of this magnitude.  A good lesson for us all.

Team Foundation Build Service 2010 Controller / Agents and FQDNs

by GaryG 20. July 2010 05:33

I know I usually write about Project Management related topics so I ask my regular readers to please bear with me.  This one was a real pain to solve so I wanted to share it since TFS 2010 is fairly new and and error its giving out doesn’t really help.  Recently while working with an enterprise client in a TFS2008 to TFS2010 migration (a real pain in itself) we came across an error in setting up the Team Build Service.  The topology here put the TFS application tier on one server and the Team Build Service on its own machine (a Windows 2008 Server), and both the Controller and Agents were on this machine. 

The problem we saw was that the the controller and agents couldn't connect (and of course all the team builds failed).  The error was:

"There was no endpoint listening at http://somemachine.company.com/Build/v3.0/Services/Contoller3 that could accept the message.  This is often caused by an incorrect address or SOAP action.  See InnerException, if present, for more details."

The error was displayed in the properties dialog for both the Controller and Agent as in the below screenshot:

image

 

After a lot of head banging, setting up traces, and a reinstall I realized that for some reason the configuration wizard put the FDQN (Fully Qualified Domain Name) rather than the machine name.  Having debugged an issue on another products Web Service I decided to change it to use just the Machine Name and it instantly connected both the Controller and Agents.

This fix is simple thankfully.  Change the local build service endpoint to NOT use a FQDN but just the machine name, restart the Build Controller and Agents.

To do this just get into the TFS Administration Console on the Build Server and click the Build Configuration node. From here click the Properties on the Build Service and you will get the following window:

image

The “Local Build Service Endpoint (incoming)” will be grayed out until you click the “stop to make changes” link.  Click the link to stop the service then click the Change button to change just the FQDN to the machine name.  From here just click the Start button and your Controller and Agents should be talking fine.  It may take a minute once you restart the Build Service for everything to reestablish communication.  I hope this helps someone on another TFS 2010 deployment.

About the author

   
Gary Gauvin is a 20+ year Information Technologies industry leader, currently working as the Director of Application Lifecycle Management for CD-Adapco, a leading developer of CFD/CAE solutions. Working in both enterprise environments and small businesses, Gary enjoys bringing ROI to the organizations he works with through strategic management and getting hands-on wherever practical. Among other qualifications, Gary holds a Bachelor of Science in Information Technologies, an MBA, a PMP (Project Management Professional) certification, and PSM (Professional Scrum Master) certification.  Gary has also been recognized as a Microsoft Most Valuable Professional.

LinkedIn Profile: http://www.linkedin.com/in/garypgauvin

(Note: Comments on this blog are moderated for content and relevancy)


 

Month List

Page List