SlideShare una empresa de Scribd logo
1 de 94
   Mehdi Khalili
   Consultant at Readify
   Code, lead and mentor by day
   Blog and hack on OSS by night

   Blog: www.mehdi-khalili.com
   Twitter: @MehdiKhalili
   ALM
   ALM the TFS way
     Team Collections and Team Projects
     Version Control and branching
     Build Automation
     Work Item Tracking
     Team Collaboration Using Portal
     Web Access!
   Putting it all together
There may be glitches in demos due to our virtual setup


This is not a TFS only talk. We are going to talk about ALM and
             software processes and methodologies
   A quick tour of our virtual environment
     Windows Server 2008
     SQL Server 2008 R2
      ▪ Database
      ▪ Reporting Services
      ▪ Analysis Services
     Windows SharePoint Services 3.0
     Team Foundation Server 2010
     Visual Studio 2010 Premium
What is it?
   “continuous process of managing the life of
    an application”
   Increases productivity
   Improves quality
   Accelerates development through simplified
    integration
   Cuts maintenance time
   Maximizes investments
   Increases flexibility
   …
   Build management
   Release/deployment
   Testing
   Requirements management
   Work item management
   Project management
   Change management
   Configuration management
   ….
The most integrated ALM solution
           in .Net land
   A quick tour of the Administration Console
     Application Tier
     Team Project Collections
      ▪ Team Projects
      ▪ SharePoint portal
      ▪ Reporting
     Build Configurations
      ▪ Build Controllers
      ▪ Build Agents
   The basic unit of recovery
   One database per collection
   Benefits
     Scalability: load balance
     Backup and recovery
     Security isolation
     Information sharing
   Organizational/team structure
   The largest unit of work associated with
    developing a single product or product line

   Each collection can have many team projects
   Creating Team Projects is time consuming
   Per Team Project you will get
     Milestones and release schedules
     Areas and Iterations
     Version Control Settings
     ALM methodology
     Process Template and its customization
     Portal
   CMMI
   Agile
   Scrum
Work Item Comparison
Agile                   Scrum

Bug                     Bug

Issue                   Impediment

User Story              Product Backlog Item

Task                    Task

N/A                     Sprint
User Story vs. PBI
User Story                     Product Backlog Item

Title                          Title

Description                    Description

Rank                           Backlog Priority

Story Points                   Effort

Business Value                 Business Value

Acceptance Criteria            Acceptance Criteria
   Off to Team Explorer
   Customize a project’s template
   Customize Project Template
AKA Source Control Management
   A journal of changes to your code
   All actions are irreversible: if you make a
    mistake you can only reverse it by
    compensating actions (well, except in git which allows you
    to rewrite the history – oh yeah)
   Atomic check-ins
   Branching and merging
   Shelving
   Labeling
   Concurrent check-outs
   Check-in policies
   Association of check-ins with work items
   Add a project to source control
   Workspaces
   Get a project
   Get latest
   Get specific
   Check-in
   Check-out and Lock!!!
   Undo changes
   Shelve-sets: shelving and unshelving
   Move
   …and Source Control File Types
   Check-out settings
     Bringing VSS annoyance to TFS!!
   Check-in policy
     Some useful policies
     And some are unnecessary and annoying
   Check-in notes
The Dark Side
       of
Version Control!
   Feature branch
   Dev branch
   Release branch
   Hotfix branch


   Integration isolation
   Technology specific branch
   Create a branch
   Make some changes on the branch
   Merge changes back

   Make some changes on the branch
   Make some changes on the mainline
   Merge changes and resolve the conflict
   “No Branching”, Says Me




   But if you REALLY need branching at least do it on demand
   And then do your best to remove the demand ;-)
   Create a label on the release
   Do NOT create a branch
   If you need to fix some bugs on the release
    branch off the label



   Do NOT forget to merge your changes back
   Chrome with hundreds of millions of users is
    released every six weeks


   Chrome Canary is released once a day


   Flickr with hundreds of millions of users
    deploys to production 10 times a day
   You need to maintain workable Mainline
   You want to check-in frequently
   Conflicting needs
   Feature branching seems like the solution
From Feature Branching By Martin Fowler
   Make your features small
   Have very few features in progress
   Do not create developer silos


   Branching is painful. You may reduce the
    pain; but it is always going to hurt
   Avoid branching using
       Smaller features
       Shorter sprints
       Feature Toggle
       Branch By Abstraction

   … but sometimes you just HAVE to create a
    branch. That is ok because it should not
    happen often
The relief we are after
   Integrate your work frequently
   Everyone checks into Mainline on daily basis
   Every commit should be built
   Builds should include test runs
   Keep the build fast
   Keep your tests fast

   Use CI to drive your Automated Deployment
   With or without branches, please
    continuously integrate back and forward
   And do not forget: Mainline is the king!




From Feature Branching By Martin Fowler
   AKA baseless merge in TFS land




   Only doable through command prompt
   This is not a good ideausually

   And we never talked about it – alright?!
   Offline Mode
   Source History
   Code Annotation
   Diff tools
     Comparing files
     Comparing folders
   Merge tools
     Two way merge
     Three way merge
This is an important part of
 Continuous Integration
   Several triggers:
     Manual
     CI
     Rolling Builds
     Gated Check-In
     Scheduled
   From MSBuild in 2008 to WF in 2010
     Some are happy and some like me are sad pandas
   Manual: most useful for deployment builds
   CI: Good for CI
   Rolling Build: Useful when you have a big
    team and devs check-in very frequently
   Gated Check-In: Useful for junior teams and
    for your Mainline if you have many branches
   Schedule: useful for functional tests, nightly
    builds, …
   Install TFS on your agent machine
   Set it up as an agent for the build controller
   Give your agents good names
   Optionally give it some tags
   You can use tags in your build definition
     Or when you queue the build


   You can see a list of controllers and agents
    from team explorer
   You can queue
     The latest code
     A shelveset
     A changeset
     A label
   Test result
   Broken test could break the build
   Keeping a build result around
   Build Log
   MSBuild Log
   Drop folder
   Build folder
   Get (late) notifications on builds
   Desktop notification from TFS
   Do not rely on it; but having it could help
Remember Chrome and Flickr

If you want to win you should do the same
Short     Happy
Continuous      Feedback
Integration       Cycle    Customer




Continuous    Continuous
 Testing       Delivery
   No matter how big your application is, if your
    deployment takes more than a minute to
    trigger you are doing it wrong


   Some cool tools:
     MSDeploy
     TFSDeployer
   You need to apply database transformation
    as part of your push-button deployment



   Some cool tools
     MigratorDotNet
     DBUP
   Different environments have different
    settings
   To create push-button deployment you need
    to easily apply config transformations


   Some cool tools
     CodeAssassin.ConfigTransform
     SlowCheetah
No CMMI Please!
   Integrated work item tracking system
   Integration with Version Control
   Requirements, tasks, bugs, issues, test cases
   Extensible:
     Create your custom fields
     Change the layout
     Available states
     State transitions
   Create a sprint
   Create iterations and areas
   Create Product Backlog Item/Story
   Create tasks and subtasks
   Create bugs
   Create impediments
   Check-in code against a backlog item
   Create custom queries
   Editing multiple entries at once
   Populating your backlog
   Backlog is a living creature!!
   If your backlog is not growing your product is
    dead
   Backlog MUST be always prioritized
   Do not forget to groom your backlog
   The Team should help PO groom the backlog
   Prioritize your backlog
   Backlog MUST be always prioritized
Customer Preferences
   Attractive
   One-Dimensional
   Must-Be
   Indifferent
   Reverse
   Deny is THE king
     And then there are administrators
      ▪ Project Collection Administrators
      ▪ Project Administrators
      ▪ Team Foundation Administrators
   Allow is the king in the absence of Deny
   Unset means denied unless stated otherwise
     This is where inheritance shines
   Administer warehouse
   Create team project collection
   Delete team project collection
   Edit instance-level information
   Make requests on behalf of others
   Trigger Events
   Use full Web Access features
   View instance-level information
   SharePoint Web Application Services
   Team Foundation Administrators
   Team Foundation Service Accounts
   Team Foundation Valid Users
   Work Item Only View Users
   Administer shelved changes
   Administer workspaces
   Create a workspace
   Create new projects
   Delete team project
   Manage process template
   Manage build resources
   Delete team project collection
   ….
   Project Collection Administrators
   Project Collection Service Accounts
   Project Collection Build Administrators
   Project Collection Build Service Accounts
   Project Collection Valid Users
   Collection Proxy Service Accounts
   Project Collection Test Service Accounts
   Project Administrators
   Contributors
   Readers
   Builders
   Permission Levels:
     Project
     Build
     Work Item Query
     Areas
     Iterations
     Version Control
   And each has very granular permissions
   Create different AD groups for different roles
   TFS has to be granular to suit every need
   Do not over specify – a few groups would
    usually suffice
   Do not lock it in: adapt as need arises
   Project documents and requirements
   Process Guidance
   Dashboard with reports about ongoing things
   Wiki


   Some versioning goodness
   Announcements
   Contacts
   Discussion Boards
   Out of TFS Tasks
   Surveys
   ….


   RSS subscriptions
   Alerts
   Environment Lists: Name, status, URLs,
    current release info, access details if need be
   Active Risks
   Sprint info: sprint No., goal, start and end
    dates, daily stand-up location and time,
    review location and time
   Project Glossary
   Important Dates
   Contacts
   Create/Edit Work Items and Work Item
    Queries
   Create/Edit Areas and Iterations
   Read-only access to Version Control
   Access to Team Build
   A Work Item Only View (doesn't require CAL)
   Your work items (or any work item) changes
     Or a work item is assigned to you
     Or a new work item is created
   Build Quality Changes
     Or a build completes
     Or it fails
   Anything is checked in
       Or there is a check-in on a specific file
       Or a folder
       Or a file extension
       Or when a check-in policy is overridden
   Roles                  Ceremonies
     Product Owner          Sprint planning
     ScrumMaster            Daily standup
     The Team               Sprint review
                             Sprint retrospective

   Documents
     Product backlog
     Sprint backlog
     Burndown charts
All that said ...
   There is no silver bullet - NEVER
   … and TFS is no exception
   A good process succeeds regardless of tools
   To succeed we should
     Be transparent
     Inspect
     Adapt
   Get as much feedback as frequently as possible
   … and the tool comes next
Let’s run a project!
   git-tfs and posh-git
   Team Foundation Sidekicks
   Team Foundation Power Tools
   Telerik’s TFS Project Dashboard
   TFS Integration Tools
   TFS Administration Tools


   Just search for them
Q&A
   TFS Permissions:
    http://msdn.microsoft.com/en-us/library/ms252587(v=vs.100).aspx
   VS TFS Branching Guidance:
    http://vsarbranchingguide.codeplex.com/
   Continuous Integration:
    http://martinfowler.com/articles/continuousIntegration.html
   Feature Branching:
    http://martinfowler.com/bliki/FeatureBranch.html
   Branch By Abstraction:
    http://continuousdelivery.com/2011/05/make-large-scale-
    changes-incrementally-with-branch-by-abstraction/
   Feature Toggle:
    http://martinfowler.com/bliki/FeatureToggle.html
   Mitigate your merge issues:
    http://www.mehdi-khalili.com/mitigate-your-merge-issues
   MSDeploy:
    http://www.hanselman.com/blog/WebDeploymentMadeAw
    esomeIfYoureUsingXCopyYoureDoingItWrong.aspxhttp://ch
    annel9.msdn.com/events/mix
   TFSDeployer:
    http://tfsdeployer.codeplex.com/
   TFS Sidekicks:
    http://www.attrice.info/cm/tfs/
   App and Web Config Transformation
    http://www.mehdi-khalili.com/transform-app-config-and-web-config
   Team Foundation Power Tools:
    http://visualstudiogallery.msdn.microsoft.com/c255a1e
    4-04ba-4f68-8f4e-cd473d6b971f
   Telerik’s TFS project dashboard:
    http://www.telerik.com/agile-project-management-
    tools/tfs.aspx
   TFS Integration Tools:
    http://visualstudiogallery.msdn.microsoft.com/eb77e739-
    c98c-4e36-9ead-fa115b27fefe
   TFS Administrations Tools:
    http://tfsadmin.codeplex.com

Más contenido relacionado

La actualidad más candente

Team Foundation Server 2012 Reporting
Team Foundation Server 2012 ReportingTeam Foundation Server 2012 Reporting
Team Foundation Server 2012 ReportingSteve Lange
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Aspenware
 
TFS 2010: Team Development on Crack
TFS 2010: Team Development on CrackTFS 2010: Team Development on Crack
TFS 2010: Team Development on CrackSteve Lange
 
Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Chris Kadel, MBA
 
Tfs 2013 Process Template Overview
Tfs 2013 Process Template OverviewTfs 2013 Process Template Overview
Tfs 2013 Process Template OverviewAngela Dugan
 
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...Moataz Nabil
 
Visual Studio ALM 2013 - Edition Comparison
Visual Studio ALM 2013 - Edition ComparisonVisual Studio ALM 2013 - Edition Comparison
Visual Studio ALM 2013 - Edition ComparisonSteve Lange
 
Webcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why UpgradeWebcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why UpgradeInCycleSoftware
 
Managing software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumManaging software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumHossein Sarshar
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)Visug
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Moataz Nabil
 
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTSDevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTSSolidify
 
Lean & Agile DevOps with VSTS and TFS 2015
Lean & Agile DevOps with VSTS and TFS 2015Lean & Agile DevOps with VSTS and TFS 2015
Lean & Agile DevOps with VSTS and TFS 2015Clint Edmonson
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015InCycleSoftware
 
Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013Kobi Moraz
 
Ssw forte-agile-seminar
Ssw forte-agile-seminarSsw forte-agile-seminar
Ssw forte-agile-seminarSSW
 
Visual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersVisual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersSteve Lange
 
LCNUG 2015 - what's new for agile teams in TFS 2015
LCNUG 2015 -  what's new for agile teams in TFS 2015LCNUG 2015 -  what's new for agile teams in TFS 2015
LCNUG 2015 - what's new for agile teams in TFS 2015Angela Dugan
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksInCycleSoftware
 
What’s new in VS 2015 and ALM 2015
What’s new in VS 2015 and ALM 2015What’s new in VS 2015 and ALM 2015
What’s new in VS 2015 and ALM 2015SSW
 

La actualidad más candente (20)

Team Foundation Server 2012 Reporting
Team Foundation Server 2012 ReportingTeam Foundation Server 2012 Reporting
Team Foundation Server 2012 Reporting
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)
 
TFS 2010: Team Development on Crack
TFS 2010: Team Development on CrackTFS 2010: Team Development on Crack
TFS 2010: Team Development on Crack
 
Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015
 
Tfs 2013 Process Template Overview
Tfs 2013 Process Template OverviewTfs 2013 Process Template Overview
Tfs 2013 Process Template Overview
 
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
 
Visual Studio ALM 2013 - Edition Comparison
Visual Studio ALM 2013 - Edition ComparisonVisual Studio ALM 2013 - Edition Comparison
Visual Studio ALM 2013 - Edition Comparison
 
Webcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why UpgradeWebcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why Upgrade
 
Managing software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumManaging software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile Scrum
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online
 
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTSDevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
 
Lean & Agile DevOps with VSTS and TFS 2015
Lean & Agile DevOps with VSTS and TFS 2015Lean & Agile DevOps with VSTS and TFS 2015
Lean & Agile DevOps with VSTS and TFS 2015
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015
 
Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013
 
Ssw forte-agile-seminar
Ssw forte-agile-seminarSsw forte-agile-seminar
Ssw forte-agile-seminar
 
Visual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersVisual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for Developers
 
LCNUG 2015 - what's new for agile teams in TFS 2015
LCNUG 2015 -  what's new for agile teams in TFS 2015LCNUG 2015 -  what's new for agile teams in TFS 2015
LCNUG 2015 - what's new for agile teams in TFS 2015
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
What’s new in VS 2015 and ALM 2015
What’s new in VS 2015 and ALM 2015What’s new in VS 2015 and ALM 2015
What’s new in VS 2015 and ALM 2015
 

Similar a Application Lifecycle Management with TFS

Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013David Funaro
 
Team Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewTeam Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewSteve Lange
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Steve Lange
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudJeremy Likness
 
Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010Ed Blankenship
 
Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008Bill Duncan
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)Amazon Web Services
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEVKrit Kamtuo
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio worldCodecamp Romania
 
Ci for force dot com
Ci for force dot comCi for force dot com
Ci for force dot comDon McIntosh
 
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual StudioSPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual StudioNCCOMMS
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep DiveChristian Thilmany
 
Team Foundation Server - Source Control
Team Foundation Server - Source ControlTeam Foundation Server - Source Control
Team Foundation Server - Source ControlDhirendra Singh
 
Advanced Flow Techniques with Apex and Visualforce
Advanced Flow Techniques with Apex and VisualforceAdvanced Flow Techniques with Apex and Visualforce
Advanced Flow Techniques with Apex and VisualforceSalesforce Developers
 
ASP.NET Core For The Agile Enterprise
ASP.NET Core For The Agile EnterpriseASP.NET Core For The Agile Enterprise
ASP.NET Core For The Agile EnterpriseDennis Moon
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersSarah Dutkiewicz
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringBradley Irby
 

Similar a Application Lifecycle Management with TFS (20)

Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Team Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewTeam Foundation Server 2010 - Overview
Team Foundation Server 2010 - Overview
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010
 
Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEV
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio world
 
The first looks at VSTS2010
The first looks at VSTS2010The first looks at VSTS2010
The first looks at VSTS2010
 
Ci for force dot com
Ci for force dot comCi for force dot com
Ci for force dot com
 
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual StudioSPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep Dive
 
Visual Studio ALM
Visual Studio ALMVisual Studio ALM
Visual Studio ALM
 
Team Foundation Server - Source Control
Team Foundation Server - Source ControlTeam Foundation Server - Source Control
Team Foundation Server - Source Control
 
Advanced Flow Techniques with Apex and Visualforce
Advanced Flow Techniques with Apex and VisualforceAdvanced Flow Techniques with Apex and Visualforce
Advanced Flow Techniques with Apex and Visualforce
 
ASP.NET Core For The Agile Enterprise
ASP.NET Core For The Agile EnterpriseASP.NET Core For The Agile Enterprise
ASP.NET Core For The Agile Enterprise
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 

Último

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 

Último (20)

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 

Application Lifecycle Management with TFS

  • 1. Mehdi Khalili  Consultant at Readify  Code, lead and mentor by day  Blog and hack on OSS by night  Blog: www.mehdi-khalili.com  Twitter: @MehdiKhalili
  • 2. ALM  ALM the TFS way  Team Collections and Team Projects  Version Control and branching  Build Automation  Work Item Tracking  Team Collaboration Using Portal  Web Access!  Putting it all together
  • 3. There may be glitches in demos due to our virtual setup This is not a TFS only talk. We are going to talk about ALM and software processes and methodologies
  • 4.
  • 5.
  • 6.
  • 7. A quick tour of our virtual environment  Windows Server 2008  SQL Server 2008 R2 ▪ Database ▪ Reporting Services ▪ Analysis Services  Windows SharePoint Services 3.0  Team Foundation Server 2010  Visual Studio 2010 Premium
  • 9. “continuous process of managing the life of an application”  Increases productivity  Improves quality  Accelerates development through simplified integration  Cuts maintenance time  Maximizes investments  Increases flexibility  …
  • 10. Build management  Release/deployment  Testing  Requirements management  Work item management  Project management  Change management  Configuration management  ….
  • 11. The most integrated ALM solution in .Net land
  • 12.
  • 13. A quick tour of the Administration Console  Application Tier  Team Project Collections ▪ Team Projects ▪ SharePoint portal ▪ Reporting  Build Configurations ▪ Build Controllers ▪ Build Agents
  • 14. The basic unit of recovery  One database per collection  Benefits  Scalability: load balance  Backup and recovery  Security isolation  Information sharing  Organizational/team structure
  • 15. The largest unit of work associated with developing a single product or product line  Each collection can have many team projects
  • 16. Creating Team Projects is time consuming  Per Team Project you will get  Milestones and release schedules  Areas and Iterations  Version Control Settings  ALM methodology  Process Template and its customization  Portal
  • 17. CMMI  Agile  Scrum
  • 18. Work Item Comparison Agile Scrum Bug Bug Issue Impediment User Story Product Backlog Item Task Task N/A Sprint
  • 19. User Story vs. PBI User Story Product Backlog Item Title Title Description Description Rank Backlog Priority Story Points Effort Business Value Business Value Acceptance Criteria Acceptance Criteria
  • 20. Off to Team Explorer
  • 21. Customize a project’s template  Customize Project Template
  • 22.
  • 23. AKA Source Control Management
  • 24. A journal of changes to your code  All actions are irreversible: if you make a mistake you can only reverse it by compensating actions (well, except in git which allows you to rewrite the history – oh yeah)
  • 25. Atomic check-ins  Branching and merging  Shelving  Labeling  Concurrent check-outs  Check-in policies  Association of check-ins with work items
  • 26. Add a project to source control  Workspaces  Get a project  Get latest  Get specific  Check-in  Check-out and Lock!!!  Undo changes  Shelve-sets: shelving and unshelving  Move  …and Source Control File Types
  • 27. Check-out settings  Bringing VSS annoyance to TFS!!  Check-in policy  Some useful policies  And some are unnecessary and annoying  Check-in notes
  • 28. The Dark Side of Version Control!
  • 29. Feature branch  Dev branch  Release branch  Hotfix branch  Integration isolation  Technology specific branch
  • 30.
  • 31. Create a branch  Make some changes on the branch  Merge changes back  Make some changes on the branch  Make some changes on the mainline  Merge changes and resolve the conflict
  • 32. “No Branching”, Says Me  But if you REALLY need branching at least do it on demand  And then do your best to remove the demand ;-)
  • 33. Create a label on the release  Do NOT create a branch  If you need to fix some bugs on the release branch off the label  Do NOT forget to merge your changes back
  • 34. Chrome with hundreds of millions of users is released every six weeks  Chrome Canary is released once a day  Flickr with hundreds of millions of users deploys to production 10 times a day
  • 35.
  • 36.
  • 37. You need to maintain workable Mainline  You want to check-in frequently  Conflicting needs  Feature branching seems like the solution
  • 38. From Feature Branching By Martin Fowler
  • 39. Make your features small  Have very few features in progress  Do not create developer silos  Branching is painful. You may reduce the pain; but it is always going to hurt
  • 40. Avoid branching using  Smaller features  Shorter sprints  Feature Toggle  Branch By Abstraction  … but sometimes you just HAVE to create a branch. That is ok because it should not happen often
  • 41. The relief we are after
  • 42. Integrate your work frequently  Everyone checks into Mainline on daily basis  Every commit should be built  Builds should include test runs  Keep the build fast  Keep your tests fast  Use CI to drive your Automated Deployment
  • 43. With or without branches, please continuously integrate back and forward  And do not forget: Mainline is the king! From Feature Branching By Martin Fowler
  • 44. AKA baseless merge in TFS land  Only doable through command prompt  This is not a good ideausually  And we never talked about it – alright?!
  • 45. Offline Mode  Source History  Code Annotation  Diff tools  Comparing files  Comparing folders  Merge tools  Two way merge  Three way merge
  • 46. This is an important part of Continuous Integration
  • 47. Several triggers:  Manual  CI  Rolling Builds  Gated Check-In  Scheduled  From MSBuild in 2008 to WF in 2010  Some are happy and some like me are sad pandas
  • 48. Manual: most useful for deployment builds  CI: Good for CI  Rolling Build: Useful when you have a big team and devs check-in very frequently  Gated Check-In: Useful for junior teams and for your Mainline if you have many branches  Schedule: useful for functional tests, nightly builds, …
  • 49.
  • 50. Install TFS on your agent machine  Set it up as an agent for the build controller  Give your agents good names  Optionally give it some tags  You can use tags in your build definition  Or when you queue the build  You can see a list of controllers and agents from team explorer
  • 51. You can queue  The latest code  A shelveset  A changeset  A label
  • 52. Test result  Broken test could break the build  Keeping a build result around  Build Log  MSBuild Log  Drop folder  Build folder
  • 53. Get (late) notifications on builds  Desktop notification from TFS  Do not rely on it; but having it could help
  • 54. Remember Chrome and Flickr If you want to win you should do the same
  • 55. Short Happy Continuous Feedback Integration Cycle Customer Continuous Continuous Testing Delivery
  • 56. No matter how big your application is, if your deployment takes more than a minute to trigger you are doing it wrong  Some cool tools:  MSDeploy  TFSDeployer
  • 57. You need to apply database transformation as part of your push-button deployment  Some cool tools  MigratorDotNet  DBUP
  • 58. Different environments have different settings  To create push-button deployment you need to easily apply config transformations  Some cool tools  CodeAssassin.ConfigTransform  SlowCheetah
  • 60. Integrated work item tracking system  Integration with Version Control  Requirements, tasks, bugs, issues, test cases  Extensible:  Create your custom fields  Change the layout  Available states  State transitions
  • 61. Create a sprint  Create iterations and areas  Create Product Backlog Item/Story  Create tasks and subtasks  Create bugs  Create impediments  Check-in code against a backlog item  Create custom queries
  • 62. Editing multiple entries at once  Populating your backlog
  • 63. Backlog is a living creature!!  If your backlog is not growing your product is dead  Backlog MUST be always prioritized  Do not forget to groom your backlog  The Team should help PO groom the backlog  Prioritize your backlog  Backlog MUST be always prioritized
  • 64.
  • 65. Customer Preferences  Attractive  One-Dimensional  Must-Be  Indifferent  Reverse
  • 66.
  • 67. Deny is THE king  And then there are administrators ▪ Project Collection Administrators ▪ Project Administrators ▪ Team Foundation Administrators  Allow is the king in the absence of Deny  Unset means denied unless stated otherwise  This is where inheritance shines
  • 68. Administer warehouse  Create team project collection  Delete team project collection  Edit instance-level information  Make requests on behalf of others  Trigger Events  Use full Web Access features  View instance-level information
  • 69. SharePoint Web Application Services  Team Foundation Administrators  Team Foundation Service Accounts  Team Foundation Valid Users  Work Item Only View Users
  • 70. Administer shelved changes  Administer workspaces  Create a workspace  Create new projects  Delete team project  Manage process template  Manage build resources  Delete team project collection  ….
  • 71. Project Collection Administrators  Project Collection Service Accounts  Project Collection Build Administrators  Project Collection Build Service Accounts  Project Collection Valid Users  Collection Proxy Service Accounts  Project Collection Test Service Accounts
  • 72. Project Administrators  Contributors  Readers  Builders
  • 73. Permission Levels:  Project  Build  Work Item Query  Areas  Iterations  Version Control  And each has very granular permissions
  • 74. Create different AD groups for different roles  TFS has to be granular to suit every need  Do not over specify – a few groups would usually suffice  Do not lock it in: adapt as need arises
  • 75.
  • 76. Project documents and requirements  Process Guidance  Dashboard with reports about ongoing things  Wiki  Some versioning goodness
  • 77. Announcements  Contacts  Discussion Boards  Out of TFS Tasks  Surveys  ….  RSS subscriptions  Alerts
  • 78. Environment Lists: Name, status, URLs, current release info, access details if need be  Active Risks  Sprint info: sprint No., goal, start and end dates, daily stand-up location and time, review location and time  Project Glossary  Important Dates  Contacts
  • 79.
  • 80. Create/Edit Work Items and Work Item Queries  Create/Edit Areas and Iterations  Read-only access to Version Control  Access to Team Build  A Work Item Only View (doesn't require CAL)
  • 81.
  • 82. Your work items (or any work item) changes  Or a work item is assigned to you  Or a new work item is created  Build Quality Changes  Or a build completes  Or it fails  Anything is checked in  Or there is a check-in on a specific file  Or a folder  Or a file extension  Or when a check-in policy is overridden
  • 83.
  • 84.
  • 85. Roles  Ceremonies  Product Owner  Sprint planning  ScrumMaster  Daily standup  The Team  Sprint review  Sprint retrospective  Documents  Product backlog  Sprint backlog  Burndown charts
  • 87. There is no silver bullet - NEVER  … and TFS is no exception  A good process succeeds regardless of tools  To succeed we should  Be transparent  Inspect  Adapt  Get as much feedback as frequently as possible  … and the tool comes next
  • 88. Let’s run a project!
  • 89. git-tfs and posh-git  Team Foundation Sidekicks  Team Foundation Power Tools  Telerik’s TFS Project Dashboard  TFS Integration Tools  TFS Administration Tools  Just search for them
  • 90. Q&A
  • 91. TFS Permissions: http://msdn.microsoft.com/en-us/library/ms252587(v=vs.100).aspx  VS TFS Branching Guidance: http://vsarbranchingguide.codeplex.com/  Continuous Integration: http://martinfowler.com/articles/continuousIntegration.html  Feature Branching: http://martinfowler.com/bliki/FeatureBranch.html
  • 92. Branch By Abstraction: http://continuousdelivery.com/2011/05/make-large-scale- changes-incrementally-with-branch-by-abstraction/  Feature Toggle: http://martinfowler.com/bliki/FeatureToggle.html  Mitigate your merge issues: http://www.mehdi-khalili.com/mitigate-your-merge-issues
  • 93. MSDeploy: http://www.hanselman.com/blog/WebDeploymentMadeAw esomeIfYoureUsingXCopyYoureDoingItWrong.aspxhttp://ch annel9.msdn.com/events/mix  TFSDeployer: http://tfsdeployer.codeplex.com/  TFS Sidekicks: http://www.attrice.info/cm/tfs/  App and Web Config Transformation http://www.mehdi-khalili.com/transform-app-config-and-web-config
  • 94. Team Foundation Power Tools: http://visualstudiogallery.msdn.microsoft.com/c255a1e 4-04ba-4f68-8f4e-cd473d6b971f  Telerik’s TFS project dashboard: http://www.telerik.com/agile-project-management- tools/tfs.aspx  TFS Integration Tools: http://visualstudiogallery.msdn.microsoft.com/eb77e739- c98c-4e36-9ead-fa115b27fefe  TFS Administrations Tools: http://tfsadmin.codeplex.com

Notas del editor

  1. A quick tour of TFS Administration ConsoleDo not panic. We are going to go through all these
  2. Show Team Collections in the TFS Admin consoleShow how they relate to a database eachShow how they have got their portals
  3. Talk about differencesCMMI sucksAgile and scrum are good. Scrum is more lightweightHow to install Scrum template
  4. Talk about differencesCMMI sucksAgile and scrum are good. Scrum is more lightweightHow to install Scrum template
  5. Show how to create team projectsHow to setup a portal as part of the build or later
  6. Think of it as a journal in accounting. You will not remove a journal entry. If you made a mistake you fix it by a reverse transaction entry
  7. Do you guys know what branching is?Do you know why it is “useful”?Define branching
  8. Discuss the benefits of each strategy/need
  9. Explain in details
  10. Explain how build agents can be createdExplain the benefits
  11. But agile template is more or less the same
  12. Create backlog itemsChange prioritiesAssign to different sprints/iterations
  13. SharePoint PortalHow to bring it upHow to set it up if you have not as part of building a Team ProjectHow to store and retrieve documentsHow to version documents
  14. Direct links to work items, query results, diffs, change sets and moreDisplay custom controls on work item formsView queued builds new, queue new buildsAdd new work items or edit existing onesWork with any type of work item, including custom onesAdd new work item queries or edit existing onesView, download, upload, check-in and check-out documents on SharePoint team portalView reports, export as PDF or ExcelBrowse source control repositories, download files, view changesets, diffs, histories, and annotated viewsView build results, start or stop buildsSearch for keywords in work items