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

🏄‍♂️ Scrum Development beyond the sea 🏄‍♂️

🏄‍♂️ Scrum Development beyond the sea 🏄‍♂️

"GO GLOBAL" meetup #4 (June 24, 2019)
https://go-global.connpass.com/event/133588/

Scrum(Agile) in a remote team is often mentioned as “Hard Things”
Chomp development team is a remote and distributed team, but we are doing Scrum.
We are now introducing how we develop.

Shimpei Takamatsu

June 24, 2019
Tweet

More Decks by Shimpei Takamatsu

Other Decks in Technology

Transcript

  1. Scrum Development beyond the sea "GO GLOBAL" meetup #4 (June

    24, 2019) Shin Takamatsu (@shimpeiws) Software Engineer @ Chomp
  2. HOW GOOD FRIENDS FOOD Hello • Shin Takamatsu (@shimpeiws) •

    Software Engineer ⚙⚙⚙ - Ruby / Rails, JavaScript / React and more! • Scrum Master - I got Certified ScrumMaster • Fun - Jogging 2
  3. HOW GOOD FRIENDS FOOD Agenda ' • ( Our Product

    & Team • ) Development Process • * Adapt Scrum to the team • + A day in the life of a chomp developer 4
  4. HOW GOOD FRIENDS FOOD Our Product & Team(1): Product •

    iOS App and tiny web version • Camera & Filters • Realtime Chat • Timeline & Maps • Released first version ( year ago • stage • 2 weeks interval 7
  5. HOW GOOD FRIENDS FOOD Our Product & Team(2): Tech Stacks

    • Native App • React Native • Apollo • JavaScript + flow type • API • Ruby on Rails • Graph QL • Infrastructure • AWS - ECS - RDS(MySQL) - Cloud Formation with Ansible 8
  6. HOW GOOD FRIENDS FOOD Our Product & Team(3): Location •

    2 time zones • HQ in San Francisco • Branch in Tokyo • Also Distributed Team • SF / Tokyo / Hokkaido / Saitama etc… • A member worked while traveling 9 Tokyo JST (UTC +09:00) San Francisco PDT (UTC -07:00) PST (UTC -08:00)
  7. HOW GOOD FRIENDS FOOD Our Product & Team(4): Team •

    Product • Product Owner(= CEO) * 1 • Designers * 2~ • Product & Marketing intern * 1 • Development Team • Client Engineers * 4 • Server-side Engineers * 3 10
  8. HOW GOOD FRIENDS FOOD Our Product & Team • We

    are now introducing how we develop 11
  9. HOW GOOD FRIENDS FOOD Adapt Scrum to the team(1): Scrum

    in Remote Team • Scrum(Agile) in remote team is often mentioned as “Hard Things” 13 Principles behind the Agile Manifesto http://agilemanifesto.org/principles.html Hiring: 38 Scrum Master Interview Questions To Avoid Imposters https://dzone.com/articles/hiring-38-scrum-master-interview-questions-to-avoi
  10. HOW GOOD FRIENDS FOOD Development Process(2): Scrum Development • Scrum

    Development • 2 weeks interval sprint - Development - CI & Beta Distribution - Artifacts - Product Backlog - Sprint Backlog (Kanban) - Scrum Events - Standup (Daily Scrum) - Pre Planning (Product Backlog Refinement) - Sprint Planning - Retrospective 14
  11. HOW GOOD FRIENDS FOOD Development Process(3):Tools • Scrum & Communication

    • Slack (Chat) • Zoom (Video Conference) • Jira (Sprint Backlog and Kanban) • Air Table (Product Backlog) • Figma (Design) • Notion (Note) • Development • GitHub • Circle CI • Test Flight 15
  12. HOW GOOD FRIENDS FOOD Development Process(4): CI & Beta Distribution

    • CI • Unit Testing & Lint • E2E testing • Scheduled Distribution • Distribute Beta app using Test Flight • PO will check Beta app everyday • We don’t have a formal Sprint Review 16
  13. HOW GOOD FRIENDS FOOD Development Process(5): Sprint & Product Backlog

    • Spring Backlog • Jira - Active Sprint as Kanban To Do In Progress Code Review PO Review Done - Jira Pages are too slow • Product Backlog • Airtable 17
  14. HOW GOOD FRIENDS FOOD Development Process(6): Standup • From 17:00

    PDT(PST) every weekday • Zoom • With sharing Jira screen • Longer than 15 minutes (-30min) • We have extra events - What’s new? - PO shares new Ideas - etc… • Gather communication around standup - Overlap time is precious 18
  15. HOW GOOD FRIENDS FOOD Development Process(7): Pre Planning • PO

    will share plans for next (or more future) sprint • Kind of Product Backlog Refinement (Grooming) in Scrum Events • After it Development Team will … • Divide into sub-tasks • Estimate tasks before Sprint Planning 19
  16. HOW GOOD FRIENDS FOOD Development Process(8): Sprint Planning • Fix

    plans for the next Sprint • Use Zoom and JIRA’s Backlog feature - Checkup story points • Finally development team will commit and the New Sprint will start 20
  17. HOW GOOD FRIENDS FOOD Development Process(9): Sprint Retrospective • Zoom

    & Pointing Poker • KPT style • I miss you “Post-it” • Sprint Retrospective is creative - There are no agenda - The situation is very fluid • “Post-it” is awesome - Very flexible - Grouping, Merge, Vote… - But we are remote team 21 Pointing Poker https://www.pointingpoker.com/
  18. HOW GOOD FRIENDS FOOD Development Process • Scrum Process •

    Zoom and Jira is core tools • CI help us to inspect continuously • We could improve… • Sprint Planning - How we “Done” tasks is still a subject • Sprint Retrospective - I can’t find alternative of Post-it for remote team 22
  19. HOW GOOD FRIENDS FOOD Adapt Scrum to our team(1): Adaption

    is needed • Do Scrum Events ≠ Successful Scrum Team • “Don’t Do Agile, Be Agile” is a famous slogan • We need to tune our process • Adaption is needed • Introduce very tiny but important practices in our team 24
  20. HOW GOOD FRIENDS FOOD Adapt Scrum to our team(2): Common

    issues in Remote Team • Hard to discuss, especially about highly abstract things • Very quiet, sometimes member feel lonely and can’t feel He/She is in team • Code Review is heating up and hard to land • In short, Communication • Same problems occur even if local office and same timezone • But remote and difference of timezone accelerate these problems 25
  21. HOW GOOD FRIENDS FOOD Adapt Scrum to our team(3): Asynchronous

    OR Synchronous communication • Asynchronous communication is encouraged in successful remote teams • Ex: The Remote Manifesto by GitLab • But chomp team synchronous communication 26 All Remote https://about.gitlab.com/company/culture/all-remote/#the-remote-manifesto
  22. HOW GOOD FRIENDS FOOD Adapt Scrum to our team(4):Issues 1

    • Engineers had a offsite in Jan 2019 • We started discussion with “Joy, Inc”as the starting point • “Their transparency especially about planning is awesome. But can we reference from them?” • Because many practices are optimized for local office and It looks hard to adapt it in remote team 27
  23. HOW GOOD FRIENDS FOOD Adapt Scrum to our team(5): Answer

    1 • Let’s call ☎ • Slack call or Zoom • Arrange call via Slack, in standup etc… • 8:00~11:00 JST became communication hot time • Around standup meeting • Synchronous communication are gathered in this time 28
  24. HOW GOOD FRIENDS FOOD Adapt Scrum to our team(6): Issue

    2 • ☎ help our smooth communication • Communication in1on1 or in small group increased • Everything goes well? NO! • “Are something important decided in call?“ • Same as Direct Message problem happened • Transparency / Openness decreased 29
  25. HOW GOOD FRIENDS FOOD Adapt Scrum to our team(7): Answer

    2 • Let’s write meeting notes • Writing meeting notes after a call is recommended • Write notes in notion and post link to Slack “#meetingnotes” • Slack “Post” feature or only short message in Slack is OK too 30
  26. HOW GOOD FRIENDS FOOD Adapt Scrum to our team •

    chomp team synchronous communication • Call ☎ & Meeting Notes are key points of our communication • 1on1 or small team communication was increased by ☎ But our transparency / openness are decreased • Writing meeting notes is recommended after ☎. Meeting notes complement our transparency / openness • Mixture of Synchronous and Asynchronous communication is good • I’m not sure that these 2 practices will work in other teams or not. • We found these practice by ourselves and I proud it. Because it means we are a self- organized team. 31
  27. HOW GOOD FRIENDS FOOD A day in the life of

    a chomp developer(1): Beginning • PO reported “App crashed several times in my mobile” via Slack 33
  28. HOW GOOD FRIENDS FOOD A day in the life of

    a chomp developer(2): Investigate • I collected logs and pasted it into Jira 34
  29. HOW GOOD FRIENDS FOOD A day in the life of

    a chomp developer(3): Standup • Status was shared in standup 35 • Some types of queries looks slow and it might occur the problem. • Ahh, I know the case. Formerly I encountered it. • Nice, Let’s have a call ☎ after this standup. Backend Engineer Hokkaido - JST
  30. HOW GOOD FRIENDS FOOD A day in the life of

    a chomp developer(4): Call • Online Debugging ☎ ☎ ☎ 36 • This query is tested in here, Let’s output detail logs and look into it. • Some parameters look not work and filter of it not work sane Share logs via Slack • It must be so! Backend Engineer Hokkaido - JST
  31. HOW GOOD FRIENDS FOOD A day in the life of

    a chomp developer(5): Meeting Notes • I wrote a meeting note on notion after the call and post URL of it to Slack 37 • I think what Shin suggested is right • On the client side, I checked this query and it's taking 6-8 secs Client Engineer SF - PDT
  32. HOW GOOD FRIENDS FOOD • Implementation ⚒ -> Code Review

    -> Ship It A day in the life of a chomp developer(6): Implement ~ Release 38
  33. HOW GOOD FRIENDS FOOD • This case is a good

    example of showing our process and practices • Mixture of Synchronous and Asynchronous communication - Synchronous = Standup, Call ☎ - Asynchronous = JIRA, Notion • Synchronous communication accelerates our development speed ⏫ ⏫ ⏫ • Asynchronous communication let us collaborate beyond our timezone A day in the life of a chomp developer 39
  34. HOW GOOD FRIENDS FOOD Wrap-up • Scrum in remote and

    distributed team is hard but it is not impossible • Using many tools (Zoom and Jira are important for us) • We have some practices for adapt scrum to our team • Call ☎ & Meeting Notes • Of course, not everything go well in our team • Current hot theme is How we can have a shared understanding about “Done” • We can surely find the good practice for it, because we are a self-organized team 41