Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ゼロからつくったリモートスクラムチームはスクラムに挫折し解散しました-スクラムフェス札幌2020
Search
Mizuki Kusakabe
November 06, 2020
Technology
1
6.1k
ゼロからつくったリモートスクラムチームはスクラムに挫折し解散しました-スクラムフェス札幌2020
2020/11/6、スクラムフェス札幌での発表スライドです。
Mizuki Kusakabe
November 06, 2020
Tweet
Share
More Decks by Mizuki Kusakabe
See All by Mizuki Kusakabe
技術広報の集い #5 LT 資料 2025 年挑戦したいこと
n0mzk
0
330
ふりかえりカンファレンス2023「インフラ構築をふりかえりでカイゼンする! - お互い何してるかわからないチームから、モブ・ネットワーク機器コンフィグ作成をやるチームへ -」
n0mzk
1
1.4k
Other Decks in Technology
See All in Technology
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
君も受託系GISエンジニアにならないか
sudataka
2
440
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
150
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
130
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
260
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
110
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
200
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
130
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
760
2.5Dモデルのすべて
yu4u
2
880
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
14
3.6k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A Tale of Four Properties
chriscoyier
158
23k
Designing Experiences People Love
moore
140
23k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Become a Pro
speakerdeck
PRO
26
5.1k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Automating Front-end Workflow
addyosmani
1368
200k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Transcript
ゼロからつくった リモートスクラムチームは スクラムに挫折し解散しました BBSakura Networks 株式会社 モバイルコアエンジニア 日下部 水規 Twitter:
@n0mzk / Discord: @n0mzk #1823 1
ゼロからつくる!リモートスクラムチーム 1月の私 2 https://confengine.com/scrum-fest-sapporo-2020/proposal/14135
• 私、チームから離脱 • チームはスクラムやめる • チーム解散! スクフェス札幌延期 3
4 https://confengine.com/scrum-fest-sapporo-2020/proposal/14135 9月の私 ゼロからつくったリモートスクラムチームはスクラ ムに挫折し解散しました
• スクラムむずかしい • どうやったらスクラムやれるのかわからない • でも、「じょうずに」ソフトウェアをつくりたい じょうずに: • みんなで •
たのしく • 儲かる(求められる)ものを • 適切なスピードで スクラムやってみて思ったこと 5
• 2019年8月設立 • BBIXとさくらインターネットが出資するジョイントベンチャー • 自社開発のソフトウェアモバイルコアで、モバイルネットワークソリューション を提供する会社 • コロナ前からフルリモート BBSakura
Networksとは 6
• モバイル通信を処理する設備 (= モバイルコア)をソフトウェアで 自社開発 • それを使って便利な通信サービス を世の中に提供する モバイルコア? モバイルネットワークソリューション?
モバイルネットワーク BBSakuraで 開発しているのは このへん B to B to B 7 • 例)さくらのセキュアモバイルコネクト • 例)さくらのクラウド ショートメッセージサービス
おはなしするプロジェクト 必要なスキル: • ネットワークの知識 • モバイルネットワークの知識 • システム設計力 • プログラミング力(Golang)
• チーム開発力 • 英語力(国際標準読む) • など モバイルネットワーク 今日おはなしする プロジェクトで つくろうとしているもの 新しいコンポーネントをつくり、新しいソリューションを提供する! モバイルコアのつくりかた : 1. 提供したいソリューションがある 2. (モバイルネットワーク内の、) 必要なコンポーネントが決まる 3. 国際標準にのっとって開発する 8 参考: GoでEPC作って本番運用している話 https://www.janog.gr.jp/meeting/janog42/application/files/6615/3132/4801/JANOG42_kusakabe.pdf
チームの歴史 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月
9 自走期 いつもどおり進める期 10月
10 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月
自走期 いつもどおり進める期 10月 チーム結成前夜 - 2019/9 ~ 10
チーム結成前夜 - 2019/9 ~ 10 こういうものつくりたい! 顧客になりそうな人たちもノッてくれている! 4月ぐらいから顧客設備と相互接続試験やりたい! この部分をやりたい! 社長・PO
後の テックリード エンジニアたち 13 必要なコンポーネントもマイルストンも見えてきた 早く開発するためにスクラムでやろう!
チーム結成前夜 - 2019/9 ~ 10 14 だが、 • 開発は始まらない! •
メンバーは決まらない! • やりたい気持はあるがみんな業務を持っている!
チーム結成前夜 - 2019/9 ~ 10 15 • 救いをもとめてEOF2019へ • OSTでプロジェクトの始めかたを相談
• それをもとに、始めかたを提案
チーム結成前夜 - 2019/9 ~ 10 16 マイルストン・スケジュールの合意 メンバーは挙手制で決める 前提知識習得のための課題提示 POに夢を語ってもらう
キックオフ実施 始動までのスケジュールの提案 も追加
チーム結成! - 2019/11 スクラムマスターやります! 開発やりません! チーム開発初めて! スクラム初めて! SCRUM BOOT CAMP
THE BOOK超おもしろかった! やります! チーム開発初めて! Goでの開発ほぼ初めて モバイルコアの開発初めて! スクラム初めて! 全体像の設計しました 国際標準からスプリントバックログ作っておきます みんなが各機能足していけるようにベース部分作っておき ます しばらくはコードレビュー全部やります スクラムは前職で雑に経験したのでだいたいわかる やります! モバイルコアの開発初めて! スクラム初めて! やります! Goでの開発初めて! モバイルコアの開発初めて! スクラム初めて! 私 @北海道 新卒 エンジニア @東京 フロントエンド エンジニア @大阪 業務系 エンジニア @東京 テックリード @北海道 やります! チーム開発10年ぶり! Goでの開発ほぼ初めて! モバイルコアの開発初めて! スクラム初めて! 低レイヤー出身 エンジニア @大阪 17
チーム結成! - 2019/11 Phase 2 開発完了 Phase 1 開発完了 開発開始
社内ラボ試験 結成時に合意したスケジュール: Phase 3 開発完了 相互接続試験開始 社内ラボ試験 18 11月 2020年 1月 2019年 7月 4月 10月
19 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月
自走期 いつもどおり進める期 10月 立ち上げ期 - 2019/11 ~ 12
• スクラムをやってみる! • チームのルールを決める! • デイリースクラム代わりのSlack投稿 • スプリントミーティングのやりかた • Doneの定義
• スプリントバックログのタスクを個人に割り振る • 1週間スプリントをまわしはじめる 立ち上げ期 - 2019/11 ~ 12 • テストを書き、 CI通る • プルリク出す • レビューしてマージされる 20 • フルリモート & フレックスなので非同期でやる • Slackに1日1回発言する ◦ 今日やったこと ◦ 明日やること ◦ 困っていること(なにかあれば) ◦ なにか一言 ← コミュニケーション促進のため必須 • 毎週水曜日に 2時間、Google meetで • 前スプリントのバックログが Doneになっているか確認 • 次スプリントの計画 • 良かったこと・困っていること・改善策
21 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月
自走期 いつもどおり進める期 10月 自走期 - 2020/1 ~ 2
• 他プロダクトで障害多発 • 根本対策としての大掛かりな開発を優先するため、兼務していたSM・TLがこ のチームを離脱することに 自走期 - 2020/1 ~ 2
※ この先は私はチームを抜けてしまったので外からしか見ていません。 この先の話は、私が外から見た様子と、メンバーたちに後から聞いた話で構成しています。 22
• SM・TL不在によりチームは自走しだす • 自分たちでスプリントバックログを作る • プラクティスを取り入れてみる • モブプロ • ビデオ会議で口頭コミュニケーションを増やす
• タスクは個人に割り振るが、徐々にタスクの境目がなくなり互いに助け合える状態に • プランニング通りにいかなくても柔軟に相談し計画し直せる • 「ぬるっと進みだした」 23 自走期 - 2020/1 ~ 2
24 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月
自走期 いつもどおり進める期 10月 いつもどおり進める期 - 2020/3 ~ 6
• 形式的なふりかえり & プランニングを行う週次ミーティング • 進行役は交代でやるが、スクラムマスター的な動きをする人は不在 • デイリースクラム(Slack投稿)廃止 • 書き忘れる、時間帯が合わない、互いに反応していない、「今日の一言」毎日書くの辛
い • 「このあたりからスクラムではなかった」 • 「このままプロジェクトやっていていいのかな、と自信をなくすこともあった」 • それでも「いつもどおり」バックログをつくり、割り振り、タスクを片付けて進め ていける いつもどおり進める期 - 2020/3 ~ 6 25
26 フェーズ2開発完了 & 社内でのラボ試験クリア! 加速期 立ち上げ期 前夜 11月 2020年 1月
2019年 7月 4月 自走期 いつもどおり進める期 10月 フェーズ2・ラボ試験完了! - 2020/6
フェーズ2・ラボ試験完了! - 2020/6 Phase 2 開発完了 Phase 1 開発完了 Phase
3 開発完了 開発開始 相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 2 開発完了 社内ラボ試験 28 11月 2020年 1月 2019年 7月 4月 10月
チームの解散 - 2020/6 1つのコンポーネントを1人で開発してく る! 社長 開発スピードアップのため一部外注しよう 合意! 別プロジェクトでフロントエンド力が足 りない!助けに行く!
33 解散!
新体制発足! - 2020/7 外注先 契約期間は4か月! この期間で次のフェーズの開発 & 社内ラボ試験まで完了して、 顧客企業との相互接続試験ができる状態にする! 34
Phase 2 開発完了 Phase 1 開発完了 Phase 3 開発完了 開発開始
相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 3 開発完了 相互接続試験開始 社内ラボ試験 35 11月 2020年 1月 2019年 7月 4月 10月 Phase 2 開発完了 社内ラボ試験 新体制発足! - 2020/7
36 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月
自走期 いつもどおり進める期 10月 加速期 - 2020/7 ~ 10
• 2か月かけて仕様検討し、サービス・システム・開発の全体像を理解 • その後、開発に着手 • これまで開発してきた土台 + 全体像が見えたことで開発が加速 • 「無限のタスク・無限の時間ではここまで進まなかったと思う」
加速期 - 2020/7 ~ 10 8月、 新メンバー(国際標準のプロ)入社 によりさらにブースト 37
フェーズ3予定通り完了! - 2020/10 Phase 2 開発完了 Phase 1 開発完了 Phase
3 開発完了 開発開始 相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 3 開発完了 相互接続試験開始 社内ラボ試験 38 11月 2020年 1月 2019年 7月 4月 10月 Phase 2 開発完了 社内ラボ試験
• スクラムむずかしい • どうやったらスクラムやれるのかわからない • でも、「じょうずに」ソフトウェアをつくりたい じょうずに: • みんなで •
たのしく • 儲かる(求められる)ものを • 適切なスピードで 再掲:スクラムやってみて思ったこと 39
• メンバーみんなゼロからスタートした • チーム開発経験、アジャイル・スクラムの理解や経験、ソフトウェア開発経験、ドメイン 知識、ほとんどない • 会社としてもチーム開発が初めて • これまでは個人開発ばかり •
フルリモートでのチーム開発も、もちろん初めて • スクラム開発も、もちろん初めて • 新規プロダクト = いままでだれもつくったことがないものをつくっている むずかしくて当然! しかし考えてみれば、 40
• チーム立ち上げ時はオフラインで合宿やればよかった • WIP = 1, Swarmingすればよかった • プロジェクト兼務よくない スクラム的な反省
41
• 「スクラムじゃない」状態になってから開発は進みだした • (スクラム的ではない?)仕様検討のみに時間をかけたことで加速した • スクラムのフレームワークにのっとることよりだいじなことがあったのだろう • じょうずにソフトウェアをつくるのには、何がだいじなのか? このチームでは、 42
• 開発者それぞれが • 価値を提供しようとする相手の現状とイシューを知っていて • 自分たちのつくっているものが相手にとって価値があるのだと理解・納得して いて • つくる道筋が見通せていること •
それらによって、信念と自信をもって手を動かせること だいじだと思うこと 43
• 経験がなくてもやりたいって言えるのが嬉しかった • 自分がやりたいって言ったのでやるしかなかった • いま振り返ってみたら、結局自分で手を動かす以外に方法はなかった メンバーたちの声 44
• 開発者には技術力が必要 • スクラムだからとか関係ない • ソフトウェアをつくるには技術が必要 • 技術を身につけるには、経験するしかない • 自分で国際標準を読んでコードを書いてみる、設計してみて失敗して学ぶ
信念と自信をもって手を動かすために 45
• 経験から学んでよりよくしていくのは、ソフトウェアをつくることにおいても、人 間や組織をつくることにおいても同じようにだいじ • 経験と学習をくりかえして、じょうずにソフトウェアをつくれるエンジニア・会社 になりたい なんか聞いたことあるやつ 46
全ての「モノ」がつながる社会を支える テクノロジーカンパニー 47
一緒にソフトウェアを作る仲間を募集しています! https://recruit.softbank.jp/career/positions/detail/000920/ ※ 2020/11/6 現在のURLです 48 お気軽にご連絡ください! Twitter: @n0mzk Discord:
@n0mzk #1823