This is the posting of a slide deck I delivered at TechEd South Africa 2007.
0 likes | 133 Views
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.
This is the posting of a slide deck I delivered at TechEd South Africa 2007.
An Image/Link below is provided (as is) to download presentationDownload Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.Content is provided to you AS IS for your information and personal use only. Download presentation by click this link.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.During download, if you can't get a presentation, the file might be deleted by the publisher.
E N D
Presentation Transcript
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
DEV306: Visual Studio TeamSystem Tips and Tricks Brian Keller Technical Evangelist Brian.Keller@microsoft.com
Agenda Team Foundation Server Setup Team Projects Client configurations Power Tools Policies / Process Reporting Branching & Merging Code Quality Requirements Management
Installing Team Foundation Server Read the manuals. Seriously. Read the manuals first.
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)
“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
Best Practices Analyzer
TFS Admin Power Tool
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
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
Demo: SvnBridge
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…
Demo: Team Foundation Power Tools
Check-In Policies Work Items Code Analysis Testing Changeset Comments* Work Item Query* Custom Path* Forbidden Patterns* *Ships with TFPT v1.2 and above
Process Guidance "With Visual Studio Team System,we thought we were buyingdeveloper tools; what we gotwas a culture changing tool." John SzurekEnterprise Architect
What About my Processes?
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
Demo: Process Template Editor
How Much Work is Left? Planned Work Completed Work
How Productive is the Team?
How Much Unplanned Work is There?
What is the Quality of the Software? Tests Inconclusive Tests Failed Tests Passed Code Churn Active Bugs
How Effectively Are We Finding, Fixing and Closing Bugs?
Recognizing Signs of Underestimation Slow progress leading to cuts in planned work, but not enough cuts Steady rates of progress, but slope too shallow
Recognizing Test Bottlenecks Bulge in resolved. Insufficient resources or inadequate quality from development
Recognizing Sloppy Development Practices (1 of 2) Growing “Fault Feedback Ratio” – bugs requiring multiple handling
Recognizing Sloppy Development Practices (2 of 2) Falling code coverage Fewer passing and more inconclusive tests Rising code churn
Recognizing Scope Creep “Dark Matter” emerging during the iteration Planned work is squeezed out
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
Reporting Use Work Item Tracking! Integrated Check-In Consider Check-In Policies Link Requirements/Scenarios to Tests Publish Test Results
Branching & Merging TFS Branching & Merging guide on CodePlex Branch for: Isolation Archival Tip: Labels are not immutable.
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).
12 17 19 20 Test Dev Prod 10 18 19 21 Traditional Promotion Modeling Source baselines of varying quality foo.cs bar.cs
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?
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
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)
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
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
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.
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)
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
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
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
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
Demo: Static Analysis, Unit Testing,Code Metrics, Continuous Integration
TeamSpec from Personify Show Word TFS sync bar
stpBA from stpsoft BA draws screens in Visio Show: Many stencils in the left hand toolbar Screen in the main surface
stpBA from stpsoft
stpBA from stpsoft 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!
ALM Assessment www.microsoft.com/almassessment Measure your development organization and develop action plan for ALM investments.
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 meBrian.Keller@microsoft.com