![Page 1: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/1.jpg)
This is the posting of a slide deck I delivered at TechEd South Africa 2007.For URL’s to each of the resources referenced in this presentation please see the speaker’s notes on each slide.
Additionally, see www.accentient.com/widgets.aspx for a wealth of VSTS tools, add-ons, and other such helpful resources.
Brian Keller
![Page 3: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/3.jpg)
Agenda• Team Foundation Server
– Setup– Team Projects– Client configurations– Power Tools– Policies / Process– Reporting– Branching & Merging
• Code Quality• Requirements Management
![Page 4: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/4.jpg)
Installing Team Foundation Server
• Read the manuals.• Seriously.• Read the manuals first.
![Page 5: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/5.jpg)
Team Foundation Guidance
• Team Foundation Server Installation Guide• Team Foundation Server Administrator’s
Guide• Team Foundation Server Operations Guide
(NEW!)• Pricing & Licensing Whitepaper• Migrating? (we’ll cover this later)
![Page 6: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/6.jpg)
“Non-setup” Options
• Just kicking the tires?– Download a VPC.– See my blog for faster download options.
• Outsource your TFS setup/maintenance– www.tfsnow.com – 1st commercial TFS hoster
(based in AUS)– www.codeplex.com – for shared source
projects
![Page 7: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/7.jpg)
Best Practices Analyzer
![Page 8: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/8.jpg)
TFS Admin Power Tool
![Page 9: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/9.jpg)
Team Projects
• “Limit” of 500 MSF for Agile or 250 MSF for CMMI
• Not a hard limit– Does affect performance of TFS clients
• Usually err towards fewer Team Projects– Main exception: Different Process Templates
• Whitepaper: “Guidance for Structuring Team Projects” by Doug Neumann
![Page 10: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/10.jpg)
TFS Clients: Optimize for Roles• Team Explorer 2005 / 2008• MSSCCI Provider• Excel / Project Standard / Pro• TeamPrise• VSTS Web Access• SharePoint• TeamLook• TeamCompanion• SvnBridge• Roll your own using the TFS Object Model
– Do NOT write to the Web services directly
*Any access of TFS requires a CAL
![Page 11: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/11.jpg)
![Page 12: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/12.jpg)
Team Foundation Power Tools• V1.3 release in September• Lots of essential tools
– Online– Rollback– Annotate– Treediff– Custom Check-in Policies– TestToolsTask for MSBuild– Best Practices Analyzer– Work Item Templates– Process Template Editor– More…
![Page 13: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/13.jpg)
![Page 14: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/14.jpg)
Check-In Policies
• Work Items• Code Analysis• Testing• Changeset Comments*• Work Item Query*• Custom Path*• Forbidden Patterns*
*Ships with TFPT v1.2 and above
![Page 15: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/15.jpg)
Process Guidance
"With Visual Studio Team System,we thought we were buyingdeveloper tools; what we gotwas a culture changing tool."
John SzurekEnterprise Architect
![Page 16: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/16.jpg)
What About my Processes?Partner Process/ Tools Link
Avanade SLP using VSTS http://avanade.com/_uploaded/pdf/avanadeslpwhitepaper262852.pdf
Cognizant FDD for VSTS http://www.cognizant.com/html/content/microsoft/techfddvsts.asp
Conchango Scrum for Team System http://www.scrumforteamsystem.com
Fujitsu Macroscope for Team System http://www.fujitsu.com/us/services/consulting/method/macroscope/index_p2.html
Ivar Jacobson Consulting
Essential UP for Team System http://www.ivarjacobson.com
Object Consulting Process MeNtOR TeamGuide http://www.processmentor.com/TeamGuide/Default.aspx
Osellus IRIS Process Author/ Content Bridge for VSTS
http://www.osellus.com/products/
![Page 17: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/17.jpg)
Process Template Editor
• Graphically edit process templates:– Work Item Types
• E.g. Forms, Workflow, Fields– Default Team Project settings
• E.g. Roles & Permissions, “Starter” Work Items and Iterations
• Tip: Reports may need rework.• Tip: Adding required fields to projects
underway may require you to backfill data.
PTE installed with Team Foundation Power Tools v1.2 and above
![Page 18: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/18.jpg)
![Page 19: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/19.jpg)
How Much Work is Left?
Planned Work
Completed Work
![Page 20: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/20.jpg)
How Productive is the Team?
![Page 21: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/21.jpg)
How Much Unplanned Work is There?
![Page 22: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/22.jpg)
What is the Quality of the Software?
Active Bugs
Code Churn
Tests Passed
Tests Failed
Tests Inconclusive
![Page 23: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/23.jpg)
How Effectively Are We Finding, Fixing and Closing Bugs?
![Page 24: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/24.jpg)
Recognizing Signs of Underestimation
Slow progress leading to cuts in planned work, but not enough cuts
Steady rates of progress, but slope too shallow
![Page 25: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/25.jpg)
Recognizing Test Bottlenecks
Bulge in resolved. Insufficient resources or inadequate quality from development
![Page 26: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/26.jpg)
Recognizing Sloppy Development Practices (1 of 2)
Growing “Fault Feedback Ratio” – bugs requiring multiple handling
![Page 27: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/27.jpg)
Recognizing Sloppy Development Practices (2 of 2)
Falling code coverage
Rising code churn
Fewer passing and more inconclusive tests
![Page 28: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/28.jpg)
Recognizing Scope Creep
“Dark Matter” emerging during the iteration
Planned work is squeezed out
![Page 29: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/29.jpg)
Reporting
• Buy Sam’s book• Get to know the built-in
reports• Customize reports to suit your
organization and process– SSRS, Excel– New docs on MSDN
• Use many dimensions to draw conclusions
![Page 30: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/30.jpg)
Reporting• Use Work Item Tracking!• Integrated Check-In
– Consider Check-In Policies• Link Requirements/Scenarios to Tests• Publish Test Results
![Page 31: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/31.jpg)
Branching & Merging
• TFS Branching & Merging guide on CodePlex
• Branch for:– Isolation– Archival
• Tip: Labels are not immutable.
![Page 32: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/32.jpg)
Branching & Merging
• Branching too often:– Can lead to pain during merging.
• Not branching often enough:– Harder to stabilize
• Tip: Configure Visual Studio to use your favorite merge / compare tools (e.g. WinMerge).
![Page 33: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/33.jpg)
Traditional Promotion Modeling
• Source baselines of varying quality
12 17 19 20
10 18 19 21
foo.cs
bar.cs
Test DevProd
![Page 34: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/34.jpg)
Team Foundation Promotion Modeling
• Branches of varying quality
foo.cs
bar.cs
$/…/Dev
$/…/Test
$/…/Prod18
18
foo.cs
bar.cs 13
13
foo.cs
bar.cs 9
9
10
12
15
14
16
15
20
19
22
21
25
25
17
17
23
23
26
26
24
24
27
27
![Page 35: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/35.jpg)
Migrating to Team Foundation• We ship tools for:
– Visual SourceSafe– ClearCase / ClearQuest
• TFS Migration & Sync Toolkit– Uses provider model to interface with 3rd party
SCC / WIT systems– Several approaches:
• 1-way, 1-time• 1-way, many times• 2-way mirror (scheduled or real time)
• Tip: Is “Get Latest” an option for you?
![Page 36: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/36.jpg)
• Team Foundation Server 2008– The results are in: 2X faster than 2005!– Better Scalability
• Single Server: Up to 450 users• Dual-Server: Up to 3600 users
– Support for WSS 3.0 / MOSS 2007– Windows Server 2008 & SQL Server 2008– SQL Named Instances– Port Flexibility– Destroy
![Page 37: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/37.jpg)
• Team Foundation Server 2008– Continuous Integration Built In
• Build scheduling (Manual, Every check-in, “Rolling”, Scheduled)
• Build Queue• Retention Policy• .VSMDI not required for BVT’s
– Annotate– Treediff– Get Latest on Checkout– More… (see Brian Harry’s blog)
![Page 38: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/38.jpg)
Upgrading to TFS 2008• Backup -> Run Setup
– Uninstall (usually) not required• Dozens of customers already running
TFS2008 in production• http://blogs.msdn.com/sudhir/ • Before you upgrade
– Custom Check-in Policies?• See Ed Hintz’ blog
– 3rd party TFS tools?• Ensure compat w/ TFS2008
![Page 39: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/39.jpg)
Code Reviews
• Encourage Static Analysis first• Shelving
– Stores changes on server without committing them to branch
– Shelvesets can be shared• Community add-in: TFS Code Review
– Uses work items for code review workflow– Check-in associated to code review work item
![Page 40: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/40.jpg)
Unit Testing• Use Code Metrics to target areas of high
cyclomatic complexity for simplification (New in 2008)
• Parameterize your tests and feed with data (Improved in 2008)
• Code Coverage helps ensure you are writing the right tests – but don’t rely too heavily on this.
• Use unit tests as BVT’s.• Warning: VSTS 2008 tests not compatible with
VSTS 2005.
![Page 41: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/41.jpg)
Web Testing• Tests Web scenarios• Should be granular down to the user story level• Can be made modular (e.g. Sign-in + Browse +
Sign-out)• Note: Executes at the HTTP(s) layer, not
presentation layer.• Add validation logic to help ensure correct data.• Can be parameterized (Improved for 2008)• AJAX support (New in 2008)
![Page 42: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/42.jpg)
Load Testing
• Tests scalability• Can be applied to Web tests or unit tests
(or both)• Guidance on MSDN for testing strategy• Hotmail.com case study• NCAA “March Madness” case study
![Page 43: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/43.jpg)
Building• Use Team Foundation Server 2008!• Use differing build frequencies for different purposes
– Rolling / Every Check-in for near-real time notification of build breaks• Run BVT’s (usually unit tests)• Consider 32-bit vs. 64-bit• Get creative with your notifications• Team Build Tray Icon• Be careful about punishing build breakers• If your CI breaks, fix it.
– Less frequent (daily/weekly?) builds for integration / manual tests• Scout the build• Update build status• Publish test results• Use reports
– “Named builds” for user-acceptance testing
![Page 44: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/44.jpg)
DBPro Service Release 1
• 3 Major Features:– 3 & 4 part names
• Through “Database References”• Reduces number of warnings
– Filegroup Support– SQLCmd $Variable Support
• Adds support for SQL Server 2005 SP2 and Windows Vista
• Requires Visual Studio 2005 SP1
![Page 45: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/45.jpg)
DBPro Power Tools
• Refactoring improvements:– Move Schema Refactoring– Disambiguate Schema Refactoring– Wild Card Expansion Refactoring– sp_rename & move schema deployment script generation
• MSBuild task improvements:– Schema Compare Build Task– Data Compare Build Task– SQL Script Pre-Processor Task
• Expands variables and include files– SQL Extended Property Build Task
• Used for getting and setting object levelversioning information
![Page 46: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/46.jpg)
![Page 47: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/47.jpg)
Show• Word• TFS sync bar
TeamSpec from Personify
![Page 48: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/48.jpg)
BA draws screens in Visio
Show:• Many stencils in the left hand toolbar• Screen in the main surface
stpBA from stpsoft
![Page 49: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/49.jpg)
stpBA from stpsoft
![Page 50: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/50.jpg)
Dev team reviews the prototypeBuild a version of the app that users can look at
Show• TFS client• List of scenarios open in the query results (or would it be requirements?)• In the work item preview you can see a thumbnail preview of the
walkthrough screen
What is cool• Changes BA made flow to team (single
system for managing requirements enables everyone on the team to accss the “big picture”)
• Devs have links to everything, including thumbnails of the screens!
stpBA from stpsoft
![Page 51: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/51.jpg)
ALM Assessment
• www.microsoft.com/almassessment • Measure your development organization
and develop action plan for ALM investments.
![Page 52: This is the posting of a slide deck I delivered at TechEd South Africa 2007](https://reader035.vdocuments.us/reader035/viewer/2022062315/56815ef8550346895dcdb65f/html5/thumbnails/52.jpg)
Resources
• Brian Harry’s bloghttp://blogs.msdn.com/bharry
• Brian Keller’s bloghttp://blogs.msdn.com/briankel
• Team System Dev Centerhttp://msdn.microsoft.com/teamsystem
• MSDN Forumshttp://forums.microsoft.com/msdn
• Email [email protected]