Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

リモートチームでスクラム開発

こんにちは、ForSchool事業部の島田です。好きな漫画は「王様達のヴァイキング」です。

スタディプラス社では、現在リモートでの開発が主体となっています。その状況の中でStudyplus for School(以下FS)開発チームはスクラムによる開発を進めています。

今回はFS開発チームのリモート環境下における開発プロセスを紹介したいと思います。

(ちなみに、Studyplusのサーバーサイドチームについてはこちらの記事を参照していただければと思います)

tech.studyplus.co.jp

開発プロセスについて

以下が、FS開発チームのスクラムの概要です。

  • スプリント期間:2週間
  • デイリースクラム:毎日30分
  • スプリントプランニング:隔週2時間
  • スプリントレビュー:隔週2時間
  • スプリントレトロスペクティブ:隔週2時間

デイリースクラム

スプリントゴールの達成に対して課題・障害がないかを確認するミーティングです。 スプリントバッグログの進行具合を中心にして、チームがその日に取り組んだ事を確認していきます。その中でこのまま開発を進めて計画どおりに行かないと考えられる場合は課題を明確にして(別のミーティングを設けるなどして)解決策を考え、早い段階で軌道修正できるようにしています。

スプリントプランニング

スプリント期間の最初に行われる、スプリントの作業を計画するイベントです。

スプリントで実現するバックログの項目を選択してスプリントで実現するタスクにしていきます。

選択する項目は、機能開発や技術的な改善も含まれています。それらを具体的にどう実現していくかをタスク化して見積もります。

以下のステップで進めています。

  1. スプリントバックログの優先度を決める
  2. バックログの見積もりをする
  3. これまでのベロシティを参考にしてスプリントゴールを決める

スプリントレビュー

スプリントの最後に行われるスプリントの成果物をレビューするイベントです。プロダクトオーナー、開発者を中心にして、レビューをしてフィードバックをしていきます。その結果により新たなバックログが追加されたりします。

  1. スプリントの成果物のレビュー・デモ
  2. レビューに応じて、必要ならば新たなバックログを追加

スプリントレトロスペクティブ

スプリントレビューの後に、チームをより良くするために改善策を話し合うイベントです。 スプリントを振り返り、ゴールの達成度(ベロシティはどうだったか)を確認します。発生した課題の解決策やチームをより良くするための改善案ついて話したりします。 FS開発チームでは話し合いの際に、Lean Coffeeのやり方を参考にしてすすめています。以前はKPTで進めていました。しかし各自の課題感が発散した場合に議論の優先度を付けるのが難しくなり、本当に話し合うべき事を話す時間が足りなくなる事も少なくありませんでした。このやり方と後述するScatterSpokeというツールの相性もあり、チーム全体で重要だと思われる課題から優先的に話していけるようになり、ミーティングの質が向上したと感じました。

  1. Brainstorm(5分)
    1. 各自がスプリントで気になったトピックを記載する
    2. 各自二票まで全員があげたトピックの中で気になったトピックへ投票する
  2. To Discuss
    1. 投票数があったトピックをピックアップする
    2. 投票数が多い順に議論を始める
  3. Discussing
    1. 7分議論する
    2. 時間が経過したら、このまま継続して議論するかを親指のサインで投票する
      1. 継続の意思が過半数以上の場合-> 4分議論、過半数に満たない場合 -> 2分議論
  4. Discussed
    1. 全員がこれ以上の議論が必要ないとなったら、当該トピックの議論を終える
    2. 必要に応じて改善アクションを決める

以上が、FS開発チームのスプリントイベントの内容になります。

ツールについて

FS開発チームで利用しているツールについて紹介したいと思います。

Slack

ほぼ全てのやりとりはチャット上でやります

Zoom

定例のミーティングは主にZoomを利用しています。サクッと話したい場合にはSlack Callなども使います。

monday.com

バックログ・タスクの管理ではmonday.comを利用しています。詳しいツールの説明についてはこちらの記事を参照していただければと思います。

tech.studyplus.co.jp

esa

仕様や議事録などesaで管理しています。必要に応じてGoogelスプレッドシートを利用したりもします。

Scrum Poker Online

スプリントプランニングの見積もりで利用しています。オンラインでプラニングポーカーが出来るツールは数多くありますが必要最小限の事が実現できるので重宝しています。以前はSlack上で見積もりの数を出すなどもしていたのですが、やはりタイミングや一覧性などもあり課題がありました。このツールは無料で、簡単にroomをつくれて入ることができ全員の見積もりが揃ったらポイントを確認することが出来るので大変便利です。

f:id:yo-shimada:20210222093957j:plain
Scurm Porcker Online

ScatterSpoke

スプリントレトロスペクティブで利用しているツールです。

振り返りを実施する際に各自が課題をあげて投票を行うために利用しています。リモート以前は付箋を利用するなどしてました。リモート後はesaなどに記載していましたが、ドキュメント共有ツールだと他者が記載している内容や投票がわかるので、自分以外の意見に影響を受けてしまう可能性もありました。

ScatterSpokeを利用することにより、

  • 他者の振り返りトピックの内容・投票が公開されるまで分からない
  • タイマー機能で制限時間がわかりやすい
  • トピック内容が被った場合にグルーピングしやすい
  • Slack連携がありアクションアイテムを確認する事ができる

などのメリットがあります

f:id:yo-shimada:20210222095756j:plain
ScatterSpoke

その他

その他にリモート環境下だと中々きっかけがないとコミュニケーションが発生しなかったりする事があるので、開発チームが話し合うチャンネルにSlackのリマインダーで「時報」をするようにしています。今やっている事を簡単に書いたり、困ったことなどを気軽に投稿したりしています。

f:id:yo-shimada:20210222100126p:plain

最後に

世間にはリモートで生産性をあげるためのツールは数多くありますが、チームやメンバーの状況に応じて合ったツールを選ぶ事が重要だと思いました。

現時点でのFS開発チームは様々な紆余曲折の末に以上のような開発プロセスを行っています。

これも日々のスクラムでの振り返りによる成果であり、半年後にはまた何かやり方を変えている可能性があります。リモートやリアルにかかわらず、大切なのは現状に満足することなく常により良くできないかを考えることだと思いました。

幸いな事として会社やチームは新しいツールや仕組みの導入を試す事に対して寛容なので(もちろん、それ相応の必要性がないとダメですが)、それも改善の後押しになっていると感じています。