Date post: | 15-Jan-2015 |
Category: |
Technology |
Upload: | angela-dugan |
View: | 156 times |
Download: | 0 times |
ALM Practice Manager
Certified Scrum Master
ALM MVP
15 years in the software industry8+ years as an architect, BA, PM, developer, and team lead5+ years with Microsoft as an ALM evangelist2+ 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/
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?
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 TeamMobile Team
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
No sharing of:
Work Items
Source Code
Queries
Reports
Build Controllers
Team Project Collections CANNOT be renamed*
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 TeamMobile Team
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
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
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 practiceCan 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
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
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 TeamMobile Team
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
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
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
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
TFS Structure and Anatomy
Managing TFS Templates
Managing TFS Security
Other TFS Admin Tools
Configuration and Maintenance Best Practices
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
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
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.
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
TFS Power Tools:TFS Backup and Restore
Check-in Policy Add-on Pack
Process Editor
Best Practices Analyzer
CodePlex/VS GalleryTFS Admin Tool
Team Project Manager
Community Build Manager
Third-Party ToolsAttrice Sidekicks
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
TFS SCM Add-Ons
Code Analysis
Custom Path
Forbidden patterns
Work Item Queries
Found in TFS Power Tools: http://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f
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
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
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/
http://visualstudiogallery.msdn.microsoft.com/73bf2d8e-aec6-406c-8e7f-1c678e46557f
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/