Chicago Code Camp 2014 TFS Care and Feeding


Published on

Some tips and tricks I have accumulated over the years as someone constantly troubleshooting other people's TFS implementations.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Chicago Code Camp 2014 TFS Care and Feeding

  1. 1. Chicago Code Camp 2014 Angela Dugan
  2. 2. ALM Practice Manager Certified Scrum Master ALM MVP 15 years in the software industry 8+ years as an architect, BA, PM, developer, and team lead 5+ years with Microsoft as an ALM evangelist 2+ years with Polaris Solutions as ALM Practice Manager Shameless self promotion Polaris Solutions- Chicago Visual Studio ALM User Group - Twitter: @OakParkGirl, @ChicagoALM, @TeamPolaris Blog -
  3. 3. Managing TFS Templates Managing TFS Security Other TFS Admin Tools
  4. 4. TFS Should Be PLANNED to ensure: Effectiveness – Does it do what you need? Flexibility – Does it add unjustified overhead? Scalability – Will it be a bottleneck?
  5. 5. TF Server Project Collection 1 Team Project C Master team Sub-Team 1 Sub-Team 2 Project Collection 2 Team Project A Team Project B Web Team Mobile Team
  6. 6. TPC = Collection of *tightly related* Team Projects TPC = SQL Database Can be backed up and restored individually Create only as many TPCs as absolutely necessary
  7. 7. No sharing of:  Work Items  Source Code  Queries  Reports  Build Controllers Team Project Collections CANNOT be renamed*
  8. 8. TF Server Project Collection 1 Team Project C Master team Sub-Team 1 Sub-Team 2 Project Collection 2 Team Project A Team Project B Web Team Mobile Team
  9. 9. Team Project <> “Project” TP = Logical view of subset of TPC data Team Projects Contain 1 Process Template 1 commons set of users and roles 1 SharePoint portal (optional) 1 Reports site (optional) Create only as many TPs as necessary
  10. 10. Work Items, Source Code, Reports, and Queries CAN cross Team Project boundaries. BUT… no sharing of:  Work Item Templates and Definitions Build Definitions  Areas and Iterations  Work Items cannot be MOVED to another Team project, only copied Team Projects CANNOT be renamed
  11. 11. Absolute minimum TFS administration overhead Easy sharing of code, work items, builds, etc. Allows for organizational portfolio management in TFS Great in theory, complicated in practice Can result in very deep hierarchies of Areas and Iterations Builds folder may get crowded and unwieldy All users must agree on a process template (not always easy) Security can be VERY complex if granular artifact isolation is required
  12. 12. Consideration Recommendation Codebases are being shared Create New TP or Add to Existing TP Database level artifact isolation required (compliance) New Team Project Collection Organizational portfolio management needed ONE Team Project Desire to minimize administration overhead Create New TP or Add to Existing TP Ability to easily scale due to database growth New Team Project Collection or split TPC Need to hand off code/project to client New Team Project Collection or split TPC Need a new process template or SCM (TFGit) New Team Project
  13. 13. TF Server Project Collection 1 Team Project C Master team Sub-Team 1 Sub-Team 2 Project Collection 2 Team Project A Team Project B Web Team Mobile Team
  14. 14. Named group of users Provides narrowed scope for viewing work items and status Can be used to secure access to Team Project artifacts Each team has their own planning tools and views
  15. 15. Pros  Teams can be categorized into sub-teams  Teams are allocated their own, isolated backlogs Cons  Teams cannot be shared across Team Projects  Teams are flat user lists  >100 users not loaded by Team Explorer  you have bigger issues!  Team capacities do not “roll up” automatically to parent teams
  16. 16. Managing TFS Templates Managing TFS Security Other TFS Admin Tools
  17. 17. Agile, CMMI, Scrum included Many free 3rd Party options Customize to match YOUR process Defines: Who is on your team? What can people do? How should they do it?
  18. 18. Behind the scenes it’s just a bunch of XML Files
  19. 19. It’s just XML. Manage it like any code!
  20. 20. Don’t customize before evaluating OOB first! Yes you can customize. But SHOULD you? Keep a “sandbox” TPC for piloting customizations Keep changes additive whenever possible Keep customization consistent across Team Projects if possible Apply an ALM process to releasing and testing customizations
  21. 21. TFS Structure and Anatomy Managing TFS Templates Managing TFS Security Other TFS Admin Tools Configuration and Maintenance Best Practices
  22. 22. Team Foundation Server Instance Team Foundation Server Team Collection Team Foundation Server Team Project Team Foundation Server Teams Team Foundation Web Access SharePoint Site Collection SharePoint Sites Reports Server TFS group security and permissions can be found here: SharePoint security here: Pre-defined roles for SSRS can be found here:
  23. 23. TFS Permissions Managed via Admin Console and Web Permissions Limited to Team Projects Permissions Inherited via Group Membership SharePoint Permissions Managed via Central Admin and SharePoint Site Security Permissions can be scoped to Collection or Site Permissions Inherited via AD Group Membership Reporting Permissions Managed via Reports Server Site Permissions can be scoped to Server or Project Folders Permissions Inherited via AD and/or SharePoint Group Membership Yes, there are THREE separate places to manage security!
  24. 24. Permissions are inherited from group membership*. Permissions can be allow, deny, or “not set”. For almost all permissions, deny trumps allow*. If permissions are not explicitly set to allow, they are implicitly denied unless an allow has been inherited via group membership (“inherited allow”). If a user belongs to multiple groups, and ANY one group has a specific permission set to deny, that user will not be able to perform tasks that require that permission. TFS, TPC, and TP Administrator level permissions CANNOT be edited. *With build, version control, and work item related artifacts, explicit permissions that are set on a particular object override those that are inherited from the parent objects. This allows you to do things like allow a user access to a root source control folder, but deny them access to one of that folder’s branches.
  25. 25. Managing TFS Templates Managing TFS Security Other TFS Admin Tools
  26. 26. TFS Power Tools: TFS extensions for managing TFS resources and providing advanced capabilities. CodePlex Add-Ons: community based, often authored by Microsoft employees, not officially supported Visual Studio Gallery: similar to CodePlex, officially supported by Microsoft Third-Party Plug-ins: usually free, extends TFS capabilities
  27. 27. TFS Power Tools: TFS Backup and Restore Check-in Policy Add-on Pack Process Editor Best Practices Analyzer CodePlex/VS Gallery TFS Admin Tool Team Project Manager Community Build Manager Third-Party Tools Attrice Sidekicks
  28. 28. Used to be a Power Tool, now an OOB Feature with TFS 2013 Backups up TFS related databases Nightly, Manual or Custom Full, Differential, Transactional Allows for TPC-level Restore Notifications Available
  29. 29. TFS SCM Add-Ons Code Analysis Custom Path Forbidden patterns Work Item Queries Found in TFS Power Tools: 17b10c-02b4-4d6d-9845-58a06545627f
  30. 30. Import/Export/Manage: Work Item Definitions Workflow Form Layout Global Lists Open/Edit from file or server
  31. 31. Scan TFS Instance Hardware AND Software Detect Security Issues Lists non-default settings Detects non-compliance with best practices Recommends remediation
  32. 32.
  33. 33. Free TFS Analyzer Tool: View team project activities View and edit SCM settings View branch hierarchies View and edit security group and settings View and edit build templates View and edit build definitions Compare templates View and edit process configuration Supports TFS 2008+
  34. 34.
  35. 35. Visualization and Admin Add-On for TFS Plugs right into Visual Studio Provides additional features around: Workspaces Security and Permissions Code Review SCM History and Labels FREE, yes, I know!