Slide 1

Slide 1 text

1 Successful Scrum Team at Mercari Shohei Kikuchi Mercari Recommendation ML Team / Software Engineer

Slide 2

Slide 2 text

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.

Slide 3

Slide 3 text

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.

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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/

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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 ❌ ✅

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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.

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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?

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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)

Slide 27

Slide 27 text

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?

Slide 28

Slide 28 text

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)

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

33 Thank you!