Wednesday, January 02, 2008

TFS – So many ways to screw yourself, so little time.

Part 1: The Rant

My new company implemented TFS about 6 months before I took over the QA Department. Unfortunately I had no say in the setup and subsequent customizations that occured. While I am sure everyone had the best of intentions the end result was a nightmare.

The original plan was to take full advantage of TFS; Sharepoint, VSS, Iterations, Tasks, Requirements and Bugs. They were even going to migrate all existing requirements from Word documents into TFS and link everything up to Tasks and Bugs.

Sounds like a solid plan, with a little hard work and planning, what could go wrong?

Unfortunately this major shift in process was treated like a skunk works project. One QA guy put together a sample installation, got approval and then worked with the Dev team to set something up.

My opinion of the whole adoption phase was that everyone was focused on hammering out (on paper) a series of workflows that felt familiar to what they were used to using. And then when time was running out they tried to hammer custom workflows into TFS.

Here are some of the decisions that were made:

  1. Heavily customized the CMMI process template.
  2. All workflows modified
  3. Added new fields and changed the meaning of existing fields
  4. Created custom triggers to enforce a very complex 'Assigned To' scheme (Dev, QA , Business)
  5. Created a single TFS project, using the company name, then created sub projects (using Areas) under that one project.
  6. Placed all code under a single VSS branch, created one giant build for all code.
  7. Ignored the recommended SharePoint setup and created a custom hierarchy of projects to store documents in.
  8. After about 3 months of use they switched the layout around, so now there are ‘historical’ documents in an old area and newer documents in the new area.

Here is the current state:

  • Product Managers pulled requirements back out of TFS into new word documents because TFS was too difficult to use.
  • Bugs are tracked and assigned to developers using a spreadsheet with TFS IDs.
  • There are functional bugs inside TFS with the custom 'Assigned To' workflow logic that was added.
  • All of the default Reports were broken, new reports have not been able to be created due to the complexity of the changes.
  • TFS is used only to store code/documents and file bugs. Requirements and Tasks are no longer tracked in TFS.
  • Everyone thinks TFS sucks are are 100% resistant to making changes or trying to fix the issues.

So this is the problem that I have to fight the unpopular fight to fix. When I get some time I will blog about my proposed solution (I do have one that I am working on) as well as track my progress.

4 comments:

Unknown said...

Hello,

It sounds like my company. The part about skunks works also hit home. I am not against TFS per se. I am against having the "evaluation" deck stacked against any other solution.
You are not alone. One day TFS will work OK.

Anonymous said...

[B]NZBsRus.com[/B]
Dismiss Crawling Downloads Using NZB Files You Can Easily Find Movies, PC Games, MP3 Albums, Software and Download Them @ Blazing Rates

[URL=http://www.nzbsrus.com][B]NZB Search[/B][/URL]

Anonymous said...

Infatuation casinos? scrutinization this environmental [url=http://www.realcazinoz.com]casino[/url] president and horseplay online casino games like slots, blackjack, roulette, baccarat and more at www.realcazinoz.com .
you can also into our blooming [url=http://freecasinogames2010.webs.com]casino[/url] orientate at http://freecasinogames2010.webs.com and conquer ethical tangled forensic wagon !
another unsurpassed [url=http://www.ttittancasino.com]casino spiele[/url] purlieus is www.ttittancasino.com , in the seminar of german gamblers, bring well-wishing online casino bonus.

Anonymous said...

Making money on the internet is easy in the underground world of [URL=http://www.www.blackhatmoneymaker.com]blackhat videos[/URL], You are far from alone if you haven’t heard of it before. Blackhat marketing uses not-so-popular or not-so-known ways to build an income online.