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
6k
ゼロからつくったリモートスクラムチームはスクラムに挫折し解散しました-スクラムフェス札幌2020
2020/11/6、スクラムフェス札幌での発表スライドです。
Mizuki Kusakabe
November 06, 2020
Tweet
Share
More Decks by Mizuki Kusakabe
See All by Mizuki Kusakabe
ふりかえりカンファレンス2023「インフラ構築をふりかえりでカイゼンする! - お互い何してるかわからないチームから、モブ・ネットワーク機器コンフィグ作成をやるチームへ -」
n0mzk
1
1.3k
Other Decks in Technology
See All in Technology
[FOSS4G 2019 Niigata] AIによる効率的危険斜面抽出システムの開発について
nssv
0
300
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
460
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
460
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
820
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
1
1.6k
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
120
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
Can We Measure Developer Productivity?
ewolff
1
150
Terraform Stacks入門 #HashiTalks
msato
0
350
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Unsuck your backbone
ammeep
668
57k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Thoughts on Productivity
jonyablonski
67
4.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
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