Slide 1

Slide 1 text

1 FLAT: the story of an experiment moving from scrum to our new framework 破?scrumからFLATを生み出して実験してみた話し Regional Scrum Gathering Tokyo 2021 2021-01-07

Slide 2

Slide 2 text

2 About Antony ● 2018: Joined Mercari as Frontend Engineer ● 2019: Scrum Master ● 2020: Engineering Manager Antony Chane-Hive French

Slide 3

Slide 3 text

3 What Is Mercari? ● Service start: July 2013 ● OS: Android, iOS *Can also be accessed by web browsers ● Usage fee: Free *Commission fee for sold items: 10% of the sales price ● Regions/languages supported: Base specs for Japan/Japanese ●Total number of listings to date: More than 1.5 billion Many sellers enjoy having the items they no longer need purchased and used by buyers who need them, and buyers enjoy the feeling of hunting for treasure as they search through unique and diverse items for lucky finds. In addition to buying and selling, users actively communicate through the buyer/seller chat and the “Like” feature. The Mercari app is a C2C marketplace where individuals can easily sell used items. We want to provide both buyers and sellers with a service where they can enjoy safe and secure transactions. Mercari offers a unique customer experience, with a transaction environment that uses the payments Mercari holds in escrow, and simple and affordable shipping options.

Slide 4

Slide 4 text

4 About February 1st, 2013 Established Tokyo, Sendai, Fukuoka, Osaka, Palo Alto, Portland, Boston Offices 1800+ Including subsidiaries Headcount

Slide 5

Slide 5 text

5 About Jb @yamaneco _agile UX

Slide 6

Slide 6 text

slide with multiple pieces here Since 2017 “We help build happy teams” Agile Coaching DevOps UX Design Trainings Workshops Tokyo Japan Software design & development

Slide 7

Slide 7 text

7 Agile is not the goal! Photo by @thematthoward - Unsplash

Slide 8

Slide 8 text

8 Our Agile journey Photo by @jerrykavan - Unsplash 2018 2019 2021 Adopted Scrum Camp Structure Introduced 2020 FLAT created Magic happens Cross functional teams

Slide 9

Slide 9 text

9 ● The Agile journey in Mercari - getting started with Agile and scrum ● The Camp Structure - progressing towards cross functional teams ● FLAT (FLexible Agile Team) - an attempt to break team silos ● Our experiment and learnings with FLAT in Logistics Camp ● Conclusion Agenda

Slide 10

Slide 10 text

10 How did this all start Mercari and the Agile journey

Slide 11

Slide 11 text

11 A few small teams deliver value quickly!

Slide 12

Slide 12 text

12 Then the Company grows... Photo by @beastydesign - Unsplash

Slide 13

Slide 13 text

13 ...and problems emerge - Hundreds of employees - Transition to Microservices - New management roles needed - Diversity and inclusion - Communication with native English speakers

Slide 14

Slide 14 text

14 How can we bring back the momentum? We need more structure and standardized processes!! We need to be Agile! We need scrum! We may want to have some scrum experts help us on the way... Oh, I know a group of Agile coaches I worked with before, let me get in touch with them!

Slide 15

Slide 15 text

15 Spring 2019, getting serious with Scrum

Slide 16

Slide 16 text

16 Agile coaching expectations Start with a few teams who are willing to progress with scrum

Slide 17

Slide 17 text

17 Agile coaching expectations Organize trainings and workshops as necessary

Slide 18

Slide 18 text

18 Agile coaching expectations Coach teams and the organization Coach in both English and Japanese

Slide 19

Slide 19 text

19 Mercari strategy for adopting scrum Stage 1 Understand the basics of Agile/scrum. Organize team backlogs and run scrum ceremonies. Stage 2 Ready to start continuous improvement based on metrics. Work is written as User Stories, and is being estimated for tracking velocity. The Why and Definition of Done are used. Stage 3 Continuous improvement on both the process, estimates, and quality. Stage 4 Coordinate and support other teams. The concept of large scale Agile development can be considered. We are here

Slide 20

Slide 20 text

20 Stage 1 - Use JIRA! - Story ticket describes a single user story (no multiple stories in a Story ticket) - Epic ticket describes high level goal of multiple user stories - Task ticket describe a single task - Map Epic and Story by EpicLink - Ordered items in the product backlog by priority - PM finishes design(Business logic, UI etc) before Sprint Planning Meeting - Engineers finish Tech Design before Sprint Planning Meeting - Have Sprint Planning Meeting - Specify what stories will be developed in the Sprint Planning Meeting - Have Demo(Sprint Review), and the dev team demonstrate actual software - Have Retrospective meeting, and the team picks up some try for next sprint - Describe why it good or bad in Keep and Problems - Use WHO-WHAT-WHY user story format to describe use story

Slide 21

Slide 21 text

21 Stage 2 - Show us metrics! - WHY is clearly described and it shows real motivation or root issues of our customers - Clearly explained acceptance criterias (Complete condition of Done) - Estimate business impact and describe it in the User Story or Tech Story - Have the team's base line(velocity) for a sprint from past sprints - Estimate and assign story point to each story by the Sprint Planning Meeting - Specified members and set proper load factor to estimate capacity for next sprint. - Create tasks for story, and estimate them before Sprint Planning Meeting - Define scope properly by estimation of tasks and capacity in the Sprint Planning Meeting - Calculated burn-down chart by story points - Have 2 phases planning which are high-level and sprint level to understand overall release plan

Slide 22

Slide 22 text

22 Stage 3 - Be good at estimates! - Estimate story point to story/Tech Story before Prioritization - Estimate size of story/task - Record actual work volume to complete Story and Task - Have detail analysis for big gap between estimation and actual in hours in the retrospective meeting - Have discussion for wrong estimation and find some try to improve the estimation in the retrospective meeting, and run continuously it - Check business impact between estimation and actual based on Story, Tech-Story - Implement quality measurement and start continuous improvement based on it

Slide 23

Slide 23 text

23 How managers see an Agile transformation Photo by @foxxmd - Unsplash

Slide 24

Slide 24 text

24 How it actually turns into Photo by @amitjain0106 - Unsplash

Slide 25

Slide 25 text

25 And so we started our Agile journey and coaching Photo by @delfidelarua7 - Unsplash

Slide 26

Slide 26 text

26 - “We have too many projects!” - “We have too many meetings!” - “We have very good connections within the team, but we feel isolated from the other teams, and from the business.” - “There are problems on the organizational level, but there is nothing we can do about it.” First observations on a few teams

Slide 27

Slide 27 text

27 - No Product owner role in the team, multiple stakeholders! - No dedicated Scrum Master. - Frontend and Backend have been separated for the sake of Microservices architecture, but it makes collaboration and communication more difficult. First observations on a few teams

Slide 28

Slide 28 text

28 - Facilitates scrum events (facilitation) - Mentor Scrum Master role (mentoring) - Bring observations of team dynamics (feedback) - Teach scrum and popular patterns (trainings, workshops) What can we actually bring at this stage? Photo by @delfidelarua7 - Unsplash

Slide 29

Slide 29 text

29 Build psychological safety

Slide 30

Slide 30 text

30 Value experiments and learnings

Slide 31

Slide 31 text

31 Promote face to face communication

Slide 32

Slide 32 text

32 Our Agile journey Photo by @jerrykavan - Unsplash 2018 2019 2021 Adopted Scrum Camp Structure Introduced 2020 FLAT created Magic happens Cross functional teams

Slide 33

Slide 33 text

33 How did this all start The Camp structure

Slide 34

Slide 34 text

34 Why Camps ? ● More micro decisions to reduce the back and forth between Engineers and the management ● A better alignment between each team in terms of goals ● A better communication between teams working on the same domain ● A better roadmap to build our product

Slide 35

Slide 35 text

35 What is Camp Structure? Team Team Team Camp Heads (Eng / PM) Team Team Team Camp Heads (Eng / PM) Team Team Team Camp Heads (Eng / PM) Client Backend /AI Arch / MS / SRE Product Team Team Team Team Team Team Team Team Team Team Team Team Misaligned roadmap/OKR Aligned roadmap/OKR Product /Client / Backend system Camp system

Slide 36

Slide 36 text

36 What camp structure is trying to achieve? ● A PM head and a Engineering head for better leadership and alignment ● Defined by domain to improve communication and coordination ● Enable cross functional teams to remove competency silos

Slide 37

Slide 37 text

37 With Camp structure we have constraints... “The Camp has to develop and deliver many Business and Engineering projects in parallel with limited skill and people capabilities.”

Slide 38

Slide 38 text

38 But we are now ready to address them Photo by @sailingaroundtheworld - Unsplash

Slide 39

Slide 39 text

39 We have been facing challenges in 2020 - It is difficult to contribute for another team because each team has its isolated Scrum implementation and ceremonies (no lightweight cross-team coordination). - If I am interested in a project assigned to another team, I am not empowered enough to decide to reassign myself where I feel I would receive growing opportunities and help my teammates. - I don’t know what is most important thing we should focus on between Product and Engineering initiatives. - I feel that our teams could be balanced in a better way in terms of skills, competencies, experience, and leadership. As a Camp member...

Slide 40

Slide 40 text

40 https://www.slideshare.net/lazarowolf/kanban-pmo-v-10-40119150

Slide 41

Slide 41 text

41 Our Camp leadership is committed build us a better working environment

Slide 42

Slide 42 text

42

Slide 43

Slide 43 text

43 So how might we... … become an Engineering-Driven Camp guided by goals and capable of adapting quickly in response to the needs of Business and Engineering activities?

Slide 44

Slide 44 text

44 Can we break the team silos inside the Camp? feature feature feature feature 1 large Product Team 1 small Product Team 2 products / 4 teams 2 products / 2 teams ? Scrum Kanban Scrumban We have too many Mobile tasks Can we do Mobile tasks for other teams? We want to start an improvement

Slide 45

Slide 45 text

45 And become more flexible to achieve our goals? Push
 Pull
 Visualized project and initiative priorities from which people can self organize around. 
 Fixed teams where we put a bunch of projects.


Slide 46

Slide 46 text

46 “Whether you like it or not, your teams are going to change.” “Team change is inevitable, get good at it.” Dynamic Reteaming is team change

Slide 47

Slide 47 text

47 It often results in moving people from team to team when starting projects, or crisis to crisis during delivery, and leads to an unstable environment with added costs of: - administration overhead - reduced efficiency from onboarding - exposure to Brooks’ Law Therefore, Keep teams stable and avoid shuffling people around between teams. Stable Teams tend to get to know their capacity, which makes it possible for the business to have some predictability. Stable Teams is a scrum pattern https://sites.google.com/a/scrumplop.org/published-patterns/product-organization-pattern-language/development-team/stable-teams

Slide 48

Slide 48 text

48 What Dynamic Reteaming teaches us

Slide 49

Slide 49 text

49 What Dynamic Reteaming teaches us

Slide 50

Slide 50 text

50 Here comes FLAT “FLexible Agile Team”

Slide 51

Slide 51 text

51 https://www.slideshare.net/lazarowolf/kanban-pmo-v-10-40119150

Slide 52

Slide 52 text

52 Visualize projects first, then let people act

Slide 53

Slide 53 text

53 Camp heads shall… Prioritize and visualize all projects and initiatives

Slide 54

Slide 54 text

54 Camp members shall... Measure our progress toward release at every iteration Identify the needs in term of competencies and capacity in order to keep on track. Concert with the rest of the Camp and self assign before starting a new iteration.

Slide 55

Slide 55 text

55 Artefacts & Roles

Slide 56

Slide 56 text

56 The FLAT (FLexible Agile Team) Manifesto ● At any time, anyone can see all activities undertaken in the Camp, and know their priorities. ● All Camp members are trusted and empowered to self-organize and come up with the most effective team formation, and to adjust it as needed. ● Any member can propose a new initiative and get the opportunity to pursue it with motivated volunteers.

Slide 57

Slide 57 text

57 FLAT iteration flow as a Camp Camp Review Camp Retro Camp Sync Camp Sync • Check the progress of each activity • Share roadmap • Share new activities • Define next goals • Update Engineer's self-assignment Check activity priority Sharing upcoming activity • Check activity priority • Present a new activity by a Camp member • Improve the Camp with all Camp members • Participation by interest 2 weeks iteration All Camp members All Camp members Camp Owners Activity Project Owners Does not change so much We don't want assignment changes every iteration but they are welcome Camp Owners Activity Project Owners

Slide 58

Slide 58 text

58 FLAT iteration flow as an Activity Daily Activity Sync • Share daily goal • Share blockers 2 weeks iteration Activity Sync Activity Sync N • Schedule as needed for an activity • Refine, estimate and plan tasks Does not change so much Activity Sprint Planning is not mandatory anymore. There is a Camp Retrospective but an activity can run a retrospective at their discretion Maybe try Kanban for an activity?

Slide 59

Slide 59 text

59 The FLAT Manifesto ● At any time, anyone can see all activities undertaken in the Camp, and know their priorities. ● All Camp members are trusted and empowered to self-organize and come up with the most effective team formation, and to adjust it as needed. ● Any member can propose a new initiative and get the opportunity to pursue it with motivated volunteers. All projects and initiatives shall be visualized by Camp heads in a unique location so that anyone can refer to them and stay aligned. Each activity shall be provided with a release planning (backlog, velocity, burndown), and people needs so that anyone can decide where they can be the most valuable for the Camp. Camp sync ceremony shall be open to anyone to participate and propose a new initiative.

Slide 60

Slide 60 text

60 Getting started with FLAT - What we already have and don’t need to change - Camp event schedule - Current teams can stay intact during the first iteration - What we don’t have and need to do - Backlog and release planning for each activity - Needs for each activity (does not have to be perfect the first time) - Visualize all activities in one location and ensure it is shared to EVERYONE - Camp retro - The idea of camp wide retrospective is not accepted yet

Slide 61

Slide 61 text

61 FLAT Anti-Patterns ● Camp heads not updating and communicating priorities ● Camp members not building a backlog and release planning ● Camp members not visualizing needs for each activity ● Chaos fluidity: everyone goes randomly everywhere without consultation and taking in account what makes most sense for the Camp.

Slide 62

Slide 62 text

62 How this idea was received? And what went wrong?

Slide 63

Slide 63 text

63 A shiny new idea...

Slide 64

Slide 64 text

64 … and the feedback

Slide 65

Slide 65 text

65 We had to deliver big releases Photo by @nguyendhn - Unsplash - Teams were implementing new features with a tight schedule. The introduction of a new process should be done with care to limit the disruption of teams.

Slide 66

Slide 66 text

66 ● The core part of FLAT is the visualization of the activities and the team capacity. Without this information, the framework cannot work well. Did the identified anti-patterns Photo by @timmossholder - Unsplash

Slide 67

Slide 67 text

67 - We fell into a hole where we tried to imagine all interactions and possibilities. This brought too many details into the framework and a lot of questions by the camp members. Too detailed before implementing the framework Photo by @f7photo - Unsplash

Slide 68

Slide 68 text

68 ● We shared what we should change but not a clear step by step change to be done to achieve the transformation. No clear step by step migration Photo by @gerandeklerk - Unsplash - We fell into a hole where we tried to imagine all interactions and possibilities. This brought too many details into the framework and a lot of questions by the camp members.

Slide 69

Slide 69 text

69 There was some confusion by the team members about how to start and how each person should work to achieve this transformation. The communication wasn't clear enough and we didn't have a clear process for a proposal. Confusion for all Camp members Photo by @robert2301 - Unsplash

Slide 70

Slide 70 text

70 What have we observed? When the magic happens!

Slide 71

Slide 71 text

71 ● Camp members observed the need of a process to propose a new activity and how to accept or reject it. ● This proposal process pushed the Engineers to be more proactive and enabled more transparency Proposal process

Slide 72

Slide 72 text

72 ● The framework opens the discussion around the process for product development ● Each team had more questions around their current process started to change their process to better fit their needs Teams becoming more self-organized ‍ ‍ ‍ ‍ Kanban Scrum ‍ ‍

Slide 73

Slide 73 text

73 ● Some teams had more than one project to achieve and decided to split into smaller teams to achieve their goal Splitting into smaller teams to achieve their goal ‍‍‍♂ ‍ ‍ ‍♂ ‍ ‍

Slide 74

Slide 74 text

74 ● All camp members looked for visualizing our current activities Need to visualize and prioritize the activities Activity 1 Activity 1 Activity 3

Slide 75

Slide 75 text

75 Conclusion To be continued...

Slide 76

Slide 76 text

76 We failed with FLAT... EPIC FAIL

Slide 77

Slide 77 text

77 … but the magic happened Camp members became change agents themselves Discussions Proposals Ideas Improvements Photo by @taylorannwright - Unsplash

Slide 78

Slide 78 text

78 ...and so, FLAT helped us learn Propose an idea can create a change in people's mindset or behavior.

Slide 79

Slide 79 text

79 Thank you! Any questions?