SlideShare a Scribd company logo
1 of 64
ALM with TFS 2013
Vincent Grondin
General Manager – Solutions Vet a CDMV subsidiary
C# MVP
.NET Montreal User Group Leader
Blog: http://geekswithblogs.net/vincentgrondin
Content
• How to setup your Iterations
• How to setup your Areas
• Moving from one Iteration to the next
• How to add work item types to the Backlog
• How to create work item types
• Useful queries for tracking a project properly
• How I use windows 8 to save dev time
Content
• Creating release notes from your work items
• What work should be done in which branch
• When should you branch your code
• Useful things to automate inside a build
• Do I need a branch or a new workspace?
How to setup your Iterations
• Iterations are a way to slice your development in
time
How to setup your Iterations
How to setup your Iterations
How to setup your Iterations
How to setup your Iterations
How to setup your Iterations
How to setup your Iterations
How to setup your Areas
• Areas are the logical parts of your project
• Create an area for each zone or functionality
• Don’t create too fine grained areas, it’s less
reportable and chartable.
• You can then assign a Bug to an area and build a
query to see…
– which areas of your product are more or less problematic
– which areas of your product should you revamp first
– where have you spent the most time fixing bugs recently
How to setup your Areas
• Use areas to track your “Operational” work vs your
Development work!
• Exclude the “Operational” area from your queries !
How to setup your Areas
Moving from one iteration to the next
• First, if I’m starting a new Release I create a folder in my “Shared
Queries” for the Release and copy old queries to this folder
Moving from one iteration to the next
• My iterations are 2 weeks Sunday to Friday + 3 days off (1 Sat & 2 Sun)
• My iterations start on Sunday.
• My iterations stop on Friday.
• I move my iteration from Current to Past and the other one from Future to
Current on Sunday night, why?
Moving from one iteration to the next
• Moving iterations around is quite easy, just drag and drop!
Moving from one iteration to the next
• Then, I move a “Future” iteration to “Current”
Moving from one iteration to the next
• Move items that were not started to the next iteration
• 2 ways of doing so, the long way from the backlog, one at the time….
Moving from one iteration to the next
• …or build a query on everything under “Current” Iteration Path and multi-
select if you have many items to move….
Moving from one iteration to the next
• Make sure all tasks on items that aren’t finished are closed with the right
amount of remaining time.
• Don’t move the parent work item to the next iteration
• Create a new Task in the new iteration with the remaining time from a
previous task and assign it to the same parent work item
• It should appear again in the backlog for the new iteration with only it’s
new Task as the todo
Moving from one iteration to the next
How to add work item types to the Backlog
Adding Bugs to the backlog
Adding other work item types to the backlog
• There are missing fields for a WIT to appear in the
backlog, add them !
• witadmin exportwitd and start editing the WIT
• Add the Story Points field
• CMMI Template? Add the Size and Requirement
Type fields
• Import back the WIT to the server
• Explained clearly on MSDN
How to create work item types
How to create work item types
Use the process editor!
How to create work item types
How to create work item types
How to create work item types
How to create work item types
Useful queries for tracking a project properly
 Useful queries for tracking your Devs
 Useful queries for tracking your Iteration
 Useful queries for tracking your Releases
 Useful queries for tracking your Product
• Create a folder “Base Queries” and copy all original Shared TFS queries
in that Folder.
• This will save you the trouble of creating a team project just for copying
it’s queries when you ruin them .
• Use Visual Studio to copy multiple queries at once because the Web
Access can’t
Useful queries for tracking a project properly
Useful queries for tracking your Devs
• One query per DEV in the team
• Avoids playing the little bee game
• You want to track the Tasks not the Bugs/Requirements/Features
• Tree of work items where:
– The Task is the Parent
– The parent work item is the child
Work in progress
• Expand the parent to see which item the person works on
Work in progress
• This is the query in edit mode
Work in progress
Useful queries for tracking your Iteration
• Features or Functional Requirements or bugs Resolved
• These items need to move to CLOSED State (tested)
• I’m making sure this Query is empty at the end of an Iteration
• Flat list of work items
• Pin it to the HOME page
Work to be tested
Useful queries for tracking your Releases
• In the Team Queries, create a Folder with your
Release name like “Version 5.2”
• Copy your queries from a Release to the next
• If you followed the “Current” rule, they should work
effortlessly
Useful queries for tracking your Releases
• At the start of a Release (or way before), decide
what it will include
– Features
– Requirements
– Operational Work (you’re lucky if you have none)
– Bug fixes
What’s planned for Release 5.2
• PIN it on the HOME page
• Keep it there for the Release and replace it every Release
What’s planned for Release 5.2
What’s planned for Release 5.2
• PIN it on the HOME page, right beside the Planned Work!
• Keep it there for the Release and replace it every Release
• Compare it with the Planned Work to see your progress!
Items closed in Release 5.2
• PIN it on the HOME page, people just love to know how
many issues you fix in a release…
• Keep it there for the Release and replace it every Release
Bugs closed in Release 5.2
Useful queries for tracking your Product
Bugs backlog by severity
Other useful queries to track your product
• Bugs by area
– What to refactor first
– Where to focus next time
• Bugs closed by area
– Where not to focus anymore
– Where have you spent to most energy
How I use windows 8 to save dev time
• Install on SSD or go home!
• Native Hypervisor!
• Each dev has his set of VMs to test on!
• Everyone is isolated from others
• Reduced impact and friction
• Quicker dev to test to dev feedback
• Still need to test in a integrated environment
• Accelerates development time (yes it does, VM haters !!!)
How I use windows 8 to save dev time
Creating release notes from your work items
• Go to Visual Studio
• Select the query
• Open with Excel
• Remove unnecessary columns
Need I say more?
What work should be done in which branch
 One way to do it
 A better way, I think
• Use iterations but don’t check the « Iteration » box
• PROS:
– Easy for devs to see what Branch to use (use the HotFix V5.1 Branch) in their WI
– Not everyone can create the Iteration just like branches !
• CONS:
– Constantly need to create the Iteration from one iteration to the other
– Queries have to be re-adjusted from one iteration to the other
One way to do it
• Use Tags !
• PROS:
– Tags are persistent across iterations, no need to create them all the time
– No need to adjust queries when moving to the next iteration
• CONS:
– Can be hard to see which Tag is the Branch (when multiple tags are used)
– Anyone can create, delete or misspell a Tag which can mess up your queries
A better way, I think
When should you branch your code
• Branch when you start work and don’t know if it will make it in time for the
release
_____WORK_____________
|
___DEV__|____________
|
___MAIN____|_____
• Branch when you want to isolate code for a release
___DEV__________
| |
___MAIN____|________________|____
|
|___RELEASE_____
When should you branch your code
• Branch when you want to isolate code for a release
_____RELEASE_____________
|
___DEV__|____________
|
___MAIN____|_____
• Branch when you want to release often
__REL1_ __REL2__ __REL3___
| | | | | |
___DEV__|_______|_____|________|____|_________|______
|
___MAIN____|_____
When should you branch your code
Useful things to automate inside a build
• Setup!
– Wix !!!
– Each build = 1 setup
– Each dev can deploy his own build
– Each build is INSTALLABLE… ok but can you test it?
• SQL Scripts!
– Many companies have built their own SQL Script Diff tools…
– Automate their execution in your build process
– Each build is now TESTABLE, not just installable!
• Versioning of your assemblies
– Each build is now a potential RELEASE!
Useful things to automate inside a build
Do I need a new workspace?
• If you’re about to merge branches, YES
• If you have unfinished work and need to start new work, YES
• If you need to work on multiple branches at once, YES
• The more workspaces you have, the more in control you are!
• A workspace should be associated with only 1 branch
• You can have many workspaces pointing to the same branch
Do I need a new workspace?
QUESTIONS
Helpful at all?
Thank You For Attending!!!
Vincent Grondin
General Manager – Solutions Vet a CDMV subsidiary
C# MVP
.NET Montreal User Group Leader
Blog: http://geekswithblogs.net/vincentgrondin

More Related Content

What's hot

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
 

What's hot (20)

Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
Visual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) OverviewVisual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) Overview
 
Automated Testing in DevOps
Automated Testing in DevOpsAutomated Testing in DevOps
Automated Testing in DevOps
 
Jenkins as the Test Reporting Framework
Jenkins as the Test Reporting FrameworkJenkins as the Test Reporting Framework
Jenkins as the Test Reporting Framework
 
Continuous Delivery With Team Foundation Server
Continuous Delivery With Team Foundation ServerContinuous Delivery With Team Foundation Server
Continuous Delivery With Team Foundation Server
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
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)
 
Scrum and TFS
Scrum and TFSScrum and TFS
Scrum and TFS
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
 
Introduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) OnlineIntroduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) Online
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha Test
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
 
Team Foundation Server Demo
Team Foundation Server DemoTeam Foundation Server Demo
Team Foundation Server Demo
 
Introduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformIntroduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce Platform
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
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)
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online
 
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
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 

Similar to Alm with tfs 2013

Driving application development through behavior driven development
Driving application development through behavior driven developmentDriving application development through behavior driven development
Driving application development through behavior driven development
Einar Ingebrigtsen
 
Iterative Development Process
Iterative Development ProcessIterative Development Process
Iterative Development Process
Ajay Shrivastava
 

Similar to Alm with tfs 2013 (20)

Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
 
Building a Simple Theme Framework
Building a Simple Theme FrameworkBuilding a Simple Theme Framework
Building a Simple Theme Framework
 
Driving application development through behavior driven development
Driving application development through behavior driven developmentDriving application development through behavior driven development
Driving application development through behavior driven development
 
Neo4j Training Cypher
Neo4j Training CypherNeo4j Training Cypher
Neo4j Training Cypher
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
Object Oriented Programming I
Object Oriented Programming IObject Oriented Programming I
Object Oriented Programming I
 
Iterative Development Process
Iterative Development ProcessIterative Development Process
Iterative Development Process
 
50 Shades of Fail KScope16
50 Shades of Fail KScope1650 Shades of Fail KScope16
50 Shades of Fail KScope16
 
Visualised Flow - Facilitator Guide
Visualised Flow -  Facilitator GuideVisualised Flow -  Facilitator Guide
Visualised Flow - Facilitator Guide
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deployment
 
An Introduction To Software Development - Final Review
An Introduction To Software Development - Final ReviewAn Introduction To Software Development - Final Review
An Introduction To Software Development - Final Review
 
Introducing systems analysis, design & development Concepts
Introducing systems analysis, design & development ConceptsIntroducing systems analysis, design & development Concepts
Introducing systems analysis, design & development Concepts
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the things
 
TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)
 
Tdd
TddTdd
Tdd
 
WTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal projectWTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal project
 
Automate Everything! (No stress development/Tallinn)
Automate Everything! (No stress development/Tallinn)Automate Everything! (No stress development/Tallinn)
Automate Everything! (No stress development/Tallinn)
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
 

More from MSDEVMTL

More from MSDEVMTL (20)

Intro grpc.net
Intro  grpc.netIntro  grpc.net
Intro grpc.net
 
Grpc and asp.net partie 2
Grpc and asp.net partie 2Grpc and asp.net partie 2
Grpc and asp.net partie 2
 
Property based testing
Property based testingProperty based testing
Property based testing
 
Improve cloud visibility and cost in Microsoft Azure
Improve cloud visibility and cost in Microsoft AzureImprove cloud visibility and cost in Microsoft Azure
Improve cloud visibility and cost in Microsoft Azure
 
Return on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataReturn on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & Data
 
C sharp 8.0 new features
C sharp 8.0 new featuresC sharp 8.0 new features
C sharp 8.0 new features
 
Asp.net core 3
Asp.net core 3Asp.net core 3
Asp.net core 3
 
MSDEVMTL Informations 2019
MSDEVMTL Informations 2019MSDEVMTL Informations 2019
MSDEVMTL Informations 2019
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
Groupe Excel et Power BI - Rencontre du 25 septembre 2018
Groupe Excel et Power BI  - Rencontre du 25 septembre 2018Groupe Excel et Power BI  - Rencontre du 25 septembre 2018
Groupe Excel et Power BI - Rencontre du 25 septembre 2018
 
Api gateway
Api gatewayApi gateway
Api gateway
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
Stephane Lapointe: Governance in Azure, keep control of your environments
Stephane Lapointe: Governance in Azure, keep control of your environmentsStephane Lapointe: Governance in Azure, keep control of your environments
Stephane Lapointe: Governance in Azure, keep control of your environments
 
Eric Routhier: Garder le contrôle sur vos coûts Azure
Eric Routhier: Garder le contrôle sur vos coûts AzureEric Routhier: Garder le contrôle sur vos coûts Azure
Eric Routhier: Garder le contrôle sur vos coûts Azure
 
Data science presentation
Data science presentationData science presentation
Data science presentation
 
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
 
Open id connect, azure ad, angular 5, web api core
Open id connect, azure ad, angular 5, web api coreOpen id connect, azure ad, angular 5, web api core
Open id connect, azure ad, angular 5, web api core
 
Yoann Clombe : Fail fast, iterate quickly with power bi and google analytics
Yoann Clombe : Fail fast, iterate quickly with power bi and google analyticsYoann Clombe : Fail fast, iterate quickly with power bi and google analytics
Yoann Clombe : Fail fast, iterate quickly with power bi and google analytics
 
CAE: etude de cas - Rolling Average
CAE: etude de cas - Rolling AverageCAE: etude de cas - Rolling Average
CAE: etude de cas - Rolling Average
 
CAE: etude de cas
CAE: etude de casCAE: etude de cas
CAE: etude de cas
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Alm with tfs 2013

  • 1. ALM with TFS 2013 Vincent Grondin General Manager – Solutions Vet a CDMV subsidiary C# MVP .NET Montreal User Group Leader Blog: http://geekswithblogs.net/vincentgrondin
  • 2. Content • How to setup your Iterations • How to setup your Areas • Moving from one Iteration to the next • How to add work item types to the Backlog • How to create work item types • Useful queries for tracking a project properly • How I use windows 8 to save dev time
  • 3. Content • Creating release notes from your work items • What work should be done in which branch • When should you branch your code • Useful things to automate inside a build • Do I need a branch or a new workspace?
  • 4. How to setup your Iterations
  • 5. • Iterations are a way to slice your development in time How to setup your Iterations
  • 6. How to setup your Iterations
  • 7. How to setup your Iterations
  • 8. How to setup your Iterations
  • 9. How to setup your Iterations
  • 10. How to setup your Iterations
  • 11. How to setup your Areas
  • 12. • Areas are the logical parts of your project • Create an area for each zone or functionality • Don’t create too fine grained areas, it’s less reportable and chartable. • You can then assign a Bug to an area and build a query to see… – which areas of your product are more or less problematic – which areas of your product should you revamp first – where have you spent the most time fixing bugs recently How to setup your Areas
  • 13. • Use areas to track your “Operational” work vs your Development work! • Exclude the “Operational” area from your queries ! How to setup your Areas
  • 14. Moving from one iteration to the next
  • 15. • First, if I’m starting a new Release I create a folder in my “Shared Queries” for the Release and copy old queries to this folder Moving from one iteration to the next
  • 16. • My iterations are 2 weeks Sunday to Friday + 3 days off (1 Sat & 2 Sun) • My iterations start on Sunday. • My iterations stop on Friday. • I move my iteration from Current to Past and the other one from Future to Current on Sunday night, why? Moving from one iteration to the next
  • 17. • Moving iterations around is quite easy, just drag and drop! Moving from one iteration to the next
  • 18. • Then, I move a “Future” iteration to “Current” Moving from one iteration to the next
  • 19. • Move items that were not started to the next iteration • 2 ways of doing so, the long way from the backlog, one at the time…. Moving from one iteration to the next
  • 20. • …or build a query on everything under “Current” Iteration Path and multi- select if you have many items to move…. Moving from one iteration to the next
  • 21. • Make sure all tasks on items that aren’t finished are closed with the right amount of remaining time. • Don’t move the parent work item to the next iteration • Create a new Task in the new iteration with the remaining time from a previous task and assign it to the same parent work item • It should appear again in the backlog for the new iteration with only it’s new Task as the todo Moving from one iteration to the next
  • 22. How to add work item types to the Backlog
  • 23. Adding Bugs to the backlog
  • 24. Adding other work item types to the backlog • There are missing fields for a WIT to appear in the backlog, add them ! • witadmin exportwitd and start editing the WIT • Add the Story Points field • CMMI Template? Add the Size and Requirement Type fields • Import back the WIT to the server • Explained clearly on MSDN
  • 25. How to create work item types
  • 26. How to create work item types Use the process editor!
  • 27. How to create work item types
  • 28. How to create work item types
  • 29. How to create work item types
  • 30. How to create work item types
  • 31. Useful queries for tracking a project properly  Useful queries for tracking your Devs  Useful queries for tracking your Iteration  Useful queries for tracking your Releases  Useful queries for tracking your Product
  • 32. • Create a folder “Base Queries” and copy all original Shared TFS queries in that Folder. • This will save you the trouble of creating a team project just for copying it’s queries when you ruin them . • Use Visual Studio to copy multiple queries at once because the Web Access can’t Useful queries for tracking a project properly
  • 33. Useful queries for tracking your Devs
  • 34. • One query per DEV in the team • Avoids playing the little bee game • You want to track the Tasks not the Bugs/Requirements/Features • Tree of work items where: – The Task is the Parent – The parent work item is the child Work in progress
  • 35. • Expand the parent to see which item the person works on Work in progress
  • 36. • This is the query in edit mode Work in progress
  • 37. Useful queries for tracking your Iteration
  • 38. • Features or Functional Requirements or bugs Resolved • These items need to move to CLOSED State (tested) • I’m making sure this Query is empty at the end of an Iteration • Flat list of work items • Pin it to the HOME page Work to be tested
  • 39. Useful queries for tracking your Releases
  • 40. • In the Team Queries, create a Folder with your Release name like “Version 5.2” • Copy your queries from a Release to the next • If you followed the “Current” rule, they should work effortlessly Useful queries for tracking your Releases
  • 41. • At the start of a Release (or way before), decide what it will include – Features – Requirements – Operational Work (you’re lucky if you have none) – Bug fixes What’s planned for Release 5.2
  • 42. • PIN it on the HOME page • Keep it there for the Release and replace it every Release What’s planned for Release 5.2
  • 43. What’s planned for Release 5.2
  • 44. • PIN it on the HOME page, right beside the Planned Work! • Keep it there for the Release and replace it every Release • Compare it with the Planned Work to see your progress! Items closed in Release 5.2
  • 45. • PIN it on the HOME page, people just love to know how many issues you fix in a release… • Keep it there for the Release and replace it every Release Bugs closed in Release 5.2
  • 46. Useful queries for tracking your Product
  • 47. Bugs backlog by severity
  • 48. Other useful queries to track your product • Bugs by area – What to refactor first – Where to focus next time • Bugs closed by area – Where not to focus anymore – Where have you spent to most energy
  • 49. How I use windows 8 to save dev time
  • 50. • Install on SSD or go home! • Native Hypervisor! • Each dev has his set of VMs to test on! • Everyone is isolated from others • Reduced impact and friction • Quicker dev to test to dev feedback • Still need to test in a integrated environment • Accelerates development time (yes it does, VM haters !!!) How I use windows 8 to save dev time
  • 51. Creating release notes from your work items
  • 52. • Go to Visual Studio • Select the query • Open with Excel • Remove unnecessary columns Need I say more?
  • 53. What work should be done in which branch  One way to do it  A better way, I think
  • 54. • Use iterations but don’t check the « Iteration » box • PROS: – Easy for devs to see what Branch to use (use the HotFix V5.1 Branch) in their WI – Not everyone can create the Iteration just like branches ! • CONS: – Constantly need to create the Iteration from one iteration to the other – Queries have to be re-adjusted from one iteration to the other One way to do it
  • 55. • Use Tags ! • PROS: – Tags are persistent across iterations, no need to create them all the time – No need to adjust queries when moving to the next iteration • CONS: – Can be hard to see which Tag is the Branch (when multiple tags are used) – Anyone can create, delete or misspell a Tag which can mess up your queries A better way, I think
  • 56. When should you branch your code
  • 57. • Branch when you start work and don’t know if it will make it in time for the release _____WORK_____________ | ___DEV__|____________ | ___MAIN____|_____ • Branch when you want to isolate code for a release ___DEV__________ | | ___MAIN____|________________|____ | |___RELEASE_____ When should you branch your code
  • 58. • Branch when you want to isolate code for a release _____RELEASE_____________ | ___DEV__|____________ | ___MAIN____|_____ • Branch when you want to release often __REL1_ __REL2__ __REL3___ | | | | | | ___DEV__|_______|_____|________|____|_________|______ | ___MAIN____|_____ When should you branch your code
  • 59. Useful things to automate inside a build
  • 60. • Setup! – Wix !!! – Each build = 1 setup – Each dev can deploy his own build – Each build is INSTALLABLE… ok but can you test it? • SQL Scripts! – Many companies have built their own SQL Script Diff tools… – Automate their execution in your build process – Each build is now TESTABLE, not just installable! • Versioning of your assemblies – Each build is now a potential RELEASE! Useful things to automate inside a build
  • 61. Do I need a new workspace?
  • 62. • If you’re about to merge branches, YES • If you have unfinished work and need to start new work, YES • If you need to work on multiple branches at once, YES • The more workspaces you have, the more in control you are! • A workspace should be associated with only 1 branch • You can have many workspaces pointing to the same branch Do I need a new workspace?
  • 64. Thank You For Attending!!! Vincent Grondin General Manager – Solutions Vet a CDMV subsidiary C# MVP .NET Montreal User Group Leader Blog: http://geekswithblogs.net/vincentgrondin

Editor's Notes

  1. The « Feature requests from clients » iteration is there because I do not want every item added to the backlog automatically, I want to pick and choose what makes it to the backlog and what’s just noise… I promote items from « Feature requests from clients » to « Backlog ».
  2. Current means all queries will work no matter what iteration you are in if you use filter « Under Current »…
  3. Just one iteration at the time under « Current ». Don’t forget to check the box on the left to tell the system this is a « REAL » iteration and appear in backlog otherwise it’s just a group. Choose whatever dates you want for iterations but I prefer from Sunday to Friday -> Burndown chart starts up and goes down instead of « peaking » on Monday.
  4. Plan a bit ahead
  5. This could break some queries if you specified paths like NOT UNDER « Current\Iteration 10\Hotix 1 » to exclude some work items