$30 off During Our Annual Pro Sale. View Details »

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

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

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

Mizuki Kusakabe

November 06, 2020
Tweet

More Decks by Mizuki Kusakabe

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. チーム結成! - 2019/11
    スクラムマスターやります!
    開発やりません!
    チーム開発初めて!
    スクラム初めて!
    SCRUM BOOT CAMP THE BOOK超おもしろかった!
    やります!
    チーム開発初めて!
    Goでの開発ほぼ初めて
    モバイルコアの開発初めて!
    スクラム初めて!
    全体像の設計しました
    国際標準からスプリントバックログ作っておきます
    みんなが各機能足していけるようにベース部分作っておき
    ます
    しばらくはコードレビュー全部やります
    スクラムは前職で雑に経験したのでだいたいわかる
    やります!
    モバイルコアの開発初めて!
    スクラム初めて!
    やります!
    Goでの開発初めて!
    モバイルコアの開発初めて!
    スクラム初めて!

    @北海道
    新卒
    エンジニア
    @東京
    フロントエンド
    エンジニア
    @大阪
    業務系
    エンジニア
    @東京
    テックリード
    @北海道
    やります!
    チーム開発10年ぶり!
    Goでの開発ほぼ初めて!
    モバイルコアの開発初めて!
    スクラム初めて!
    低レイヤー出身
    エンジニア
    @大阪
    17

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    • 「このあたりからスクラムではなかった」
    • 「このままプロジェクトやっていていいのかな、と自信をなくすこともあった」
    • それでも「いつもどおり」バックログをつくり、割り振り、タスクを片付けて進め
    ていける
    いつもどおり進める期 - 2020/3 ~ 6
    25

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  40. 全ての「モノ」がつながる社会を支える

    テクノロジーカンパニー

    47

    View Slide

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

    View Slide