Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[DevDojo] Successful Scrum Team at Mercari

[DevDojo] Successful Scrum Team at Mercari

Scrum development is one of the Agile methodologies and is incorporated into Mercari's product development. It is a framework in which small teams of developers work in repeated development cycles over a short period of time. In this course, we will explain the basic concept of Scrum, the development process at Mercari, and its objectives.

mercari

May 26, 2023
Tweet

More Decks by mercari

Other Decks in Technology

Transcript

  1. Goals of this training To enable members to contribute to

    the growth and prosperity of the organization as one of the members that shoulders Mercari’s future. • Defining the growth and prosperity of the organization ◦ Delivering value to our users (this is the most important point) ◦ Improving our competitiveness and productivity ◦ Strengthening cooperation among members, between teams, etc.
  2. Goals of this training To that end… • It’s important

    to understand Mercari’s development processes and the objectives of those processes. ◦ After you are assigned to a team, most of your work will focus on development, and you may simultaneously feel dissatisfaction many times throughout your work. ◦ If you understand the processes and objectives of your work, you will be able to observe and interpret development activities logically. ◦ By providing constructive feedback and acting based on your observations, you will have the impact needed to change your team or organization. • You will understand the responsibility that the stakeholders involved in development have. ◦ The members working collaboratively with you are not your enemies. ◦ Understand the mutually beneficial roles and expectations in order to achieve All for One successfully.
  3. Non-goals of this training Handle best practices in individual development

    processes • A team is a living organism ◦ There is value in having a team-wide awareness of any issues, taking action in partnership with your team, and in reviewing actions as a team ◦ Just because something goes well for another organization or team, that does not mean that it will necessarily go well for your team Explain about individual tools • Please reference past slide presentations • A tool is a means and not an objective
  4. The internal development process at Mercari Mercari employs a Scrum

    framework Scrum is one of the ways of applying what is called Agile software development • Dialogue with individuals over processes and tools • Working software over comprehensive documentation • Collaboration with users over contract negotiations • Responding to change over following a plan These are examples of the types of value provided. In other words, while we acknowledge the value of the items on the right, we place more value the items on the left.                 Manifesto for Agile Software Development
  5. Why must we work in Scrum? A. Because we must

    continue to provide value to our users while also solving complex issues
  6. Why must we work in Scrum? A. Because we must

    continue to provide value to our users while also solving complex issues Definition of Scrum • Scrum is a light framework for people, teams, and organizations to create value through the application of appropriate solutions for complex issues. 2020 Scrum Guide
  7. Why must we work in Scrum? Complex issues = Fundamentally

    uncertain and unpredictable There are countless variables that contribute to issue resolution • e.g.) Feature releases that are (predicted to be) wanted by users ◦ Goal: Users are able to enjoy the value provided ◦ Potential contributing variables: ▪ Accurate understanding of user needs ▪ Suitable permissions and support for the team ▪ Sufficient skills to conduct a feature release ▪ Sufficient understanding of the current code base ▪ etc. https://scrumreferencecard.com/scrum-reference-card/
  8. Why must we work in Scrum? Complex issues = Fundamentally

    uncertain and unpredictable There are countless variables that contribute to issue resolution • e.g.) Feature releases that are (predicted to be) wanted by users ◦ Goal: Users are able to enjoy the value provided ◦ Potential contributing variables: ▪ Accurate understanding of user needs ▪ Suitable permissions and support for the team ▪ Sufficient skills to conduct a feature release ▪ Sufficient understanding of the current code base ▪ etc. https://scrumreferencecard.com/scrum-reference-card/ For complex issues, it is difficult to understand all variable beforehand and make inferences logically
  9. Take on complex issues based on your experience • Scrum

    is based on empiricism and lean thinking ◦ Empiricism ▪ Knowledge developed from experience ▪ Decision-making based on observation ▪ Through trial and error, acquire new knowledge from failure and discover ways to improve ▪ Acquire experience continuously through iterative learning ◦ Lean thinking ▪ Aim to eliminate wastefulness, maximize efficiency, and improve user value
  10. Empiricism and rationalism • One concept that is referenced, is

    rationalism ◦ Develop knowledge deductively from conceivable variables and prerequisites ◦ Waterfall can also be thought of as a process based on the premise, “it is possible to develop software constructively based on reason.” • Main differences ◦ Source of knowledge: Experience and observation (empiricism) vs. reason and logical thinking (rationalism) ◦ Inference: Induction (empiricism) vs deduction (rationalism) ◦ Certainty of knowledge: There is a margin of uncertainty or change (empiricism) vs the knowledge is universal and natural (rationalism) Implementing Scrum is not the objective We must select a method flexibly according to the status of our work and the issues that we should resolve
  11. Why must we work in Scrum? A. Because we must

    continue to provide value to our users while also solving complex issues Definition of Scrum • Scrum is a light framework for people, teams, and organizations to create value through the application of appropriate solutions for complex issues. 2020 Scrum Guide
  12. What is adaptation? • In Scrum, adaptation indicates the process

    of continuing to work toward bridging a gap based on the difference between a current status and a target • Continuing to bridge this gap is directly connected to the acquisition of experience Current status Target Status of continuing to fill the gap between the current status and the target
  13. What can we do in order to adapt? • When

    we satisfy the following, we can adapt by performing inspections ◦ Our target is clear ◦ Our current status is clear when compared with the target Current status Target Status of continuing to understand the gap between the current status and the target GAP
  14. What can we do in order to perform inspections? •

    Inspections are possible when transparency is ensured Status of the current correct information is collected in one place and the next action that should occur continues to be triggered ❌ ✅
  15. The three pillars of Scrum ✅ Current status Target GAP

    Current status Target Transparency Inspection Adaptation Put the three pillars into practice and execute the next step in decision-making based on this experience
  16. Scrum framework • Scrum allows us to summarize the overview

    using four rules ◦ Time ◦ Event ◦ Artifact ◦ Role Daily Scrum Meeting Review Retrospective Incremental Sprint Backlog Sprint Planning Meeting Team selects how much to commit Team Product Owner Scrum Master Input from End-Users and other stakeholders 1 2 3 4 Product Backlog
  17. Time “Time” indicates a defined period • In Scrum, a

    team runs their development cycle in a boxed-in period called a sprint ◦ A sprint is generally fixed to last between one week and one month ◦ All events described later in this presentation are performed within a sprint • Depending on the period, the time for the event may vary (excluding daily scrum) • The longer a sprint is, the greater the potential risk that a prediction will fail
  18. Event Event = Activity for investigation and adaptation • Sprint

    Planning ◦ The team discusses what can be done during the Sprint period and what kind of value they can deliver ◦ Determine a sprint goal and identify what the goal is ◦ Plan (sprint backlog) what sort of work you will use to generate value • Daily Scrum ◦ Identify how much of a gap there is to bridge between the current status and the sprint goal ◦ Investigate progress of work/blockers to achieving the goal ◦ Adapt based on investigation ▪ PO and consultation ▪ Adjustment of scope ▪ Further discussion to eliminate blockers ▪ etc.
  19. Event • Sprint Review ◦ Identify the increment for satisfying

    the sprint goal ◦ Based on the increment, investigate the status of the product goal (such as by looking at OKRs and vision). ◦ Adapt based on investigation ▪ Schedule revision ▪ Reconsider priorities, etc. • Sprint Retrospective ◦ Identify what your team has experienced ◦ Investigate the gaps with various goals regarding all activities related to development such as individual and team processes ◦ Apply to the next cycle the activities that were the most useful for filling the gap between an existing status and goals
  20. Artifact Artifact = a job in a scrum (work and

    value) • Product Backlog ◦ A list of items necessary to achieving a product goal and arranged according to priority ◦ Each item can be selected from the sprint planning (transparency for providing value is ensured) • Sprint Backlog ◦ Composed of sprint goals, the product backlog items selected in order to achieve the sprint goals, and the plan for execution ◦ The plan for developers; it visualizes the work necessary for developers to achieve their goals • Increment ◦ General name given to units used to quantify the results provided to achieve a goal ◦ The following must be made available as a set ▪ Items that must be ensured (quality and safety) when services are provided (by a service provider) ▪ Criteria that can be judged when the value you would like to provide is created
  21. Example The whipped cream by itself will not count as

    an increment of the shortcake It is necessary to satisfy the component element of the cake that can be judged, namely the taste • Product goal: Develop a cake bakery that will be a dominant competitor • Sprint goal: Check whether the shortcake will be a dominant competitor product • Sprint backlog ◦ Analyze and plan the elements for providing shortcake • Increment ◦ Provide the following as a set ▪ Quality/safety of ingredients of dominant competitor products • Strawberries • Whipped cream • Sponge cake
  22. Role Role = The member’s responsibility on the Scrum team

    • Product Owner (PO) ◦ Maximize the ROI of the Scrum team • Developers ◦ Maximize the outcome of the Scrum team ▪ (Technically this is supposed to be “productivity” but we focus on maximizing outcome) • Scrum Master (SM) ◦ Maximize the feasibility of the Scrum team’s objectives
  23. Product Owner • Maximize ROI (return on investment) ◦ Maximize

    the return on the costs (people, materials, time, etc.) of executing hypotheses ◦ The returns of for-profit organizations need to ultimately bring monetary profit ◦ Always think What and Why • Things to Consider in Order to Maximize ROI ◦ Is the activity measurable? ◦ Is it strategic? ◦ Are you fully aware of any organizational limitations? ◦ Can you negotiate with stakeholders? ◦ Have you properly considered the developers’ skills?
  24. Developers • Productivity and Outcome ◦ “Productivity” in the literal

    sense Produce (verb) + -ivity (quality or tendency) ▪ The degree to which you are able to produce anything ▪ It is the indicator of how effectively your output is produced ▪ Even if you have high output, it’s meaningless if the end user doesn’t benefit from it ◦ “Productivity” in the larger sense Product (any hypothesis whose value is expected to be recognized when delivered) + -ivity ▪ The degree to which you are able to produce things that have recognizable value ▪ The indicator of how much users recognize the value of the product as they use it ▪ You have delivered value to users and contributed to the realization of the goal = Outcome
  25. Developers • Productivity and Outcome 🫧 Resources Output Outcome Productivity

    in the literal sense Productivity in the larger sense👍 Need to focus on turning Output to Outcome • Big Output, small outcome -> Mass production of wastefulness • Small Output, big outcome -> Commitment to outcome (there is no issue here)
  26. Developers • Maximizing Outcome ◦ You have delivered value to

    users and contributed to the realization of the goal = Outcome ◦ Our objective is not to create a lot of features in an efficient manner. ◦ One way to increase outcome is to improve output, but more output doesn’t necessarily mean a 100% contribution to the outcome. • Developers are not simply “the people who build what the PO imagines.” ◦ You aren't meant to just keep building whatever you are instructed to ◦ If you have an idea that you believe will help maximize the outcome, you need to negotiate with the PO • Things to consider for maximizing outcome ◦ How will the development lead to an outcome? ◦ How will you measure the outcome of the development? ◦ What timeline will you follow to achieve the outcome?
  27. Scrum master • Maximize the feasibility of the Scrum team’s

    objectives ◦ It is not the Scrum master's job to force their team into the Scrum framework ◦ It is to observe the team’s activities and change their quality, thereby changing the team’s daily habits The aim is to maximize feasibility as a result • Analyze and evaluate activities ◦ The Scrum master analyzes activities ◦ Forecast the results of the activities, consider what sort of behavior change will improve habits, and make proposals • Things to consider for maximizing feasibility ◦ Are the team’s rights and responsibilities secured? (Negotiate for them) ◦ Is each member fulfilling their responsibilities? (Negotiate for participation) ◦ Are the organization and the team in a mutually beneficial relationship? (Negotiate for such a relationship)
  28. Summary so far • Mercari uses the Scrum framework to

    resolve complex issues and deliver value to users • The major requirements for applying it to complex issues is transparency, examinability, and adaptability. • The events that cover these requirements are defined as frames • Teams have roles and responsibilities, which every member must uphold ◦ Product Owner ▪ Maximize the ROI of the Scrum team ◦ Developers ▪ Maximize the outcome of the Scrum team ◦ Scrum master ▪ Maximize the feasibility of the Scrum team’s objectives
  29. Scrum Values A successful scrum relies on being able to

    demonstrate five values. • Commitment ◦ Commit to supporting each other in order to achieve our goals • Focus ◦ Focus on what is needed in order to make progress on our goals • Openness ◦ Be open with our work and challenges in order to achieve our goals • Respect ◦ Respect each other’s unique abilities as individuals in the same way that you are respected • Courage ◦ Have the courage to do what’s right and face difficulties
  30. Roles and responsibilities • These are designed especially to create

    discord between the PO and developers ◦ If each other’s roles are not clear, it’s difficult to grasp the current situation ◦ The outline of the problem becomes clear where there is a conflict ◦ A just conflict creates transparency • The scrum values become important for overcoming discord ◦ Mutual acceptance makes it possible to provide sound feedback that is tied to the team’s success ◦ A team that cannot provide its members with sound feedback end up losing their unique group unity • Scrum is a framework for discovering failure early and learning from it ◦ Even if the current status of a project and the issues a team has are unpleasant, they become clear ◦ As long as we face difficult problems, failure is to be expected ◦ Knowledge developed from experience
  31. Goals of this training To enable members to contribute to

    the growth and prosperity of the organization as one of the members that shoulders Mercari’s future • Defining the growth and prosperity of the organization ◦ Delivering value to our users (this is the most important point) ◦ Improving our competitiveness and productivity ◦ Strengthening cooperation among members, between teams, etc. To that end... • It’s important to understand Mercari’s development processes and the objectives of those processes ◦ After you are assigned to a team, most of your work will focus on development, and you may simultaneously feel dissatisfaction many times throughout your work. ◦ If you understand the processes and objectives of your work, you will be able to observe and interpret development activities logically. ◦ By providing constructive feedback and acting based on your observations, you will have the impact needed to change your team or organization • You will understand the responsibility that the stakeholders involved in development have ◦ The members working collaboratively with you are not your enemies ◦ Understand the mutually beneficial roles and expectations in order to achieve All for One successfully