Chicago Code Camp 2014   TFS Care and Feeding
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Chicago Code Camp 2014 TFS Care and Feeding

on

  • 233 views

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

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

Statistics

Views

Total Views
233
Views on SlideShare
230
Embed Views
3

Actions

Likes
1
Downloads
22
Comments
0

1 Embed 3

http://www.slideee.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Chicago Code Camp 2014 TFS Care and Feeding Presentation Transcript

  • 1. Chicago Code Camp 2014 Angela Dugan Angela.Dugan@PolarisSolutions.com
  • 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- http://www.polarissolutions.com/ Chicago Visual Studio ALM User Group - http://www.chicagoalmug.org/ Twitter: @OakParkGirl, @ChicagoALM, @TeamPolaris Blog - http://www.tfswhisperer.com/
  • 3. Managing TFS Templates Managing TFS Security Other TFS Admin Tools
  • 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. 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. 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. No sharing of:  Work Items  Source Code  Queries  Reports  Build Controllers Team Project Collections CANNOT be renamed*
  • 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. 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. 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. 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. 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. 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. 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 http://msdn.microsoft.com/en-us/library/hh528603.aspx
  • 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. Managing TFS Templates Managing TFS Security Other TFS Admin Tools
  • 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? http://msdn.microsoft.com/en-us/library/ms400752.aspx
  • 18. Behind the scenes it’s just a bunch of XML Files
  • 19. It’s just XML. Manage it like any code!
  • 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. TFS Structure and Anatomy Managing TFS Templates Managing TFS Security Other TFS Admin Tools Configuration and Maintenance Best Practices
  • 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: http://msdn.microsoft.com/en-us/library/vstudio/ms252587.aspx SharePoint security here: http://office.microsoft.com/en-us/sharepoint-server-help/manage-membership-of-sharepoint-groups-HA101794106.aspx?CTT=5&origin=HA101794118 Pre-defined roles for SSRS can be found here: http://msdn.microsoft.com/en-gb/library/ms157363.aspx
  • 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! http://msdn.microsoft.com/en-us/library/ms253094%28v=vs.110%29.aspx
  • 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. Managing TFS Templates Managing TFS Security Other TFS Admin Tools
  • 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. 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. 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. TFS SCM Add-Ons Code Analysis Custom Path Forbidden patterns Work Item Queries Found in TFS Power Tools: http://visualstudiogallery.msdn.microsoft.com/f0 17b10c-02b4-4d6d-9845-58a06545627f
  • 30. Import/Export/Manage: Work Item Definitions Workflow Form Layout Global Lists Open/Edit from file or server http://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f
  • 31. Scan TFS Instance Hardware AND Software Detect Security Issues Lists non-default settings Detects non-compliance with best practices Recommends remediation http://msdn.microsoft.com/en-us/library/ee248645%28v=vs.100%29.aspx
  • 32. http://tfsadmin.codeplex.com/
  • 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+ http://teamprojectmanager.codeplex.com/
  • 34. http://visualstudiogallery.msdn.microsoft.com/73bf2d8e-aec6-406c-8e7f-1c678e46557f
  • 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! http://www.attrice.info/