| TFS as perfect tool for Scrum (Part 4) – SprintThe Road to ALM The Road to ALM All about Application Lifecycle Management, Team Foundation Server and Development About me.. Posts ALM Azure DevOps Guidance Articles Hidden Gems Tips & Tricks Troubleshooting News Dutch Microsoft ALM Group MVP Speaking Other Docker Road To ALM Vlog TFS as perfect tool for Scrum (Part 4) – Sprint July 11, 2013 by Rene van Osnabrugge 1 Comment This is the fourth part of the series TFS as perfect tool for Scrum. The series is based on my session that I presented at Microsoft TechDays. You can find more introduction in part 1 The agenda for this series is: 1. Introduction in Scrum and TFS 2. Using TFS for grooming your Product Backlog 3. Using TFS in Sprint Planning 4. Using TFS in your Sprint 5. Using TFS in your Sprint Review and Retrospective Today, Part 4 – Sprint Disclaimer: Within these series I talk about backlog grooming a lot. Nowadays this is known as backlog refinement and refining. Where grooming is used, you can replace that with refinement. Part 4 – Sprint When sprint planning is done, it is time to get to work. The sprint starts. During the sprint the team focuses on the Product Backlog Items that were selected during Sprint Planning. The team made a breakdown in tasks and this is exactly where to start working on. Every day the team comes together during their Daily Standup meeting and tell each other how they are doing. The three questions that need to be answered are: What have I done yesterday? What will I do today? What keeps me from doing my work? They pick up tasks one by one. During the sprint the team updates the Product Owner and shows the intermediate results. When all tasks of a specific PBI are done, the Product Owner validates the Acceptance Criteria, validates the Definition of Done and “stamps” the PBI as “done” when all of these criteria are met. Basically this is what a sprint contains. However, what most teams forget is that there is always the next sprint. As I described in (Part 2 and Part 3) grooming is a constant activity that needs to be done by all team members. To avoid problems in Sprint Planning, the team members must spent about 10% of their sprint time, looking at backlog items for the next sprint or the next 3 or 4 sprints. It is also very important that all activities are planned during a sprint that needs to be done to meet the Definition of Done (more about this later in this post). Challenges during the “Sprint” phase So basically, we need to do 2 things within the sprint. Do all the work that needs to be done according to the Definition of Done, and put some time into backlog grooming. What these activities are, varies amongst many different development teams, but the funny thing is, Scrum does not say anything about how to do this development. A lot of techniques, methodologies and tools are mentioned when talking about Scrum, but actually these are all “Agile practices”. For example practices like eXteme Programming (XP), TDD, Build Automation, Continuous Integration etc. are great to use within your Scrum team, but it is not Scrum. This graph has a great visualization of various agile practices and has some nice explanations as well (http://guide.agilealliance.org/) So if we take a look at the challenges we see during the sprint phase, we mostly see challenges about how we need to do certain things. How do we monitor progress? Where do I put my test cases? How can I make sure testers test against the latest build? How can I support multiple feature teams? How do I ensure quality? Etc. The good news is, Team Foundation Server was built with this stuff in mind so keep reading. Before we dive into it, let me first explain a little bit more about the Definition of Done and Ready. Definition of Done The definition of done is a very important aspect of Scrum. It describes, in simple to understand language, every single criteria that needs to be met before a Product Backlog Item can be set to done. There must be an agreement on the Definition Of Done by the Scrum Team (so including Product Owner) and, if you have multiple scrum teams, by all Scrum teams. You can compare the Definition of Done with your Quality Bar. What do we need to do before we mark something as “done”. Examples are: Acceptance Criteria of Product Owner are met (this is nr 1 on DoD ! Always !) Code is checked in Code is Unit Tested Code Coverage is > 60% Functional Documentation ready Deployed to Test Environment Etc. etc The more mature your Scrum team becomes, the larger the DoD might become. When your team runs smoothly, you can decide to add an item to the DoD. Of course, your velocity will change after this. The number of Story Points that you can do within a sprint will have a different weight because you do more. When adding to the DoD, velocity will probably decrease. You can find a great starting checklist here. Definition of Ready Definition of Done is a great way to have one central and clear understanding about when something is done and can be delivered. The same technique can be applied for the grooming of Product Backlog Items. When it comes to this grooming we can create a Definition of ready. One central and clear definition about the things that need to be done before a Product Backlog Item can be picked up by the team. Use Team Foundation Server Team Foundation Server has started mainly as a tool for development teams. So the sprint is the stage where TFS has a lot to offer. Let’s take a high-level look at the activities that the development team does during a sprint. Pick up a task Write code Perform Code review Check Code Quality Check-In Code Deliver code to test Write Test Cases Execute Tests Run Builds Monitor Progress Although almost everything from this list has only little to do with Scrum, TFS is the perfect tool for it. Pick up a Task and write code With the Task Board in TFS, it is very easy to assign a task to a developer or to yourself and “show” that the task is in progress. By simply putting the task into this state and putting your name on it, the task becomes yours. When using Visual Studio 2012, you can see this task in the My Work tab of Team explorer, to easily associate this with the code you have just modified (http://msdn.microsoft.com/en-us/library/hh543900.aspx#check_in) Perform Code Review and Check-In When code has been written, it is always a good practice (and maybe part of your Definition of Done) to have a Code Review performed by one of your fellow developers. In TFS / VS 2012 there is a baked in Code Review engine that allows you to easily request Code Reviews and track this within Team Foundation Server. This Blog Post shows a nice walkthrough. Check Code Quality There are many tools built in Visual Studio (Premium and Ultimate) that help developers to have better Code Quality. Many of these tools can also be integrated into your automated build process and information from these tools can be extracted from the data warehouse to use in reports. A quick list of the best tools Code Clone Detection – Searches for duplicate code in a very smart manner Code Metrics – Measure complexity and maintainability of your code Code Profiler – Checks your code for memory and performance leaks Static Code Analysis – Performs a code check based on standard rules Unit Testing / Coded UI Tests /Code Coverage – Unit test framework Fakes Framework – Mocks and Stub possibilities Check-In code and deliver code to test Obviously source control is something you can do perfectly with TFS. When having multiple scrum teams, you can benefit from the branching possibilities within TFS and isolate sources from multiple teams and releases. When creating a branching structure like this, you can merge your code to a DEV-MAIN (DM) branch which is an integration branch of 2 teams. Testers can work on this branch to perform integration tests during the sprint. For more information about branching, take a look at the branching guidance on codeplex. Write Test Cases and Execute Tests Testing is an essential part of your sprint. Do not wait with testing, but make the tester part of your sprint. With TFS 2012 (starting from update 2), the tester has the possibility to create and run its tests from the web browser. This gives a lot of flexibility. Because you relate test cases to Product Backlog Items, traceability is automatically created. Here you can find more information about using the Web Test Case Management in TFS 2012 . Run Builds Another thing that is often connected to Scrum is automated Builds. And indeed, it is very important to have your builds automated. Because you develop in short-term sprints, all the time is valuable. When you can automate the builds, it means you’ll have more time to do other work. Besides that, the build is your daily sanity check around your code. Build management is part of Team Foundation Server. Monitor Progress Because everything is centralized within Team Foundation Server, it is easy to monitor progress. Burndown charts, Release burndown charts, Test Reports, Build Reports. All of this is generated for you automatically. Because you can link artefact to each other, you can have very rich and detailed reports about what you are doing and have done. When the default reports are not enough you can always create your own report. Follow my Custom reports series about this subject. Conclusion The sprint is mainly about doing the work defined in grooming and planning sessions. Scrum does not really say anything about how you need to do the work. However, there are a lot of Agile practices that fit seamlessly to Scrum. Team Foundation Server is a very robust platform that offers you everything to support a full-blown software factory. Requirements, Coding, Reviews, Source Control, Test, Build Management. Everything is delivered out of the box with TFS and integrates perfectly with your Product Backlog Items and Tasks. Besides that, TFS delivers you the information you need automatically when you manage all of this within TFS. Let me quickly review the challenges that I often hear to see if we addressed it all. How do we monitor progress? When using work items in TFS and keeping track of this, burndowns are automatically generated for you. The various agile boards helps you visualize all of this Where do I put my test cases? Test Cases are part of your requirements and are centralized just as all other work items. By using the Test clients (web or desktop) testers can directly start testing and integrate with the rest of the team How can I make sure testers test against the latest build? By using the integrated build engine, automated builds can be created and even deployed. Testers can pick available builds when doing tests and log bugs against these builds. How can I support multiple feature teams? By using the powerful branching capabilities of TFS you can support the most complex scenarios like feature teams. How do I ensure quality? Visual Studio and TFS deliver a large set of tools to ensure quality. Because most of these tools can report to the TFS Warehouse reports can be created from this as well. The sprint is where work is done. Use Scrum to define what needs to be done and use TFS and Visual Studio to define how it needs to be done ! Resources Definition of Done – http://www.scrum.org/Resources/Scrum-Glossary/Definition-of-Done 10 Point DoD Checklist – http://www.allaboutagile.com/definition-of-done-10-point-checklist/ Velocity – http://msdn.microsoft.com/en-us/library/vstudio/ff731575.aspx Definition of Ready – http://systemagility.com/2011/05/17/definition-of-ready/ Improving User Stories with DoR – http://www.boost.co.nz/blog/agile/definition-of-ready/ Subway of Agile practices – http://guide.agilealliance.org/subway.html Guide to Agile practices – http://guide.agilealliance.org/ Using the Task board – http://tfs.visualstudio.com/en-us/learn/using-your-taskboard.aspx Code Review with TFS 2012 and VS 2012 – http://chamindac.blogspot.nl/2013/04/code-reviews-with-tfs-2012-and-vs-2012.html Branching Guidance – http://vsarbranchingguide.codeplex.com/releases Web based Test Hub in TFS – http://blogs.msdn.com/b/visualstudiouk/archive/2013/02/05/web-based-test-hub-in-tfs-update2-tfs2012-2-and-team-foundation-service.aspx Build Management in TFS – http://tfs.visualstudio.com/en-us/learn/setup-ci-build-in-vs.aspx Custom Reports in TFS – https://osnabrugge.wordpress.com/2012/02/22/using-custom-reports-in-tfs-part-1-introduction-in-tfs-data/ Quality tools in Visual Studio – http://msdn.microsoft.com/en-us/library/dd264943.aspx Share this: Twitter Facebook LinkedIn Email Like this: Like Loading... Related Articles, Scrum, Team Foundation Server ALM, Process Template, Product Backlog, Scrum, Sprint Backlog, TFS, Work Items About Rene van Osnabrugge View all posts by Rene van Osnabrugge → Hidden Gems in TFS 2012–Part 9 Image compare in TFS Version Control A starters guide to Git for TFS GitWits… Trackbacks/Pingbacks TFS as perfect tool for Scrum | Jasper Gilhuis - October 30, 2013 […] in Scrum and TFS 2. Using TFS for refining your Product Backlog 3. Using TFS in Sprint Planning 4. Using TFS in your Sprint 5. Using TFS in your Sprint Review and […] Contact me @ Xpirit Join the Dutch MS ALM meetup I speak at Techorama Netherlands Follow Blog via Email Enter your email address to follow this blog and receive notifications of new posts by email. Email Address: Follow View renevo’s profile on Twitter View renevanosnabrugge’s profile on LinkedIn View renevanosnabrugge’s profile on GitHub Latest Popular Embrace chaos to achieve stability April 29, 2022 Using the GitHub Container Registry with Azure Kubernetes Service (AKS) September 22, 2020 Corona gives us the opportunity to teach our kids (and schools) to learn and adapt March 23, 2020 Creating an Azure Container Registry Service Connection in Azure DevOps with your own ServicePrincipal February 26, 2020 Automatically provision a Azure SQL DB with a Managed Service Identity (MSI) January 31, 2020 Using Personal Access Tokens to access Visual Studio Online July 22, 2015 Changing the product backlog in TFS 2012 January 4, 2013 Use Visual Studio as your Diff and Merging Tool for local files October 22, 2013 Using Custom Reports in TFS: Part 3 – How to set up my reporting environment and structure March 13, 2012 TFS as perfect tool for Scrum (Part 5) – Sprint Review and Retrospective October 17, 2013 Blogs from others Adventures in Scrum and TFS All things SharePoint Brian Harry's Blog Fluent Bytes (Marcel de Vries) Fokko's view on ALM Jasper Gilhuis – ALM/TFS/Scrum Jesse Houwing Blog Naked ALM Real ALM (Kees Verhaar) Xpirit (my company) Archive April 2022 (1) September 2020 (1) March 2020 (1) February 2020 (1) January 2020 (2) December 2019 (1) September 2019 (1) May 2019 (1) January 2019 (3) October 2018 (1) September 2018 (1) August 2018 (1) July 2018 (1) June 2018 (1) April 2018 (1) January 2018 (1) November 2017 (1) October 2017 (2) September 2017 (2) August 2017 (1) June 2017 (1) May 2017 (5) March 2017 (2) February 2017 (3) January 2017 (2) December 2016 (1) October 2016 (4) September 2016 (2) August 2016 (1) July 2016 (2) June 2016 (3) May 2016 (3) April 2016 (4) February 2016 (5) January 2016 (3) December 2015 (2) November 2015 (3) August 2015 (2) July 2015 (5) June 2015 (2) May 2015 (2) April 2015 (2) March 2015 (1) February 2015 (3) January 2015 (1) December 2014 (3) November 2014 (1) September 2014 (3) August 2014 (2) July 2014 (3) June 2014 (2) May 2014 (3) April 2014 (2) March 2014 (1) February 2014 (2) January 2014 (2) November 2013 (1) October 2013 (5) September 2013 (2) July 2013 (3) June 2013 (2) May 2013 (2) April 2013 (3) March 2013 (4) January 2013 (3) December 2012 (3) November 2012 (1) October 2012 (1) September 2012 (4) August 2012 (3) July 2012 (4) May 2012 (1) April 2012 (2) March 2012 (2) February 2012 (5) January 2012 (2) November 2011 (2) October 2011 (5) September 2011 (3) July 2011 (1) May 2011 (8) April 2011 (2) March 2011 (2) February 2011 (2) August 2010 (1) June 2010 (3) Articles & Videos Channel 9 Video - TFS as perfect tool for Scrum (in Dutch) Channel 9 Video - TFS Reporting Channel 9 Video -Adopting Scrum with TFS 2010 (Dutch) Omgaan met Generieke Libraries in TFS The Road to ALM. Blog at WordPress.com. Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use. To find out more, including how to control cookies, see here: Cookie Policy Follow Following The Road to ALM Join 156 other followers Sign me up Already have a WordPress.com account? Log in now. The Road to ALM Customize Follow Following Sign up Log in Copy shortlink Report this content View post in Reader Manage subscriptions Collapse this bar %d bloggers like this: