[DevDojo] Development processes and Tools at Mercari
In this course, we will explain product development processes in Mercari and how to handle them in JIRA. We will also cover the Agile development process that Mercari has been utilizing for the past three years.
was on to clear the basics of Scrum • Classic Scrum • Use of physical boards • Jira (separate session) Daily Scrum Meeting Review Retrospective No Changes Sprint Backlog Sprint Planning Meeting Team selects How much to commit Team Product Owner Scrum Master Input from End-Users and other stakeholders 1 5 2 3 4
product backlog, remove/add items, update priority order • Also share expected scope to stakeholders right after prioritization for next sprint Sprint Planning Meeting (up to 4 hours for 2 weeks) • Product Manager shares user story(requirements) and solution ideas • The sprint team creates tasks to achieve sprint goal • Estimate tasks, and set scope based on capacity of the team
I did, what I will do and what are blocking issues Sprint Review (Demo) • Demonstrate outcome of the sprint (increments) to stakeholders • Product Owner decides whether increments are release-able or not Retrospective • Look back the sprint, and list good points, bad point and what we will try in the next sprint (KPT)
notes for details) - *Role, Goal and Benefit - As a [User PERSONA] - - I want to [NEED : Intent, NOT the feature] to - - So that [PURPOSE]- I can xxx - *Definition of Ready (DoR) - PM and Dev Team need to have talked about the story at least once - (Check notes for details) - *Definition of DONE (Acceptance Criteria) - (Check notes for details) - What user stories should not (ideally) include 1. Details of technical implementation. PM should just tell what needs to be built and which end-user (external or internal) is going to be used. PMs or anyone for that matter, can be part of technical discussions and suggest ideas/approaches, but final decisions should be from the Engineering team. 2. More than one requirement in one user story
◦ Fix all design and Completed Reviews (Biz, UX, UI, Tech, CS etc) before Sprint Planning/Dev period • Make rhythm for continuous improvement • Create Prioritized Product Backlog ◦ Focus on Prioritization and ‘WHY’ of User Story • Measure your team’s velocity ◦ Story Point
Tech Design Sprint Planning Prioritization Design Scope sharing Draft Drop Solution Sharing Retrospective Release Demo Backend, Web Sprint in pure Scrum Definition * Web follows Client Release process when release is bigger
should be prioritized also with TL Design Sprint • Focus on customer facing design(Product Spec, not tech spec) • Finalize solution design which provides enough information to engineers • Periodically, Product Manager discuss design with engineers and designers
solution design to engineers to kick tech design Solution Sharing • Product Managers share solution proposal to the stakeholders which are engineers, QA, Customer Service etc to get feedback • Kick estimations of engineering and QA • Kick review process for CS
Set scope for design Share draft solution design to TL, QA Share solution proposal to stakeholders Set sprint goal by estimations Analysis, Business negotiations, Create Epic, Story tickets Create Tasks and estimation Refine solution Demonstrate what developed in the sprint Discuss what is good, what is bad and try for next sprint Test for release
tasks Create Epic, Story tickets Create Task tickets Change status to ready for release Refine Epic and Story ticket Design-Task ticket Change status to release OK and Done
be done in individual team ◦ Dependent teams have different sprint schedule ◦ Priorities change in the middle of team sprint because of dependent team’s task request • Individual team priorities are not shared with dependent teams ◦ No common platform used to share priorities ◦ Difficult to sync between Jira and physical scrum boards • QA issues of previous sprint needs to be solved in current dev sprint ◦ Sprint scope is limited only to development team ◦ QA starts testing after development is done More details are mentioned here.
be done in individual team 1. Sync all the teams to have same sprint schedule 2 Individual team priorities are not shared with dependent teams 1. Map dependent teams 2. Guide teams to create Jira Boards & sync 3. Standardize JIRA usage to communicate priorities among teams 3 QA issues of previous sprint needs to be solved in current dev sprint 1. Merge the sprints of dev team with QA tasks 2. Define sprint timeline structure
groom the backlog of a camp Sprint Planning # 1 • Decide Sprint backlog and resolve dependencies Mid Sprint sync up • Sync progress of teams in a camp Sprint Review: • Review camp task completion • Demos Sprint Retrospective: • Use of retrium • Retrospective of camp teams PARTICIPANTS: PgM, TPMs, PM head, PMs, EM Head, TLs, & SMs Progress check and support based on Agile Progress Sheet
Requirements, Tasks, Bugs, Priority, Status, Workflow etc Mercari uses JIRA by Atlassian Ticketing Some teams use Github Issues and Monday for tracking their tasks.
in the new JIRA for tracking progress, priority, and visualization of cross camp projects. • Epic will be unit for prioritization, reviews Analysis, collect ideas and Create Epic Prioritize Epics by Execs for design Share draft solution design to Execs Create Tasks and estimation Refine solution Demonstrate what developed in the sprint Discuss what is good, what is bad and try for next sprint Set sprint goal by estimations Test for release
tickets - Workflow is customizable Ticket Workflow Workflow(Development): Workflow(Non Dev): FYI : Team can modify workflow which is aligned to their DEV process.