Share
Embed
🏄♂️ 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
Transcript
42 slides
-
Scrum Development beyond the sea "GO GLOBAL" meetup #4 (June
24, 2019) Shin Takamatsu (@shimpeiws) Software Engineer @ Chomp -
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 -
HOW GOOD FRIENDS FOOD Certified ScrumMaster • CSM class in
San Francisco 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 -
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 -
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 -
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) -
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 -
HOW GOOD FRIENDS FOOD Our Product & Team • We
are now introducing how we develop 11 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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/ -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
HOW GOOD FRIENDS FOOD 4. A day in the life
of a chomp developer -
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 -
HOW GOOD FRIENDS FOOD A day in the life of
a chomp developer(2): Investigate • I collected logs and pasted it into Jira 34 -
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 -
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 -
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 -
HOW GOOD FRIENDS FOOD • Implementation ⚒ -> Code Review
-> Ship It A day in the life of a chomp developer(6): Implement ~ Release 38 -
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 -
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