Scrum And Tfs


Published on

SCRUM has grown in popularity and acceptance by many companies over the world with numbers of registered SCRUM Masters reaching 51,955 (11 March 2009 - Jeff Sutherland). Although SCRUM does not stipulate what tools to use to produce the necessary artifacts, Microsoft Team Foundation System provides a number of features via TFS Explorer that facilitate capturing the artifacts of SCRUM and is a useful tool for any SCRUM Master, Team and Product Owner. This presentation will highlight the SCRUM framework and show you practical use of TFS and other tools that facilitate the ceremonies and artifacts of SCRUM.

Published in: Technology, Business
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Generate tasks (Sprint Backlog Items) for Review and Fix defect Create Test case Review Test Case Execute Test Case Code Review (reviewer) Code Review (reviewee) Update Technical Documentation
  • Generate tasks (Sprint Backlog Items) for Create new UI Screen Update Application menu to access new UI Code behind for pulling data Create unit tests new data functions Update DB Schema for new data structure Create Test cases Review Test cases Execute Test cases
  • Show use of TaskBoard and ProjectViewOfTfs (use IMAX project in TFS)
  • Walk through updating a Work Item in a template and then uploading the template / or injecting the change in to an existing project.
  • Scrum And Tfs

    1. 1. Presented by Jamie Phillips SCRUM and TFS
    2. 2. Who is Jamie Phillips <ul><li>Senior Software Engineer with over 10 years experience in the Telecomm, e Commerce, Finance and Healthcare industries. </li></ul><ul><li>Passionate about working with the .NET framework and related technologies (C# 3.5, WCF, Entity Framework, etc.) </li></ul><ul><li>Natural ability to adapt to change has lead to becoming a practicing SCRUM Master and evangelist. </li></ul><ul><li>Blog: </li></ul>
    3. 3. Who is Picis <ul><li>Global provider of innovative information solutions that enable rapid and sustained delivery of clinical, financial and operational results in the acute care areas of the hospital — the emergency department (ED), operating rooms (ORs), post-anesthesia care units (PACUs) and intensive care units (ICUs). </li></ul><ul><li>Locations include </li></ul><ul><ul><li>Wakefield, MA </li></ul></ul><ul><ul><li>Rosemont, IL </li></ul></ul><ul><ul><li>London, United Kingdom </li></ul></ul><ul><ul><li>Barcelona, Spain </li></ul></ul><ul><li>Website: </li></ul>
    4. 4. The SCRUM framework TFS facilitates these Which contributes to these And helps them <ul><li>Product owner </li></ul><ul><li>Scrum Master </li></ul><ul><li>Team </li></ul>Roles <ul><li>Release planning </li></ul><ul><li>Sprint planning </li></ul><ul><li>Daily scrum meeting </li></ul><ul><li>Sprint review </li></ul><ul><li>Sprint retrospective </li></ul>Ceremonies <ul><li>Product backlog </li></ul><ul><li>Sprint backlog </li></ul><ul><li>Burndown charts </li></ul>Artifacts
    5. 5. The SCRUM Framework
    6. 6. Product Backlog <ul><li>Requirements / Defects </li></ul><ul><li>A list of all desired work on the project (Product Backlog Item = Story) </li></ul><ul><li>Ideally expressed such that each item has value to the users or customers of the product </li></ul><ul><li>Prioritized by the product owner in collaboration with team. </li></ul><ul><li>Reprioritized on an ad-hoc basis (typically done prior to Sprint Planning and does not affect current Sprint) </li></ul>Product Backlog
    7. 7. Product Backlog Item (PBI) <ul><li>Represents a user story that has a business value. </li></ul><ul><li>Could also represent a Defect (which implicitly has business value) </li></ul>
    8. 8. Sprint Backlog <ul><li>Individuals sign up for work of their own choosing </li></ul><ul><li>Work is never assigned by any individual </li></ul><ul><li>Estimated work remaining is updated daily. </li></ul><ul><li>If Product Backlog item is unclear, define an investigative story that will generate more tasks/stories in later sprints (known as a “spike”). </li></ul>Sprint Backlog
    9. 9. Sprint Backlog Item (SBI) <ul><li>Represents a task that a team member will perform to assist the team in completing a story. </li></ul><ul><li>Should always be related to a Product Backlog Item (PBI); otherwise, what value is it adding to the project? </li></ul>
    10. 10. Product Owner <ul><li>Represents Stakeholders </li></ul><ul><li>Define the features of the product </li></ul><ul><li>Be responsible for the value added to the product </li></ul><ul><li>Prioritize features according to market value </li></ul><ul><li>Adjust features and priority every iteration, as needed  </li></ul><ul><li>Decide on release date and content </li></ul><ul><li>Accept or reject work results </li></ul>
    11. 11. SCRUM Master <ul><li>Represents the project to management </li></ul><ul><li>Responsible for enforcing Scrum values and practices </li></ul><ul><ul><li>Protects the team by making sure they do not over-commit themselves to what they can achieve during a sprint </li></ul></ul><ul><ul><li>Coaches rather than command and control </li></ul></ul><ul><li>Acts as a facilitator to remove impediments </li></ul><ul><li>Ensure that the team is fully functional and productive </li></ul><ul><li>Enable close cooperation across all roles and functions </li></ul><ul><li>Shield the team from external interferences (interruptions) </li></ul>
    12. 12. The Team <ul><li>Typically 5-9 people </li></ul><ul><li>Cross-functional (representation of different skill sets): </li></ul><ul><ul><li>Developers, testers, documentation, requirements analyst, etc. </li></ul></ul><ul><li>M embers should be full-time </li></ul><ul><ul><li>May be exceptions (e.g., database administrator) </li></ul></ul><ul><li>Teams are self-organizing </li></ul><ul><ul><li>A sense of ownership / responsibility exists amongst the team members </li></ul></ul><ul><ul><li>Free flowing communication across all functions </li></ul></ul><ul><li>Membership should change only between sprints </li></ul>
    13. 13. What is the role of a Manager in SCRUM? <ul><li>Creates business model that works </li></ul><ul><li>Provides all resources that a team needs </li></ul><ul><li>Removes impediments that the Team / Scrum Master cannot remove themselves (typically taken from the Impediments backlog) </li></ul><ul><li>Encourages the team to move beyond mediocrity </li></ul><ul><li>Can be seen as </li></ul><ul><ul><li>Invisible hand </li></ul></ul><ul><ul><li>Oil in the enterprise “engine” </li></ul></ul><ul><ul><li>Firefighter </li></ul></ul>
    14. 14. Roles are not the same as Positions <ul><li>In SCRUM, roles are intended to serve as the definition of the interaction of particular individual(s) within the SCRUM framework. </li></ul><ul><li>They are not intended to represent / replace the Positions defined in an organization. </li></ul><ul><li>Theoretically a Scrum Master could be a Lead Developer or a Manager; just as a Product Owner could also be a Business Analyst. </li></ul><ul><li>However; a Product Owner should never be a Scrum Master as it would lead to a conflict of interest for the team and the project. </li></ul>
    15. 15. Release Planning <ul><li>Stories are created in QC using the Requirements functionality </li></ul><ul><li>Story description is of the format As a < role > I want < feature > so that < benefit > </li></ul><ul><li>Conditions of acceptance contains sufficient detail for the team to create tasks to deliver story feature. </li></ul><ul><li>Stories that cannot provide sufficient detail in the conditions of acceptance will need to be broken down in to smaller stories </li></ul>
    16. 16. Release Planning (cont) <ul><li>Sizing of stories takes place with involvement from Product Owners and the Team (or at a minimum, technical expertise from Development and Software Quality with sufficient knowledge/experience to be able to size the associated stories). </li></ul><ul><li>Meeting minutes take note of sizing results for each story and serve as a record for decisions made on story sizing. </li></ul>
    17. 17. Release Planning Tools <ul><li>Quality Center utilizing Requirements Functionality for story creation and sizing. </li></ul><ul><li>Planning Poker (as needed) – online version available (free): http:// </li></ul>
    18. 18. Sprint Planning <ul><li>Product Owner is present to motivate and discuss Sprint goals at the beginning of the meeting. </li></ul><ul><li>Team capacity is taken. </li></ul><ul><li>High priority Defects take precedence over new functionality. </li></ul><ul><li>Stories or Defects are taken from QC and entered into TFS. </li></ul><ul><li>Tasks are created in TFS by the team using the “Done, Done” list in order to prevent missing story tasks. </li></ul><ul><li>Tasks are created as Sprint Backlog Items and are related to a particular story. </li></ul>
    19. 19. Sprint Planning (cont) <ul><li>Team estimates the tasks together, however task estimates may be changed by the task assignee. </li></ul><ul><li>Capacity is continually updated. </li></ul><ul><li>Items are pulled from backlog in order of importance/priority. </li></ul><ul><li>Other team members can, and are encouraged to, facilitate meetings (Sprint Planning, Daily SCRUM). </li></ul><ul><li>Product Owner is available for questions during planning. </li></ul><ul><li>Be conservative when estimating tasks. </li></ul>
    20. 20. Sprint Planning (cont) <ul><li>Tasks for shared resources (Doc, RE) are created and estimated by the team.  Scrum Master follows up with resource at a later time. </li></ul><ul><li>When Sprint Capacity is reached, Sprint Planning is complete. </li></ul><ul><li>Scrum Master needs to be aware of each members capacity to be sure that no one on the team over commits to tasks in a sprint – capacity is continually updated . </li></ul>
    21. 21. Sprint Planning Tools <ul><li>Quality Center for both Stories and Defects </li></ul><ul><li>Team Foundation System for creation of Product Backlog items (Stories) and Sprint Backlog Items (Tasks) </li></ul><ul><li>Excel for team capacity </li></ul>
    22. 22. Example of Sprint Planning “In Release Defects” <ul><li>High priority “In Release” Defects are “brought in” to TFS from Bug reporting system , representing the team’s commitment to fixing the defect. </li></ul>
    23. 23. Example of Sprint Planning Feature Story <ul><li>User Stories are “brought in” to TFS from Requirements repository , representing the team’s commitment to producing a functional solution to the Story. </li></ul>
    24. 24. Daily SCRUM (Stand-up) <ul><li>SCRUM Master discusses current status of Sprint </li></ul><ul><li>Remote team members participate via phone and Web-Ex.  Typically they speak first. </li></ul><ul><li>Electronic task board is utilized for the display of tasks, team members point to their tasks </li></ul><ul><li>Other team members can, and are encouraged to, facilitate meetings (Sprint Planning, Daily SCRUM) </li></ul><ul><li>No Laptops (except for facilitator) </li></ul>
    25. 25. Daily SCRUM (Stand-up) <ul><li>In-depth discussions must be deferred to another time, time is agreed on. </li></ul><ul><li>Each team members estimated work remaining (statistics) is reviewed to determine if action is needed </li></ul><ul><li>The team decides whether a new build should be taken </li></ul><ul><li>Product Owner is involved, comes to the Daily SCRUM however is not directly part of the Daily SCRUM </li></ul>
    26. 26. Daily Standup Tools <ul><li>Team Foundation System for Sprint Burndown and Product Burndown Charts. </li></ul><ul><li>Conchango TaskBoard for identifying tasks associated with each team member. </li></ul><ul><li>Excel spreadsheet showing remaining hours (using custom Excel Add-In) </li></ul>
    27. 27. Example of Daily SCRUM <ul><li>Team’s progress through the Sprint Backlog is viewed and issues are highlighted. </li></ul>
    28. 28. The Sprint Review <ul><li>Team presents what it accomplished during the sprint to the Product Owner and Stakeholders </li></ul><ul><li>Typically takes the form of a demo of new features or underlying architecture </li></ul><ul><li>Informal </li></ul><ul><li>Whole team participates </li></ul>
    29. 29. The Sprint Retrospective <ul><li>Typically 30-60 minutes </li></ul><ul><li>Done after every sprint </li></ul><ul><li>Whole team participates </li></ul><ul><ul><li>Scrum Master </li></ul></ul><ul><ul><li>Product owner </li></ul></ul><ul><ul><li>Team </li></ul></ul><ul><li>Team discusses: </li></ul><ul><ul><li>What we did right? </li></ul></ul><ul><ul><li>What we did wrong? </li></ul></ul><ul><ul><li>How can we improve? (Select a few items to correct – do not try to commit to all) </li></ul></ul>
    30. 30. Sprint Retrospective Tools <ul><li>Team Foundation System for Sprint Reports, Sprint Burndown Charts and Sprint Retrospective Work Item. </li></ul>
    31. 31. The TFS Process Template <ul><li>Process template is an integral part of Team Foundation Server </li></ul>
    32. 32. Team System Process Templates <ul><li>PBI and SBI are TFS Work Items with a range of fields that can be used for reporting and record keeping. </li></ul><ul><li>Linking between Work Items is the strength of TFS – a PBI can be linked to a SBI, which can be linked to a number of ChangeSets (each check-in creates a ChangeSet) </li></ul>
    33. 33. Working with a Process Template <ul><li>TFS 2008 comes with two pre-configured Process Templates: </li></ul><ul><ul><li>Microsoft Solutions Framework (MSF) for Agile Software Development </li></ul></ul><ul><ul><li>Microsoft Solutions Framework (MSF) for CMMI Process Improvement. </li></ul></ul><ul><li>Templates can be loaded in the Process Editor of Visual Studio (Team Foundation Power Tools). </li></ul><ul><ul><li>Add / Remove fields in the Work Item of choice. </li></ul></ul><ul><ul><li>Upload the template to TFS server (for new projects) </li></ul></ul><ul><ul><li>“Inject” the changes in to an existing project. </li></ul></ul>
    34. 34. Example of working with Process Template <ul><li>Changes can be made to a Process Template or to an individual Work Item definition. </li></ul>
    35. 35. Questions and Answers
    36. 36. Resources <ul><li>“ SCRUM for Team System” & “Task Board” (Conchango): </li></ul><ul><li>Team Foundation Power Tools (Microsoft): </li></ul><ul><li>“ How Do I?” Videos for Team System (Microsoft): </li></ul>