Slide 1

Slide 1 text

ゼロからつくった リモートスクラムチームは スクラムに挫折し解散しました BBSakura Networks 株式会社 モバイルコアエンジニア 日下部 水規 Twitter: @n0mzk / Discord: @n0mzk #1823 1

Slide 2

Slide 2 text

ゼロからつくる!リモートスクラムチーム 1月の私 2 https://confengine.com/scrum-fest-sapporo-2020/proposal/14135

Slide 3

Slide 3 text

• 私、チームから離脱 • チームはスクラムやめる • チーム解散! スクフェス札幌延期 3

Slide 4

Slide 4 text

4 https://confengine.com/scrum-fest-sapporo-2020/proposal/14135 9月の私 ゼロからつくったリモートスクラムチームはスクラ ムに挫折し解散しました

Slide 5

Slide 5 text

• スクラムむずかしい • どうやったらスクラムやれるのかわからない • でも、「じょうずに」ソフトウェアをつくりたい じょうずに: • みんなで • たのしく • 儲かる(求められる)ものを • 適切なスピードで スクラムやってみて思ったこと 5

Slide 6

Slide 6 text

• 2019年8月設立 • BBIXとさくらインターネットが出資するジョイントベンチャー • 自社開発のソフトウェアモバイルコアで、モバイルネットワークソリューション を提供する会社 • コロナ前からフルリモート BBSakura Networksとは 6

Slide 7

Slide 7 text

• モバイル通信を処理する設備 (= モバイルコア)をソフトウェアで 自社開発 • それを使って便利な通信サービス を世の中に提供する モバイルコア? モバイルネットワークソリューション? モバイルネットワーク BBSakuraで 開発しているのは このへん B to B to B 7 • 例)さくらのセキュアモバイルコネクト • 例)さくらのクラウド ショートメッセージサービス

Slide 8

Slide 8 text

おはなしするプロジェクト 必要なスキル: ● ネットワークの知識 ● モバイルネットワークの知識 ● システム設計力 ● プログラミング力(Golang) ● チーム開発力 ● 英語力(国際標準読む) ● など モバイルネットワーク 今日おはなしする プロジェクトで つくろうとしているもの 新しいコンポーネントをつくり、新しいソリューションを提供する! モバイルコアのつくりかた : 1. 提供したいソリューションがある 2. (モバイルネットワーク内の、) 必要なコンポーネントが決まる 3. 国際標準にのっとって開発する 8 参考: GoでEPC作って本番運用している話 https://www.janog.gr.jp/meeting/janog42/application/files/6615/3132/4801/JANOG42_kusakabe.pdf

Slide 9

Slide 9 text

チームの歴史 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月 9 自走期 いつもどおり進める期 10月

Slide 10

Slide 10 text

10 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月 自走期 いつもどおり進める期 10月 チーム結成前夜 - 2019/9 ~ 10

Slide 11

Slide 11 text

チーム結成前夜 - 2019/9 ~ 10 こういうものつくりたい! 顧客になりそうな人たちもノッてくれている! 4月ぐらいから顧客設備と相互接続試験やりたい! この部分をやりたい! 社長・PO 後の テックリード エンジニアたち 13 必要なコンポーネントもマイルストンも見えてきた 早く開発するためにスクラムでやろう!

Slide 12

Slide 12 text

チーム結成前夜 - 2019/9 ~ 10 14 だが、 • 開発は始まらない! • メンバーは決まらない! • やりたい気持はあるがみんな業務を持っている!

Slide 13

Slide 13 text

チーム結成前夜 - 2019/9 ~ 10 15 • 救いをもとめてEOF2019へ • OSTでプロジェクトの始めかたを相談 • それをもとに、始めかたを提案

Slide 14

Slide 14 text

チーム結成前夜 - 2019/9 ~ 10 16 マイルストン・スケジュールの合意 メンバーは挙手制で決める 前提知識習得のための課題提示 POに夢を語ってもらう キックオフ実施 始動までのスケジュールの提案 も追加

Slide 15

Slide 15 text

チーム結成! - 2019/11 スクラムマスターやります! 開発やりません! チーム開発初めて! スクラム初めて! SCRUM BOOT CAMP THE BOOK超おもしろかった! やります! チーム開発初めて! Goでの開発ほぼ初めて モバイルコアの開発初めて! スクラム初めて! 全体像の設計しました 国際標準からスプリントバックログ作っておきます みんなが各機能足していけるようにベース部分作っておき ます しばらくはコードレビュー全部やります スクラムは前職で雑に経験したのでだいたいわかる やります! モバイルコアの開発初めて! スクラム初めて! やります! Goでの開発初めて! モバイルコアの開発初めて! スクラム初めて! 私 @北海道 新卒 エンジニア @東京 フロントエンド エンジニア @大阪 業務系 エンジニア @東京 テックリード @北海道 やります! チーム開発10年ぶり! Goでの開発ほぼ初めて! モバイルコアの開発初めて! スクラム初めて! 低レイヤー出身 エンジニア @大阪 17

Slide 16

Slide 16 text

チーム結成! - 2019/11 Phase 2 開発完了 Phase 1 開発完了 開発開始 社内ラボ試験 結成時に合意したスケジュール: Phase 3 開発完了 相互接続試験開始 社内ラボ試験 18 11月 2020年 1月 2019年 7月 4月 10月

Slide 17

Slide 17 text

19 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月 自走期 いつもどおり進める期 10月 立ち上げ期 - 2019/11 ~ 12

Slide 18

Slide 18 text

• スクラムをやってみる! • チームのルールを決める! • デイリースクラム代わりのSlack投稿 • スプリントミーティングのやりかた • Doneの定義 • スプリントバックログのタスクを個人に割り振る • 1週間スプリントをまわしはじめる 立ち上げ期 - 2019/11 ~ 12 ● テストを書き、 CI通る ● プルリク出す ● レビューしてマージされる 20 ● フルリモート & フレックスなので非同期でやる ● Slackに1日1回発言する ○ 今日やったこと ○ 明日やること ○ 困っていること(なにかあれば) ○ なにか一言 ← コミュニケーション促進のため必須 ● 毎週水曜日に 2時間、Google meetで ● 前スプリントのバックログが Doneになっているか確認 ● 次スプリントの計画 ● 良かったこと・困っていること・改善策

Slide 19

Slide 19 text

21 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月 自走期 いつもどおり進める期 10月 自走期 - 2020/1 ~ 2

Slide 20

Slide 20 text

• 他プロダクトで障害多発 • 根本対策としての大掛かりな開発を優先するため、兼務していたSM・TLがこ のチームを離脱することに 自走期 - 2020/1 ~ 2 ※ この先は私はチームを抜けてしまったので外からしか見ていません。   この先の話は、私が外から見た様子と、メンバーたちに後から聞いた話で構成しています。 22

Slide 21

Slide 21 text

• SM・TL不在によりチームは自走しだす • 自分たちでスプリントバックログを作る • プラクティスを取り入れてみる • モブプロ • ビデオ会議で口頭コミュニケーションを増やす • タスクは個人に割り振るが、徐々にタスクの境目がなくなり互いに助け合える状態に • プランニング通りにいかなくても柔軟に相談し計画し直せる • 「ぬるっと進みだした」 23 自走期 - 2020/1 ~ 2

Slide 22

Slide 22 text

24 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月 自走期 いつもどおり進める期 10月 いつもどおり進める期 - 2020/3 ~ 6

Slide 23

Slide 23 text

• 形式的なふりかえり & プランニングを行う週次ミーティング • 進行役は交代でやるが、スクラムマスター的な動きをする人は不在 • デイリースクラム(Slack投稿)廃止 • 書き忘れる、時間帯が合わない、互いに反応していない、「今日の一言」毎日書くの辛 い • 「このあたりからスクラムではなかった」 • 「このままプロジェクトやっていていいのかな、と自信をなくすこともあった」 • それでも「いつもどおり」バックログをつくり、割り振り、タスクを片付けて進め ていける いつもどおり進める期 - 2020/3 ~ 6 25

Slide 24

Slide 24 text

26 フェーズ2開発完了 & 社内でのラボ試験クリア! 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月 自走期 いつもどおり進める期 10月 フェーズ2・ラボ試験完了! - 2020/6

Slide 25

Slide 25 text

フェーズ2・ラボ試験完了! - 2020/6 Phase 2 開発完了 Phase 1 開発完了 Phase 3 開発完了 開発開始 相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 2 開発完了 社内ラボ試験 28 11月 2020年 1月 2019年 7月 4月 10月

Slide 26

Slide 26 text

チームの解散 - 2020/6 1つのコンポーネントを1人で開発してく る! 社長 開発スピードアップのため一部外注しよう 合意! 別プロジェクトでフロントエンド力が足 りない!助けに行く! 33 解散!

Slide 27

Slide 27 text

新体制発足! - 2020/7 外注先 契約期間は4か月! この期間で次のフェーズの開発 & 社内ラボ試験まで完了して、 顧客企業との相互接続試験ができる状態にする! 34

Slide 28

Slide 28 text

Phase 2 開発完了 Phase 1 開発完了 Phase 3 開発完了 開発開始 相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 3 開発完了 相互接続試験開始 社内ラボ試験 35 11月 2020年 1月 2019年 7月 4月 10月 Phase 2 開発完了 社内ラボ試験 新体制発足! - 2020/7

Slide 29

Slide 29 text

36 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月 自走期 いつもどおり進める期 10月 加速期 - 2020/7 ~ 10

Slide 30

Slide 30 text

• 2か月かけて仕様検討し、サービス・システム・開発の全体像を理解 • その後、開発に着手 • これまで開発してきた土台 + 全体像が見えたことで開発が加速 • 「無限のタスク・無限の時間ではここまで進まなかったと思う」 加速期 - 2020/7 ~ 10 8月、 新メンバー(国際標準のプロ)入社 によりさらにブースト 37

Slide 31

Slide 31 text

フェーズ3予定通り完了! - 2020/10 Phase 2 開発完了 Phase 1 開発完了 Phase 3 開発完了 開発開始 相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 3 開発完了 相互接続試験開始 社内ラボ試験 38 11月 2020年 1月 2019年 7月 4月 10月 Phase 2 開発完了 社内ラボ試験

Slide 32

Slide 32 text

• スクラムむずかしい • どうやったらスクラムやれるのかわからない • でも、「じょうずに」ソフトウェアをつくりたい じょうずに: • みんなで • たのしく • 儲かる(求められる)ものを • 適切なスピードで 再掲:スクラムやってみて思ったこと 39

Slide 33

Slide 33 text

• メンバーみんなゼロからスタートした • チーム開発経験、アジャイル・スクラムの理解や経験、ソフトウェア開発経験、ドメイン 知識、ほとんどない • 会社としてもチーム開発が初めて • これまでは個人開発ばかり • フルリモートでのチーム開発も、もちろん初めて • スクラム開発も、もちろん初めて • 新規プロダクト = いままでだれもつくったことがないものをつくっている むずかしくて当然! しかし考えてみれば、 40

Slide 34

Slide 34 text

• チーム立ち上げ時はオフラインで合宿やればよかった • WIP = 1, Swarmingすればよかった • プロジェクト兼務よくない スクラム的な反省 41

Slide 35

Slide 35 text

• 「スクラムじゃない」状態になってから開発は進みだした • (スクラム的ではない?)仕様検討のみに時間をかけたことで加速した • スクラムのフレームワークにのっとることよりだいじなことがあったのだろう • じょうずにソフトウェアをつくるのには、何がだいじなのか? このチームでは、 42

Slide 36

Slide 36 text

• 開発者それぞれが • 価値を提供しようとする相手の現状とイシューを知っていて • 自分たちのつくっているものが相手にとって価値があるのだと理解・納得して いて • つくる道筋が見通せていること • それらによって、信念と自信をもって手を動かせること だいじだと思うこと 43

Slide 37

Slide 37 text

• 経験がなくてもやりたいって言えるのが嬉しかった • 自分がやりたいって言ったのでやるしかなかった • いま振り返ってみたら、結局自分で手を動かす以外に方法はなかった メンバーたちの声 44

Slide 38

Slide 38 text

• 開発者には技術力が必要 • スクラムだからとか関係ない • ソフトウェアをつくるには技術が必要 • 技術を身につけるには、経験するしかない • 自分で国際標準を読んでコードを書いてみる、設計してみて失敗して学ぶ 信念と自信をもって手を動かすために 45

Slide 39

Slide 39 text

• 経験から学んでよりよくしていくのは、ソフトウェアをつくることにおいても、人 間や組織をつくることにおいても同じようにだいじ • 経験と学習をくりかえして、じょうずにソフトウェアをつくれるエンジニア・会社 になりたい なんか聞いたことあるやつ 46

Slide 40

Slide 40 text

全ての「モノ」がつながる社会を支える
 テクノロジーカンパニー
 47

Slide 41

Slide 41 text

一緒にソフトウェアを作る仲間を募集しています! https://recruit.softbank.jp/career/positions/detail/000920/ ※ 2020/11/6 現在のURLです 48 お気軽にご連絡ください! Twitter: @n0mzk Discord: @n0mzk #1823