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

ゼロからつくったリモートスクラムチームはスクラムに挫折し解散しました-スクラムフェス札幌2020

 ゼロからつくったリモートスクラムチームはスクラムに挫折し解散しました-スクラムフェス札幌2020

2020/11/6、スクラムフェス札幌での発表スライドです。

82f76a88e4532df96e423b6f6afcdddd?s=128

Mizuki Kusakabe

November 06, 2020
Tweet

Transcript

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

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

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

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

  5. • スクラムむずかしい • どうやったらスクラムやれるのかわからない • でも、「じょうずに」ソフトウェアをつくりたい じょうずに: • みんなで •

    たのしく • 儲かる(求められる)ものを • 適切なスピードで スクラムやってみて思ったこと 5
  6. • 2019年8月設立 • BBIXとさくらインターネットが出資するジョイントベンチャー • 自社開発のソフトウェアモバイルコアで、モバイルネットワークソリューション を提供する会社 • コロナ前からフルリモート BBSakura

    Networksとは 6
  7. • モバイル通信を処理する設備 (= モバイルコア)をソフトウェアで 自社開発 • それを使って便利な通信サービス を世の中に提供する モバイルコア? モバイルネットワークソリューション?

    モバイルネットワーク BBSakuraで 開発しているのは このへん B to B to B 7 • 例)さくらのセキュアモバイルコネクト • 例)さくらのクラウド ショートメッセージサービス
  8. おはなしするプロジェクト 必要なスキル: • ネットワークの知識 • モバイルネットワークの知識 • システム設計力 • プログラミング力(Golang)

    • チーム開発力 • 英語力(国際標準読む) • など モバイルネットワーク 今日おはなしする プロジェクトで つくろうとしているもの 新しいコンポーネントをつくり、新しいソリューションを提供する! モバイルコアのつくりかた : 1. 提供したいソリューションがある 2. (モバイルネットワーク内の、) 必要なコンポーネントが決まる 3. 国際標準にのっとって開発する 8 参考: GoでEPC作って本番運用している話 https://www.janog.gr.jp/meeting/janog42/application/files/6615/3132/4801/JANOG42_kusakabe.pdf
  9. チームの歴史 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月

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

    自走期 いつもどおり進める期 10月 チーム結成前夜 - 2019/9 ~ 10
  11. チーム結成前夜 - 2019/9 ~ 10 こういうものつくりたい! 顧客になりそうな人たちもノッてくれている! 4月ぐらいから顧客設備と相互接続試験やりたい! この部分をやりたい! 社長・PO

    後の テックリード エンジニアたち 13 必要なコンポーネントもマイルストンも見えてきた 早く開発するためにスクラムでやろう!
  12. チーム結成前夜 - 2019/9 ~ 10 14 だが、 • 開発は始まらない! •

    メンバーは決まらない! • やりたい気持はあるがみんな業務を持っている!
  13. チーム結成前夜 - 2019/9 ~ 10 15 • 救いをもとめてEOF2019へ • OSTでプロジェクトの始めかたを相談

    • それをもとに、始めかたを提案
  14. チーム結成前夜 - 2019/9 ~ 10 16 マイルストン・スケジュールの合意 メンバーは挙手制で決める 前提知識習得のための課題提示 POに夢を語ってもらう

    キックオフ実施 始動までのスケジュールの提案 も追加
  15. チーム結成! - 2019/11 スクラムマスターやります! 開発やりません! チーム開発初めて! スクラム初めて! SCRUM BOOT CAMP

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

    社内ラボ試験 結成時に合意したスケジュール: Phase 3 開発完了 相互接続試験開始 社内ラボ試験 18 11月 2020年 1月 2019年 7月 4月 10月
  17. 19 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月

    自走期 いつもどおり進める期 10月 立ち上げ期 - 2019/11 ~ 12
  18. • スクラムをやってみる! • チームのルールを決める! • デイリースクラム代わりのSlack投稿 • スプリントミーティングのやりかた • Doneの定義

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

    自走期 いつもどおり進める期 10月 自走期 - 2020/1 ~ 2
  20. • 他プロダクトで障害多発 • 根本対策としての大掛かりな開発を優先するため、兼務していたSM・TLがこ のチームを離脱することに 自走期 - 2020/1 ~ 2

    ※ この先は私はチームを抜けてしまったので外からしか見ていません。   この先の話は、私が外から見た様子と、メンバーたちに後から聞いた話で構成しています。 22
  21. • SM・TL不在によりチームは自走しだす • 自分たちでスプリントバックログを作る • プラクティスを取り入れてみる • モブプロ • ビデオ会議で口頭コミュニケーションを増やす

    • タスクは個人に割り振るが、徐々にタスクの境目がなくなり互いに助け合える状態に • プランニング通りにいかなくても柔軟に相談し計画し直せる • 「ぬるっと進みだした」 23 自走期 - 2020/1 ~ 2
  22. 24 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月

    自走期 いつもどおり進める期 10月 いつもどおり進める期 - 2020/3 ~ 6
  23. • 形式的なふりかえり & プランニングを行う週次ミーティング • 進行役は交代でやるが、スクラムマスター的な動きをする人は不在 • デイリースクラム(Slack投稿)廃止 • 書き忘れる、時間帯が合わない、互いに反応していない、「今日の一言」毎日書くの辛

    い • 「このあたりからスクラムではなかった」 • 「このままプロジェクトやっていていいのかな、と自信をなくすこともあった」 • それでも「いつもどおり」バックログをつくり、割り振り、タスクを片付けて進め ていける いつもどおり進める期 - 2020/3 ~ 6 25
  24. 26 フェーズ2開発完了 & 社内でのラボ試験クリア! 加速期 立ち上げ期 前夜 11月 2020年 1月

    2019年 7月 4月 自走期 いつもどおり進める期 10月 フェーズ2・ラボ試験完了! - 2020/6
  25. フェーズ2・ラボ試験完了! - 2020/6 Phase 2 開発完了 Phase 1 開発完了 Phase

    3 開発完了 開発開始 相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 2 開発完了 社内ラボ試験 28 11月 2020年 1月 2019年 7月 4月 10月
  26. チームの解散 - 2020/6 1つのコンポーネントを1人で開発してく る! 社長 開発スピードアップのため一部外注しよう 合意! 別プロジェクトでフロントエンド力が足 りない!助けに行く!

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

  28. Phase 2 開発完了 Phase 1 開発完了 Phase 3 開発完了 開発開始

    相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 3 開発完了 相互接続試験開始 社内ラボ試験 35 11月 2020年 1月 2019年 7月 4月 10月 Phase 2 開発完了 社内ラボ試験 新体制発足! - 2020/7
  29. 36 加速期 立ち上げ期 前夜 11月 2020年 1月 2019年 7月 4月

    自走期 いつもどおり進める期 10月 加速期 - 2020/7 ~ 10
  30. • 2か月かけて仕様検討し、サービス・システム・開発の全体像を理解 • その後、開発に着手 • これまで開発してきた土台 + 全体像が見えたことで開発が加速 • 「無限のタスク・無限の時間ではここまで進まなかったと思う」

    加速期 - 2020/7 ~ 10 8月、 新メンバー(国際標準のプロ)入社 によりさらにブースト 37
  31. フェーズ3予定通り完了! - 2020/10 Phase 2 開発完了 Phase 1 開発完了 Phase

    3 開発完了 開発開始 相互接続試験開始 社内ラボ試験 社内ラボ試験 Phase 3 開発完了 相互接続試験開始 社内ラボ試験 38 11月 2020年 1月 2019年 7月 4月 10月 Phase 2 開発完了 社内ラボ試験
  32. • スクラムむずかしい • どうやったらスクラムやれるのかわからない • でも、「じょうずに」ソフトウェアをつくりたい じょうずに: • みんなで •

    たのしく • 儲かる(求められる)ものを • 適切なスピードで 再掲:スクラムやってみて思ったこと 39
  33. • メンバーみんなゼロからスタートした • チーム開発経験、アジャイル・スクラムの理解や経験、ソフトウェア開発経験、ドメイン 知識、ほとんどない • 会社としてもチーム開発が初めて • これまでは個人開発ばかり •

    フルリモートでのチーム開発も、もちろん初めて • スクラム開発も、もちろん初めて • 新規プロダクト = いままでだれもつくったことがないものをつくっている むずかしくて当然! しかし考えてみれば、 40
  34. • チーム立ち上げ時はオフラインで合宿やればよかった • WIP = 1, Swarmingすればよかった • プロジェクト兼務よくない スクラム的な反省

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

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

    それらによって、信念と自信をもって手を動かせること だいじだと思うこと 43
  37. • 経験がなくてもやりたいって言えるのが嬉しかった • 自分がやりたいって言ったのでやるしかなかった • いま振り返ってみたら、結局自分で手を動かす以外に方法はなかった メンバーたちの声 44

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

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

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

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

    @n0mzk #1823