SlideShare a Scribd company logo
How to be a good TFS
Master
(using a sprinkle of Scrum of course)


Damian Brady
http://www.damianbrady.com.au

Twitter: @damovisa | #qalmug



                  Delivering Awesome Web Applications
Agenda
What is a TFS Master?
Why TFS?
More Pain for Better Results
Scrum with TFS
User Stories and the Backlog
What is a TFS Master?
   ?

   Ensure your team gets the
    most out of TFS

   http://brdy.in/sswtfsmaster
Why TFS?
   ?

   TFS is much more than just source control
Why TFS?

0%                                                   100%




 Source control         Continuous Build    Lab Management

                  Backlog        Continuous Deployment
TFS for Source Control
   #1 reason to use TFS?

   Annotate

   http://brdy.in/sswannotate
More Pain for Better Results
   This is good pain
TFS for Source Control
   ?

   Check in regularly
    http://brdy.in/sswcheckin

   Only check in code that compiles and passes tests
    http://brdy.in/sswcheckin2
TFS for Source Control
   Shelvesets
Check-in Policies
Check-in Policies




   http://brdy.in/sswcheckinpolicy
Automated Builds in TFS
   ?
   Gate
        Gated Checkin
        Runs all unit tests
   CI
        Triggered after a checkin
        Runs all unit tests and all coded UI tests
   Nightly
        Triggered … nightly
        Run all unit tests, coded UI test, and load tests
   http://brdy.in/sswbuilds
Scrum with TFS
   ?

   ?

   TFS Scrum v2.0 will be
    the new default
User Stories in TFS
   ?
   INVEST
        Independent
        Negotiable
        Valuable
        Estimable
        Small
        Testable
   http://brdy.in/sswuserstory
Story Cards




http://brdy.in/sswstorycard
Adding Backlog Items
   Excel

   Project

   TeamCompanion
Adding Backlog Items (in 2012)
   Excel

   Web Access

   Project

   TeamCompanion
Estimating Inestimable Tasks
   ?

   Tasks should be estimable

   Spikes can be used to
    estimate inestimable tasks

   http://brdy.in/sswestimate
Acceptance Criteria
   Positive Criteria

   Negative Criteria

   Gold Plating
   http://brdy.in/sswacceptance
Definition of Done
   ?

   We define:
       7 levels of “Done” in software quality
       3 levels of “Done” in communication
   http://brdy.in/sswdone
Summary
   TFS Master – get the
    most out of TFS

   TFS is more than just
    source control
Tips
1.   Annotate not History
2.   Shelve unfinished work
3.   Check-in Policies
4.   Automated Builds
5.   Story Cards
6.   Spiking
7.   Acceptance Criteria
8.   Definition of Done
4 things…

   DamianBrady@ssw.com.au

   http://www.damianbrady.com.au


   @damovisa

   http://www.dddbrisbane.com
Thank You!
Sydney | Melbourne | Brisbane | Adelaide



info@ssw.com.au

www.ssw.com.au




                                           Delivering Awesome Web Applications
Find me on Slideshare!
http://www.slideshare.net/damovisa/

More Related Content

Similar to How to be a good TFS Master

Comment tirer partie de Visual Studio Online pour vos développements SharePoint
Comment tirer partie de Visual Studio Online pour vos développements SharePointComment tirer partie de Visual Studio Online pour vos développements SharePoint
Comment tirer partie de Visual Studio Online pour vos développements SharePoint
Gilles Pommier
 
Managesp 160805190411
Managesp 160805190411Managesp 160805190411
Managesp 160805190411
Danielle Jennings
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
Vincent Biret
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
BIWUG
 
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
Anna Russo
 
Isset Presentation @ EECI2009
Isset Presentation @ EECI2009Isset Presentation @ EECI2009
Isset Presentation @ EECI2009
Isset Internet Professionals
 
Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for success
Yassine ELQANDILI ☁
 
Install, configure and customize TFS 2013
Install, configure and customize TFS 2013Install, configure and customize TFS 2013
Install, configure and customize TFS 2013
Davide Benvegnù
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB
 
Test team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоTest team dynamics, Антон Мужайло
Test team dynamics, Антон Мужайло
Sigma Software
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
Vincent Biret
 
CCC 2015 tfs admin for good not evil
CCC 2015 tfs admin for good not evilCCC 2015 tfs admin for good not evil
CCC 2015 tfs admin for good not evil
Angela Dugan
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
Anna Russo
 
SPSToronto 2015 - Managing Office365 with PowerShell and CSOM
SPSToronto 2015 - Managing Office365 with PowerShell and CSOMSPSToronto 2015 - Managing Office365 with PowerShell and CSOM
SPSToronto 2015 - Managing Office365 with PowerShell and CSOM
amitvasu
 
A Day in the Life of a HipChat Developer
A Day in the Life of a HipChat DeveloperA Day in the Life of a HipChat Developer
A Day in the Life of a HipChat Developer
Atlassian
 
Spsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasuSpsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasu
amitvasu
 
Tfs development
Tfs developmentTfs development
Tfs development
Andy Bhatnagar
 
Dog Food Con 2015 Integrate & Automate CMS Deployments
Dog Food Con 2015 Integrate & Automate CMS DeploymentsDog Food Con 2015 Integrate & Automate CMS Deployments
Dog Food Con 2015 Integrate & Automate CMS Deployments
Brian McKeiver
 
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
Applitools
 
AWS Toronto User Group - One Man's Journey to AWS Solution Architect Associat...
AWS Toronto User Group - One Man's Journey to AWS Solution Architect Associat...AWS Toronto User Group - One Man's Journey to AWS Solution Architect Associat...
AWS Toronto User Group - One Man's Journey to AWS Solution Architect Associat...
Mohammad Ansari
 

Similar to How to be a good TFS Master (20)

Comment tirer partie de Visual Studio Online pour vos développements SharePoint
Comment tirer partie de Visual Studio Online pour vos développements SharePointComment tirer partie de Visual Studio Online pour vos développements SharePoint
Comment tirer partie de Visual Studio Online pour vos développements SharePoint
 
Managesp 160805190411
Managesp 160805190411Managesp 160805190411
Managesp 160805190411
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
 
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
 
Isset Presentation @ EECI2009
Isset Presentation @ EECI2009Isset Presentation @ EECI2009
Isset Presentation @ EECI2009
 
Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for success
 
Install, configure and customize TFS 2013
Install, configure and customize TFS 2013Install, configure and customize TFS 2013
Install, configure and customize TFS 2013
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
Test team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоTest team dynamics, Антон Мужайло
Test team dynamics, Антон Мужайло
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
 
CCC 2015 tfs admin for good not evil
CCC 2015 tfs admin for good not evilCCC 2015 tfs admin for good not evil
CCC 2015 tfs admin for good not evil
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
 
SPSToronto 2015 - Managing Office365 with PowerShell and CSOM
SPSToronto 2015 - Managing Office365 with PowerShell and CSOMSPSToronto 2015 - Managing Office365 with PowerShell and CSOM
SPSToronto 2015 - Managing Office365 with PowerShell and CSOM
 
A Day in the Life of a HipChat Developer
A Day in the Life of a HipChat DeveloperA Day in the Life of a HipChat Developer
A Day in the Life of a HipChat Developer
 
Spsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasuSpsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasu
 
Tfs development
Tfs developmentTfs development
Tfs development
 
Dog Food Con 2015 Integrate & Automate CMS Deployments
Dog Food Con 2015 Integrate & Automate CMS DeploymentsDog Food Con 2015 Integrate & Automate CMS Deployments
Dog Food Con 2015 Integrate & Automate CMS Deployments
 
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
 
AWS Toronto User Group - One Man's Journey to AWS Solution Architect Associat...
AWS Toronto User Group - One Man's Journey to AWS Solution Architect Associat...AWS Toronto User Group - One Man's Journey to AWS Solution Architect Associat...
AWS Toronto User Group - One Man's Journey to AWS Solution Architect Associat...
 

More from damovisa

DevOps for Data Science - NDC Sydney
DevOps for Data Science - NDC SydneyDevOps for Data Science - NDC Sydney
DevOps for Data Science - NDC Sydney
damovisa
 
DevOps Best Practices for Azure and VSTS
DevOps Best Practices for Azure and VSTSDevOps Best Practices for Azure and VSTS
DevOps Best Practices for Azure and VSTS
damovisa
 
DevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUGDevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUG
damovisa
 
Deploying Straight to Production: A Guide to the Holy Grail - PrDC
Deploying Straight to Production: A Guide to the Holy Grail - PrDCDeploying Straight to Production: A Guide to the Holy Grail - PrDC
Deploying Straight to Production: A Guide to the Holy Grail - PrDC
damovisa
 
The Power of a Great API
The Power of a Great APIThe Power of a Great API
The Power of a Great API
damovisa
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiot
damovisa
 
Hack your process
Hack your processHack your process
Hack your process
damovisa
 

More from damovisa (7)

DevOps for Data Science - NDC Sydney
DevOps for Data Science - NDC SydneyDevOps for Data Science - NDC Sydney
DevOps for Data Science - NDC Sydney
 
DevOps Best Practices for Azure and VSTS
DevOps Best Practices for Azure and VSTSDevOps Best Practices for Azure and VSTS
DevOps Best Practices for Azure and VSTS
 
DevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUGDevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUG
 
Deploying Straight to Production: A Guide to the Holy Grail - PrDC
Deploying Straight to Production: A Guide to the Holy Grail - PrDCDeploying Straight to Production: A Guide to the Holy Grail - PrDC
Deploying Straight to Production: A Guide to the Holy Grail - PrDC
 
The Power of a Great API
The Power of a Great APIThe Power of a Great API
The Power of a Great API
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiot
 
Hack your process
Hack your processHack your process
Hack your process
 

Recently uploaded

Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 

Recently uploaded (20)

Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 

How to be a good TFS Master

  • 1. How to be a good TFS Master (using a sprinkle of Scrum of course) Damian Brady http://www.damianbrady.com.au Twitter: @damovisa | #qalmug Delivering Awesome Web Applications
  • 2. Agenda What is a TFS Master? Why TFS? More Pain for Better Results Scrum with TFS User Stories and the Backlog
  • 3. What is a TFS Master?  ?  Ensure your team gets the most out of TFS  http://brdy.in/sswtfsmaster
  • 4. Why TFS?  ?  TFS is much more than just source control
  • 5. Why TFS? 0% 100% Source control Continuous Build Lab Management Backlog Continuous Deployment
  • 6. TFS for Source Control  #1 reason to use TFS?  Annotate  http://brdy.in/sswannotate
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. More Pain for Better Results  This is good pain
  • 13. TFS for Source Control  ?  Check in regularly http://brdy.in/sswcheckin  Only check in code that compiles and passes tests http://brdy.in/sswcheckin2
  • 14. TFS for Source Control  Shelvesets
  • 15.
  • 17. Check-in Policies  http://brdy.in/sswcheckinpolicy
  • 18. Automated Builds in TFS  ?  Gate  Gated Checkin  Runs all unit tests  CI  Triggered after a checkin  Runs all unit tests and all coded UI tests  Nightly  Triggered … nightly  Run all unit tests, coded UI test, and load tests  http://brdy.in/sswbuilds
  • 19.
  • 20.
  • 21. Scrum with TFS  ?  ?  TFS Scrum v2.0 will be the new default
  • 22.
  • 23. User Stories in TFS  ?  INVEST  Independent  Negotiable  Valuable  Estimable  Small  Testable  http://brdy.in/sswuserstory
  • 25. Adding Backlog Items  Excel  Project  TeamCompanion
  • 26. Adding Backlog Items (in 2012)  Excel  Web Access  Project  TeamCompanion
  • 27. Estimating Inestimable Tasks  ?  Tasks should be estimable  Spikes can be used to estimate inestimable tasks  http://brdy.in/sswestimate
  • 28. Acceptance Criteria  Positive Criteria  Negative Criteria  Gold Plating  http://brdy.in/sswacceptance
  • 29.
  • 30. Definition of Done  ?  We define:  7 levels of “Done” in software quality  3 levels of “Done” in communication  http://brdy.in/sswdone
  • 31. Summary  TFS Master – get the most out of TFS  TFS is more than just source control
  • 32. Tips 1. Annotate not History 2. Shelve unfinished work 3. Check-in Policies 4. Automated Builds 5. Story Cards 6. Spiking 7. Acceptance Criteria 8. Definition of Done
  • 33. 4 things…  DamianBrady@ssw.com.au  http://www.damianbrady.com.au  @damovisa  http://www.dddbrisbane.com
  • 34. Thank You! Sydney | Melbourne | Brisbane | Adelaide info@ssw.com.au www.ssw.com.au Delivering Awesome Web Applications
  • 35. Find me on Slideshare! http://www.slideshare.net/damovisa/

Editor's Notes

  1. TODO: Include text for first two pts
  2. Don’t delete –this is the version number for SlideShare
  3. Hadn’t heard of this term prior to SSWThere used to be a concept of a Code Master and Code Slaves – any big changes like function names were the responsibility of the Code Master and the Code Slaves (or code monkeys) just implemented the functions.Now we encourage teams to share the load – so why a TFS Master?If everybody is in charge, nobody is in charge.There are some areas where someone needs to be in charge – schema master, scrum master, and TFS master
  4. Why use TFS? Why not Git or Hg or SVN?The real power is in integrationIf you’re using TFS for source control only, you’re doing it wrong
  5. Most people only really use about 20% of the capabilities of TFSThere’s much more to it.
  6. ? What is your number one reason for using TFS?My number one favourite function in TFS is Annotate
  7. Let’s say you do a get latest, you compile, and you get a YSOD because the web.config is broken.You want to know who screwed this upThis is what most people do:Right-click on the file and choose History[explain]
  8. You can choose two versions and compare them…
  9. … to see what changes were made.It’s good, but it’s not the best way of attributing blame.
  10. A better way of finding out who is responsible for a bad piece of code is using Annotate:This tells you in one glance who made the most recent change to each part of the fileYou can see the name of the person who is responsible for each line, and the associated changeset
  11. If you click on the actual changeset you can see details about that particular checkin:Here you can see Sumesh only checked in the one file, and wrote acheckin commentIf you click on Work Items, you can see any work items associated with that checkin (we’ll get to that)We can see checkin notes (e.g. Code Reviewers) and whether any policies have been ignoredThis is GREAT for attributing blame? Is that cool? – Demo if interested
  12. I promised to show you how to increase developer pain for results.This is pain that I willingly inflict on myself, so it’s not bad.
  13. ? So let me give you a scenario – Friday afternoon, you’ve been working on a particularly involved piece of code on your laptop, it doesn’t compile, not working, and you’re heading to, like, the Vic – so there’s a 50% chance you’re going to lose your laptop.Would you check in your code or not?So we make two recommendations that at first glance are quite contradictoryDon’t check in code that will disrupt someone else’s work
  14. Shelvesets are an excellent way of saving code on the server without ruining the other dev’s dayTwo scenarios:You have a whole lot of code that doesn’t work and you don’t want to risk losing itYou’re halfway through something and you need to fix another bug
  15. Incidentally, there’s a great third-party tool to help out with … getting up your team when they do things wrong…Team Foundation Sidekicks:lets you identify files that haven’t been checked in for a while (we send an email)Also helps out with files checked out in other workspaces
  16. One of my pet hates is code changes with no good comments.Here’s the history of a file. What the hell is this – a checkin of a file with zero details of what was changed – I don’t want to have to examine the code to work out what you did.
  17. There are two you should enable in your project right now:Comments – you must include a description of what you’ve doneIf you’re using TFS for work items, Definitely, definitely enable the Work Items policy (arguably you don’t need the checkin comments then)There are other good ones available like code analysis, enforcing that certain tests pass before checking in (different from gated checkins), etc.
  18. ? Who here does builds with TFS? Are they automated builds? When do they run?We recommend three builds for any decent-sized projectGate should be a gated checkin – do not allow a checkin until tests have been run – you might not want to keep this buildCI runs after a checkin and runs all tests including coded UI tests - again, you might not want to keep this buildNightly is what it sounds like – do everything, even packaging and deployment if you want – ideally you’ll keep this oneIf questions: two bits of advice:Set these up as early in the project as you can – you’ll find it hard to get approval towards the endUse your common sense to expand and contract this list as appropriate
  19. You actually get a lot of control with these build definitionsIf there are particularly long-running tests or ones that rely on third parties (such as databases) you can prioritise them to include or exclude them from a build definitionKeep an eye on the time taken for the builds and be sensible
  20. The test settings let you change what data is collected when tests are run.You should have a local testsettings file for when you run them inside VS – enable some collection – Code Coverage, etc.Have a different testsettings file for when you run your big builds – great data for your CI build is Network Emulation, Event Log, etc.
  21. Who’s running Scrum?Who’s used TFS for project management?What template do you use? (MSF Agile, TFS Scrum 1.0, Scrum for Team System)
  22. Scrum 2.0 is the default for the next TFS
  23. What makes a good user story?Independentmeans you can reorder themNegotiable means you don’t need to set it in stone – it’s the essence, not the detailsValuable – what’s valuable to the developer does not always match what’s valuable to the customerEstimable means you can give an idea of how difficult it is – it doesn’t need to be perfect (spiking later)Small means it’s not an epic – small enough to do a few within a sprintTestable means it can be objectively evaluated as done or not done (acceptance criteria later)
  24. This is a great way of doing it – it’s a physical card you can give to your customer that lets them think in the correct way.I have a few of them here – feel free to take them – or just print them out by going to the website
  25. There are several ways to add Backlog Items to TFS and the most common are these:Excel – I’ve used this in projects and it’s quite quick and easy – good for BAs, project managers, even Scrum MastersProject – project managers love it because it lets them attach dollars, and it integrates quite well with TFSTeamCompanion – Adam Cogan loves it. It’s great for going from emails to TFS, but… I find it a bit clunky.
  26. Now, I’m reliably informed that in the next version of TFS, the UI for adding backlog items through Web Access is much, much better. Excel might no longer be the simplest way to add them.I will reserve judgement until I have a play with it.STOP – Spiking story!
  27. I was recently setting up a website using Orchard CMS. I hadn’t used it before, and there were some interesting requirements.One was that every page needed a little PDF icon which, when clicked, would generate a PDF version of the page.Keeping in mind I’d never used Orchard before – how do I estimate this? How would you estimate this?Spikes – the output of a spike story should be the decision and estimate for the original story.
  28. One thing that helps make a great User Story is Acceptance CriteriaClassic story of the client that says – in true User Story language, as a salesperson I want to search for a customer so I can call them, so you do that and return a grid of people. What they don’t tell you though, is that if you search for a person who has no phone number, they want to see an email address instead. Without a firm view of “this is what I consider as correct” from the client, you’re in danger of arguing about whether a story is finished.Adam Cogan has been pushing this for a while and he had a big win with the next TFS version.
  29. Acceptance criteria as part of the standard PBI work item!In preparation, I would suggest including Acceptance Criteria with stories now.
  30. ? When is a story done?We talk a lot about the definition of done at SSWImportant to have one
  31. TODO: Summary of