How Do you Scrum? A practical approach

2df7339e6f646abdc75d6fe1e954814a?s=47 Kiko
September 02, 2016

How Do you Scrum? A practical approach

This presentation briefly describes how Scrum works, the main artifacts and events and an open source software tool that allows any team to carry out Scrum in their organizations. This presentation was created for the Software Engineering course 2016/17 at Uppsala University, Sweden.

2df7339e6f646abdc75d6fe1e954814a?s=128

Kiko

September 02, 2016
Tweet

Transcript

  1. How do you Scrum? A Practical Approach by Kiko Fernandez-Reyes

  2. Who am I? Kiko Fernandez-Reyes Experience: • Startup in Stockholm

    • Specialised consultant • Frontend: JavaScript, SASS, … • Backend: • Ruby, Python, Clojure, … • DevOps • Chef and Ansible • AWS, OpenShift, Docker… kiko.fernandez@it.uu.se PhD student in the Programming Language group TA: Software Engineering (Scrum Coach) Lecturer in: Advanced Software Design TA: Advanced Software Design
  3. What is Scrum? • Scrum is a framework to address

    complex adaptive problems while delivering products of the highest value • Pillars: transparency, inspection, and adaptation • The Scrum Team: • Product Owner • Development Team • Scrum Master
  4. Scrum • Scrum artefacts • Scrum Events • Scrum Team

  5. Scrum artefacts Product Backlog • The Product Backlog is an

    ordered list of everything that might be needed in the product • The Product Owner is responsible for the Product Backlog Sprint Backlog • The Sprint Backlog is the set of Product Backlog items selected for the Sprint • The Sprint Backlog is a forecast by the Development Team about what functionality will be in the next Increment Increment • The Increment is the sum of all the Product Backlog items completed during a Sprint and the value of the increments of all previous Sprints. http://www.scrumguides.org/scrum-guide.html
  6. Scrum Team • Product Owner • Development Team • Scrum

    Master
  7. Maximises the value of the product Manages the Product Backlog:

    • Clearly expressing Product Backlog items; • Ordering the items in the Product Backlog to best achieve goals and missions; • Ensuring that the Product Backlog is visible, transparent, and clear to all, and shows what the Scrum Team will work on next; and, • Ensuring the Development Team understands items in the Product Backlog to the level needed. Product Owner
  8. Development Team • Do the work of delivering a potentially

    releasable Increment at the end of each Sprint • Development Teams have the following characteristics: • self-organising • cross-functional, the team members posses all skills necessary to create the product • Some members may have specialised skills, but accountability belongs to the Development Team as a whole.
  9. Scrum Master • The Scrum Master is responsible for ensuring

    Scrum is understood and carried out accordingly • The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. • Scrum master → Fancy title for project manager
  10. Scrum Master Service to the Product Owner • Effective Product

    Backlog management • Helping the Scrum Team understand the need for clear and concise Product Backlog items • Understanding product planning (Burndown chart) • Ensuring the Product Owner knows how to arrange the Product Backlog
  11. Scrum Master Service to the Development Team • Coaching the

    Development Team in self-organization and cross-functionality • Removing impediments to the Development Team’s progress • Facilitating Scrum events as requested or needed • Coaching the Development Team
  12. Scrum Master Service to the Organization • Leading and coaching

    the organization in its Scrum adoption • Planning Scrum implementations within the organization • Helping employees and stakeholders understand Scrum • Increase productivity of Scrum Team
  13. Scrum events Each event is an opportunity to inspect and

    adapt something • Sprint: • Each Sprint has a definition of what is to be built and the resulting goal of the sprint. • time-box amount of work for one month or less during which a “Done”, useable, and potentially releasable product Increment is created. • Sprints contain and consist of the Sprint Planning, Daily Scrums, the development work, the Sprint Review, and the Sprint Retrospective
  14. Sprint planning What can be delivered in the Increment? •

    Development Team forecasts the Product Backlog items it will deliver in the Sprint • The Product Owner discusses the objective that the Sprint should achieve and the Product Backlog items • The input to this meeting is the Product Backlog • The number of items selected from the Product Backlog for the Sprint is up to the Development Team How will the work needed to finish the Sprint be achieved? • Decompose user stories into smaller tasks • The Product Owner can help to clarify the selected Product Backlog items
  15. Daily Scrum Questions: • What did I do yesterday that

    helped the Development Team meet the Sprint Goal? • What will I do today to help the Development Team meet the Sprint Goal? • Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal? team members often meet immediately after the Daily Scrum for detailed discussions
  16. Sprint Review Sprint review is for everyone involved to inspect

    the last sprint, concentrating on what was done, and the overall product The Sprint Review includes the following elements: • Meeting with Product Owner (PO), Scrum Team and key stakeholders • The PO explains what items have been “Done” and what has not been “Done” • Development Team discusses what went well during the Sprint, what problems it ran into, and how those problems were solved • Development Team demonstrates the work done and answers questions in the Sprint • Review of the marketplace: what is the most valuable thing to do next
  17. Retrospective • Inspect how the last Sprint went with regards

    to people, relationships, process, and tools • Identify what went well and potential improvements • Implement improvements Sprint retrospective is for the team to inspect their last sprint, concentrating on how it was done, and then adapt their way of work.
  18. Tools Taiga (Demo, sign-up link) • Scrum board • Breaking

    user stories into tasks • Burndown chart
  19. Accounting hat • Project: 60h/student • Setup: Admin → Project

    → Modules • 4 students * 60 = 240h • 4 points = 1 full day of work • 240 h / 4 points/day = 60 story points per team
  20. Backlog Backlog 1st Sprint, no user stories yet Total number

    of points planned for the project Total number of points defined in the Backlog Based on total number of points planned for the project, the tasks below won’t be completed
  21. User Stories View Assign points to User Story Assign responsible

    Break User Story into smaller tasks The server needs to poll the RFID reader and process events as they come. We should use tasks and futures to perform the processing of events asynchronously, although current Raspberry PI do not have multiple cores. Make sure that all user stories create a deliverable
  22. Sprint Backlog Break stories into smaller tasks Track progress of

    tasks % of remaining work to be completed Burndown chart
  23. Sprint Backlog

  24. Scrum • Create user stories • How to assign points?

    • How to do daily Scrum meeting? • Work • How to do Sprint review? • How to do retrospective?
  25. Use Case (Live Demo)

  26. Scrum • Create user stories • How to assign points?

    • How to do daily Scrum meeting? • Work • How to do Sprint review? • How to do retrospective?
  27. Let’s play poker Live demo on how to assign points

    to User stories
  28. Scrum • Create user stories • How to assign points?

    • How to do daily Scrum meeting? • Work • How to do Sprint review? • How to do retrospective? Do not forget to log: daily meeting, Sprint review and, restrospective
  29. Scrum • Create user stories • How to assign points?

    • How to do daily Scrum meeting? • Work • How to do Sprint review? • How to do retrospective? Questions: • What did I do yesterday that helped the Development Team meet the Sprint Goal? • What will I do today to help the Development Team meet the Sprint Goal? • Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal? Do not forget to log: daily meeting, Sprint review and, restrospective
  30. Scrum • Create user stories • How to assign points?

    • How to do daily Scrum meeting? • Work • How to do Sprint review? • How to do retrospective? Do not forget to log: daily meeting, Sprint review and, restrospective
  31. Summary • Sprints: • Sprint Planning • Daily Meeting •

    Work • Sprint Review • Sprint Retrospective • Scrum Team: • Development Team • Product Owner • Scrum Master • User stories need to have a deliverable / artefact
  32. Questions kiko.fernandez@it.uu.se