SlideShare uma empresa Scribd logo
1 de 35
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/

Mais conteúdo relacionado

Semelhante a 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 SharePointGilles Pommier
 
#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 #flowVincent 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 FunctionsBIWUG
 
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
 
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 successYassine ELQANDILI ☁
 
Install, configure and customize TFS 2013
Install, configure and customize TFS 2013Install, configure and customize TFS 2013
Install, configure and customize TFS 2013Davide 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 TutorialMongoDB
 
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 flowVincent 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 evilAngela 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 TrainingAnna 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 CSOMamitvasu
 
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 DeveloperAtlassian
 
Spsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasuSpsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasuamitvasu
 
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 DeploymentsBrian 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
 

Semelhante a 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...
 

Mais de damovisa

DevOps for Data Science - NDC Sydney
DevOps for Data Science - NDC SydneyDevOps for Data Science - NDC Sydney
DevOps for Data Science - NDC Sydneydamovisa
 
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 VSTSdamovisa
 
DevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUGDevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUGdamovisa
 
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 - PrDCdamovisa
 
The Power of a Great API
The Power of a Great APIThe Power of a Great API
The Power of a Great APIdamovisa
 
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 idiotdamovisa
 
Hack your process
Hack your processHack your process
Hack your processdamovisa
 

Mais de 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
 

Último

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
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Último (20)

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
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
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
 
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
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
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
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

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/

Notas do Editor

  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