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
PRO

May 26, 2023
Tweet

More Decks by mercari

Other Decks in Technology

Transcript

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

    View Slide

  2. 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.

    View Slide

  3. 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.

    View Slide

  4. 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

    View Slide

  5. 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

    View Slide

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

    View Slide

  7. 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

    View Slide

  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/

    View Slide

  9. 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

    View Slide

  10. 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

    View Slide

  11. 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

    View Slide

  12. 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

    View Slide

  13. 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

    View Slide

  14. 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

    View Slide

  15. 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



    View Slide

  16. 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

    View Slide

  17. 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

    View Slide

  18. 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

    View Slide

  19. 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.

    View Slide

  20. 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

    View Slide

  21. 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

    View Slide

  22. 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

    View Slide

  23. 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

    View Slide

  24. 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?

    View Slide

  25. 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

    View Slide

  26. 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)

    View Slide

  27. 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?

    View Slide

  28. 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)

    View Slide

  29. 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

    View Slide

  30. 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

    View Slide

  31. 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

    View Slide

  32. 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

    View Slide

  33. 33
    Thank you!

    View Slide