2020/11/6、スクラムフェス札幌での発表スライドです。
ゼロからつくったリモートスクラムチームはスクラムに挫折し解散しましたBBSakura Networks 株式会社モバイルコアエンジニア日下部 水規Twitter: @n0mzk / Discord: @n0mzk #18231
View Slide
ゼロからつくる!リモートスクラムチーム1月の私2https://confengine.com/scrum-fest-sapporo-2020/proposal/14135
• 私、チームから離脱• チームはスクラムやめる• チーム解散!スクフェス札幌延期3
4https://confengine.com/scrum-fest-sapporo-2020/proposal/141359月の私ゼロからつくったリモートスクラムチームはスクラムに挫折し解散しました
• スクラムむずかしい• どうやったらスクラムやれるのかわからない• でも、「じょうずに」ソフトウェアをつくりたいじょうずに:• みんなで• たのしく• 儲かる(求められる)ものを• 適切なスピードでスクラムやってみて思ったこと5
• 2019年8月設立• BBIXとさくらインターネットが出資するジョイントベンチャー• 自社開発のソフトウェアモバイルコアで、モバイルネットワークソリューションを提供する会社• コロナ前からフルリモートBBSakura Networksとは6
• モバイル通信を処理する設備(= モバイルコア)をソフトウェアで自社開発• それを使って便利な通信サービスを世の中に提供するモバイルコア?モバイルネットワークソリューション?モバイルネットワーク BBSakuraで開発しているのはこのへんB to B to B7• 例)さくらのセキュアモバイルコネクト• 例)さくらのクラウド ショートメッセージサービス
おはなしするプロジェクト必要なスキル:● ネットワークの知識● モバイルネットワークの知識● システム設計力● プログラミング力(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 ~ 1014だが、• 開発は始まらない!• メンバーは決まらない!• やりたい気持はあるがみんな業務を持っている!
チーム結成前夜 - 2019/9 ~ 1015• 救いをもとめてEOF2019へ• OSTでプロジェクトの始めかたを相談• それをもとに、始めかたを提案
チーム結成前夜 - 2019/9 ~ 1016マイルストン・スケジュールの合意メンバーは挙手制で決める前提知識習得のための課題提示POに夢を語ってもらうキックオフ実施始動までのスケジュールの提案も追加
チーム結成! - 2019/11スクラムマスターやります!開発やりません!チーム開発初めて!スクラム初めて!SCRUM BOOT CAMP THE BOOK超おもしろかった!やります!チーム開発初めて!Goでの開発ほぼ初めてモバイルコアの開発初めて!スクラム初めて!全体像の設計しました国際標準からスプリントバックログ作っておきますみんなが各機能足していけるようにベース部分作っておきますしばらくはコードレビュー全部やりますスクラムは前職で雑に経験したのでだいたいわかるやります!モバイルコアの開発初めて!スクラム初めて!やります!Goでの開発初めて!モバイルコアの開発初めて!スクラム初めて!私@北海道新卒エンジニア@東京フロントエンドエンジニア@大阪業務系エンジニア@東京テックリード@北海道やります!チーム開発10年ぶり!Goでの開発ほぼ初めて!モバイルコアの開発初めて!スクラム初めて!低レイヤー出身エンジニア@大阪17
チーム結成! - 2019/11Phase 2 開発完了Phase 1 開発完了開発開始社内ラボ試験結成時に合意したスケジュール:Phase 3 開発完了相互接続試験開始社内ラボ試験1811月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 ~ 625
26フェーズ2開発完了 & 社内でのラボ試験クリア!加速期立ち上げ期前夜11月2020年1月2019年7月4月自走期 いつもどおり進める期10月フェーズ2・ラボ試験完了! - 2020/6
フェーズ2・ラボ試験完了! - 2020/6Phase 2 開発完了Phase 1 開発完了Phase 3 開発完了開発開始相互接続試験開始社内ラボ試験社内ラボ試験Phase 2 開発完了社内ラボ試験2811月2020年1月2019年7月4月 10月
チームの解散 - 2020/61つのコンポーネントを1人で開発してくる!社長開発スピードアップのため一部外注しよう 合意!別プロジェクトでフロントエンド力が足りない!助けに行く!33解散!
新体制発足! - 2020/7外注先契約期間は4か月!この期間で次のフェーズの開発 & 社内ラボ試験まで完了して、顧客企業との相互接続試験ができる状態にする!34
Phase 2 開発完了Phase 1 開発完了Phase 3 開発完了開発開始相互接続試験開始社内ラボ試験社内ラボ試験Phase 3 開発完了相互接続試験開始社内ラボ試験3511月2020年1月2019年7月4月 10月Phase 2 開発完了社内ラボ試験新体制発足! - 2020/7
36加速期立ち上げ期前夜11月2020年1月2019年7月4月自走期 いつもどおり進める期10月加速期 - 2020/7 ~ 10
• 2か月かけて仕様検討し、サービス・システム・開発の全体像を理解• その後、開発に着手• これまで開発してきた土台 + 全体像が見えたことで開発が加速• 「無限のタスク・無限の時間ではここまで進まなかったと思う」加速期 - 2020/7 ~ 108月、新メンバー(国際標準のプロ)入社によりさらにブースト37
フェーズ3予定通り完了! - 2020/10Phase 2 開発完了Phase 1 開発完了Phase 3 開発完了開発開始相互接続試験開始社内ラボ試験社内ラボ試験Phase 3 開発完了相互接続試験開始社内ラボ試験3811月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: @n0mzkDiscord: @n0mzk #1823