この記事は カオナビ Advent Calendar 2021 24日目です。
🎄 はじめまして、こんにちは
カオナビで開発グループのマネージャー(中間管理職)をやりつつ、
機能開発チームのプロダクトオーナーをしています、owrbです。
いきなりですが、スクラムガイド2020を読んだことはありますか?
読んだことなくても大丈夫なんでブラウザバックしないでください!!!!!
この記事はスクラムガイドでいうと、デイリースクラムのセクションと関連性の強い内容になっています。
具体的には以下の箇所です。
開発者は、デイリースクラムがスプリントゴールの進捗に焦点をあて、これからの 1 ⽇の作業の実⾏可能な計画を作成する限り、必要な構造とやり⽅を選択できる。これは集中を⽣み出し、⾃⼰管理を促進する。
……引用部分を読んで、あなたはどのように感じたでしょうか?
- なるほど、わからん
- つまり どういうことだってばよ
- 必要な構造とやり方を選択できる ← それを教えて
そう感じたあなたのために、ぼくたちのチームでやっているデイリースクラムを公開します!!
🍰 この記事の背景にある情報
知っておくと記事がより楽しめる(かもしれない)ので、ご興味のある方はこちらから読み進めてください!
プロダクトの特性
- Webアプリケーションのサービス
- リリースのサイクルはチームでコントロール可能
- ステークホルダーの影響をガンガンに受けることはない
- (チームとしては)運用・保守は発生しない
チームについて
チーム名
いちご
↑のチームアイコンはぼくの自作です。
誤解されると困るのですが弊社にはデザイナーが在籍しています。
チーム結成時のノリでぼくが描くことになりました。
チーム名の由来はかわいい響きにしたいというのと、チーム結成日が1月5日だからです。
ちなみに弊社の他のチームは「どうぶつ」にちなんだ名前をつけています。
メンバー構成
- プロダクトオーナー:1名
- エンジニア:2〜5名
- バックエンド
- フロントエンド
- QA:1〜2名
- (デザイナー:1名) ※恒常的にはイベントに参加しない
全員が何らかのアジャイルな手法での開発経験は3年程度、
スクラム(厳密にイベントをやるようなもの)経験は2年未満という感じです。
またチームに専任のスクラムマスターの役割は置いていません。
一般的なスクラムの知識やチームで取り組んでいるプロセスを説明する役割はぼくが担っています。
一方で日頃の活動時にそれらが求められる行動については、チームの誰かが何となく取ってくれるような状態になっています。
しかし、Webアプリケーション開発に関する知見とは異なる能力を求められることが、課題解決の場面では多いなと思っています。
現状ではスクラムマスター不在の形でも進められていますが、専任でのスクラムマスターの重要性について否定するものではありません。
むしろ、1チームに1人のスクラムマスターを配置できるのが理想であるというのが個人的な見解です。
働き方
- フルリモート
- 働く時間はだいたいみんな同じ(10時〜19時くらい)にしている
使用しているツール
- Slack
- メインコミュニケーションツールです。テキストおよびハドルでのコミュニケーション
- Jira
- プロダクトのロードマップ作成、バックログの管理
- Confluence
- ドキュメント、ナレッジの作成と管理
- Trello
- 「あいまい管理」というフロー情報とストック情報の中間くらいの情報共有に使用
1スプリントの構成
1スプリントは1週間(5営業日)で構成されています。
祝日や連休の作成を考慮して水曜日を起点にしています。
月 | 火 | 水 | 木 | 金 |
---|---|---|---|---|
デイリースクラム | デイリースクラム | スプリントレビュー | デイリースクラム | デイリースクラム |
スプリントレトロスペクティブ | ||||
スプリントプランニング |
🎁 ぼくたちのチームのデイリースクラムの概要
ここから本題となるぼくたちのチームで実践しているデイリースクラムの詳細をお伝えします。
現在の形になるまでの背景
チーム結成当初はいわゆる「3つの質問」を使用した朝会を行っていました。
朝会の時間になったら、誰かがSlackでチーム用のチャンネルにCallを立てます。
Callに集合したら、POが進行をしつつ1人1人が質問に答える形式をとっていました。
このやり方でもプロジェクト管理の観点においては、特に問題があったわけではありません。
しかし、諸事情によりチームメンバーの加入や脱退を繰り返すうちに課題感を抱くようになりました。
- 開発チームがプロジェクトを管理(コントロール)している感覚になれない
- 新しくチームに参加する人と前からいる人では質問に対する回答の「質の差」が大きい
- (ありがちな)朝の進捗報告の会議になってる
ぼく自身もマネージャーとしての仕事が増えてきた背景もあり、
デイリースクラムをより開発チーム主体にしなければいけないという思いもありました。
そこでプロダクトの第1弾をリリースした7月頃からやり方を変えることを提案しました。
次セクションから紹介する内容は、その後に細かく改善を加えながらチームで実践しているものです。
デイリースクラムで実施していること
やっていることの一覧
- 開始の挨拶
- スプリントゴールの確認
- 今スプリントのアクションの確認
- メトリクス確認
- メンバー同士の状況共有(スプリントバックログの検査)
- Jiraのカードの更新漏れの確認
- あいまい管理の検査
- 二次会の開催の確認
- 締めの挨拶
進行する際の工夫
進行の手順をConfulenceにまとめている
新しくチームに入ってきた人が、どんなことをやっているか目的なども含めて知ってもらうためにやっています。
進行は日替わりで全員が行う
チームのイベントであることを意識するために、全員が進行を行うようにしています。
前述のように進行の仕方はまとまってるので、そういったことに不慣れな人でも進められるようになっています。
スプリントごとに朝会の議事録用のカードをつくる
日直やチームメンバーが翌日に連絡事項を残すために、スプリントごとに作成しています。
- スプリントゴール
- 日直の当番表
- 今スプリントのアクション
をプランニングの際に「説明」欄に記入します。
連絡事項などは「コメント」に誰でも記入して良いことになっています。
実施していることの詳細な解説
開始の挨拶
やっていること
みんなで「おはよーございます」っていうやつです。
しかしぼくたちは元気の良い居酒屋とか強豪の運動部ではないので、お腹からの声出しは求めていません。
目的
- デイリースクラム(仕事の開始)の始まりの区切りをつける
- チームの連帯感を上げる
スプリントゴールの確認
やっていること
スプリントプランニング時に立てたゴールを日直が読み上げます。
Jiraにスプリントの目標は書けるのですが、あまり目立たないこともあって誰も見ない状況を改善すべく導入されました。
この後にメンバー同士の状況共有があるので、ゴールに対して自分のタスク状況を話しやすくなることも狙いです。
目的
- スプリントゴールを形骸化させない
- チームがどこに向かっているかを忘れないようにする
今スプリントのアクションの確認
やっていること
前スプリントのふりかえり時に、今スプリントで実施するアクションを日直が読み上げます。
スプリントゴール同様にアクションも立てっぱなしになりがちなので、意識してもらうことを目的として確認するようになりました。
メトリクス確認
やっていること
スプレッドシートを利用して、スプリントプランニング時に活動に使える時間を計画しています。
デイリースクラムでは前日の活動時間の実績を確認し、計画していた時間とのブレがないかを確認します。
目的
- プランニング時の時間計画と実績の検査をする
- 予定外の事象が発生しているかどうかを作業時間から透明化する
メンバー同士の状況共有(スプリントバックログの検査)
やっていること
- 今やっていることのJiraのID
- 次にやる予定のJiraのID
いわゆる3つの質問を使用ツールにあわせて具体化しています。
「スプリントゴールへの障害になりそうなこと」という質問は答えるのが難しいことがわかったので、「あいまい管理」に集約されるような仕組みにしています。
この時間に各課題にコメントを残すことで、デイリースクラムで話したことが「話しただけ」にならないようにしています。
目的
- タスク進捗の検査をする
- チーム内のタスクの透明性をあげる
Jiraのカードの更新漏れの確認
やっていること
Jiraのクイックフィルターを使用し、以下の条件に当てはまる課題について確認するようにしています。
- 「期日」フィールドに「今日」の日付が入っている
- 最終更新日から5日以上経過している
また、JQLを使用して上記の条件に当てはまるカードは見分け(左端に赤線が出る)がつくようにしています。
目的
- 口頭からこぼれ落ちてしまうタスクの状態の透明性をあげる
- 順調だという思い込みの罠から抜け出すため
あいまい管理の検査
やっていること
開発中の疑問点(主に仕様)やチームに確認したいことを、Trelloにカードとして起票するようにしています。
デイリースクラムでは「完了」以外のカードについて検査をします。
仕様に関する質問が多いので、このカードの管理(完了にできるかどうかの判断)はPOが行なっています。
目的
- 困っていることを一歩踏み込んた形(テキスト)にしてもらう
- 障害になりそうなことをチーム全員で認識する
二次会の開催の確認
やっていること
二次会は、
- 朝会であがった話題で議論になりそうなこと
- チーム全員にではないけど相談したいこと
などを話す場です。
二次会が必要な人は、ここで話したいこととメンバーを指名します。
目的
- 朝会であがった話題をすぐに解決する
- メンバー同士で相談することのハードルを下げる
締めの挨拶
やっていること
みんなで「今日も1日よろしくお願いします」って言うやつです。
この後に二次会がある場合は、二次会が行われます。
目的
- デイリースクラム(仕事の開始)の終わりの区切りをつける
- チームの連帯感を上げる
🎉 デイリースクラムに対するチームメンバーのコメント
最後に実際にチームメンバーがどのように感じているかを紹介します。
目的の部分はぼく自身の考察みたいなものなので、併せてご覧いただけると実態が読み解けるかと思います。
良さを感じている点
- チームメンバーの状態がわかりやすい
- タスクのフィルタリングで期限が迫っているタスクがわかると、困っていることとかもわかりやすい
- ふりかえりのアクションを毎日確認するので、実行率があがっている気がする
- 新しくチームに入った人が日直をやっても、やることをやった上で15分くらいで終われる
- メンバーのステータスが分かる
- 声色から体調
- 仕事の進捗
- 急用が入ったかどうかとか
- 仕事が始まった感
- リモートだと特に感じづらい
- 必ず一日一回のコミュニケーションが担保されている点
- 声が聞こえてくるので、向こうは「生きている人間」だとわかる
- 一緒に仕事している感がある
- 一部の人だけ関わる課題は二次会で行うので全員を巻き込んでダラダラで行う会議は回避できる
- 困りごとがある場合、ヘルプできる
- やるべきことのリマインドができる
もっと良くできそうな点
- あいまい管理(Trello)があるので、Jiraとタスクの起票先に分岐がうまれる
- メンバーの調子(メンタル)を知ることができる何かがあると良いかも(プライベートにつっこみすぎない)
- 機械的すぎる点
- もう少し人柄というか、人間味が出ると面白いかも
- かと言って話しすぎると長くなるから難しい
- 各人の発表時に、困っていることを明示的に言うコーナーを作ると、困っていることを吐き出しやすいと思う
🎅 あとがき
ぼくがカオナビに入社して2年半が経ちました。
「スクラム、スクラム」と覚えたての呪文のように唱え続けていくうちに、
今では開発プロセスの1つとしてあたりまえに候補にあがるようになりました。
当初は守備力の上がる呪文と混同していた人もいたので、ここまで組織が変化してきたことは感慨深いです。
@komassyiや@eternalshiningという仲間に恵まなければ、ここまでの変化はなかったことでしょう。
とはいえ、まだまだビジネスインパクトを与えるほどの効果を上げられているわけではないと思っています。
今後もより良いプロダクトを生み出していけるように、チームメンバーをはじめとしたカオナビのスタッフといっしょにカイゼンしていきたいです!
ここまでお読みくださり、ありがとうございました