このページでは、アジャイル開発(スクラム開発)におけるデイリースクラムについて解説します。
デイリースクラムとは、毎日15分程度、開発チームメンバーで行われる定例のミーティングです。
デイリースクラムは適切に実施することで、アジャイル開発において様々な側面で効果を発揮します。
以下にデイリースクラムの目的や効果的に実施する方法、してはいけないことなどを分かりやすく解説しています。
アプリ開発の工程においても、デイリースクラムは重要な活動となっていますので、ぜひ参考にしてください。
デイリースクラムとはスクラム開発における開発者のためのミーティング
デイリースクラムとは、アジャイル開発(スクラム開発)を実践する上で必要なミーティングのことを指します。
【意味・定義】アジャイル開発とは?
アジャイル開発は、ソフトウェア開発の手法の一つで、開発の途中で変更が起きることを想定し、短期間で細かな工程の開発と実装を繰り返し、製品のアップデートを細かく行う開発手法をいう。
【意味・定義】スクラム開発とは?
スクラム開発とは、スクラム(スクラム開発)とは、アジャイル開発の1つで、スクラムチームと呼ばれる開発チームを組み、短期間・少人数でスプリント(一定期間の開発)を繰り返し、コミュニケーションを重視する開発手法をいう。
スクラム開発においては、スプリント(開発期間の単位)内に、4つのスクラムイベントがあります。
4つのスクラムイベント
- 1.スプリントプランニング:スプリントの作業計画
- 2.デイリースクラム:進捗の検査と再計画
- 3.スプリントレビュー:成果物の検査とプロダクトバックログの適応
- 4.スプリントレトロスペクティブ:スプリントの振り返り
デイリースクラムは、スクラムイベントの1つで、毎日15分程度、開発チームメンバーで行われる定例のミーティングです。
デイリースクラムでは、開発者が各自の進捗状況や課題を報告し合い、開発チームメンバーで共有します。
【意味・定義】デイリースクラムとは?
デイリースクラムとは、毎日同じ時間にスクラムチームで集まり、情報や進捗、課題などの共有を短時間で行うミーティングをいう。
デイリースクラムの目的
目的1.現状確認・再計画
デイリースクラムの目的は、スプリントゴールの達成に向けて、現状の確認と再計画を行うことです。
デイリースクラムでは、各自が作業の進捗とともに問題点を報告することで、チーム全体で問題解決に取り組みます。
問題点があればその原因を探り、対策と今後の作業調整をしながら確実にゴールを達成できるよう促します。
たとえ小さな問題でも一人で抱え込まず、チームで助け合いながら進めていくことが大切です。
目的2.メンバー間のコミュニケーション
また、スクラム開発では変化に迅速に対応するため、開発チームメンバーの密なコミュニケーションが重要になります。
デイリースクラムは、開発チームメンバーがコミュニケーション強化する場としても有効なイベントです。
毎日コミュニケーションを重ねることで、アプリ開発の軌道修正や、問題点の発覚などがあります。
このように、デイリースクラムをおこなうことで、トラブルが大きくなる前に、芽を摘むことができます。
デイリースクラムの参加者
デイリースクラムの参加者は、以下のとおりです。
デイリースクラムの参加者と発言権 | ||
---|---|---|
役割 | 参加 | 発言権 |
スクラムマスター | 任意 | ファシリテート(進行・まとめ)のみ |
プロダクトオーナー | 任意 | なし |
開発者 | 必須 | あり |
スクラムマスター
デイリースクラムは、開発者側の責任者であるスクラムマスターが中心となって進めていきます。
【意味・定義】スクラムマスターとは?
スクラムマスターとは、受注者側の管理者・責任者であって、開発そのものの調整などを行い、プロダクトオーナーと開発チームメンバーのサポートをする役割をいう。
デイリースクラムをスムーズに行うために、スクラムマスターがファシリテーターとして開発者の発言を促します。
開発者がデイリースクラムに慣れてきたら、スクラムマスター抜きで、開発者自らファシリテートすることが理想です。
プロダクトオーナー
デイリースクラムには、発注者側の責任者であるプロダクトオーナーも参加します。
【意味・定義】プロダクトオーナーとは?
プロダクトオーナーとは、製品(プロダクト)開発において、製品や開発の方向性を決める責任者のこと。
デイリースクラムは、あくまでも開発者のためのミーティングです。
このため、プロダクトオーナーには発言権がありません。
プロダクトオーナーは、デイリースクラム中は口を挟まず、傾聴に努めなければなりません。
プロダクトオーナーは進捗に関して気になることがあれば、別途時間を調整して確認するようにしましょう。
開発者
スクラム開発において実際にプログラミングをしている開発者は、デイリースクラムでは参加必須です。
また、開発者の発言によって、デイリースクラムは進んでいきます。
開発者の発言の質や量が、デイリースクラムで効果が上がるかどうかが決まってきます。
このため、スクラムマスターやリードエンジニア等によるファシリテーションによって、いかに開発者からの発言を引き出すかが重要となります。
デイリースクラムのやり方とポイント
デイリースクラムのやり方は企業により様々ですが、下記3つのポイントを押さえることで、効果的なデイリースクラムを実施できます。
ポイント1.毎日同じ時間・同じ場所で行う
デイリースクラムは、毎日同じ時間に同じ場所で行います。
そうすることで、時間や場所の調整に余計なリソースを使わずに済みます。
作業開始前の「朝会」としてデイリースクラムを実施している企業が多くあります。
ポイント2.実施時間は15分以内
デイリースクラムの実施時間は15分とし、それを超えないようにします。
短い時間のなかで、効率的に進行することで、全員が集中して参加できるようになります。
また、時間制限により議論が膨らみすぎるのを避け、デイリースクラムの目的を明確にできるという効果があります。
逆に、15分を超える課題・問題点が出た場合は、後述のとおり、別途時間を取って対応します。
ポイント3.3つの事項を共有する
デイリースクラムでは、下記3つの事項を報告・共有します。
デイリースクラムの共有事項
- 1.昨日やったこと
- 2.今日やること
- 3.課題・問題点
各自の状況を把握し、開発者はお互いにスプリントゴールへの影響が無いか確認します。
各自が自身の進捗や問題を率直に報告し、相互にフィードバックを提供することが、チーム全体の成果や品質の向上につながります。
課題・問題点について検討が必要な場合は、デイリースクラムとは別に話し合いの場を設定します。
デイリースクラムの事前準備のしかた
短時間で効率よく準備する
デイリースクラムでは、スプリントゴールの達成へ向けて、15分という短い時間を有効に使わなくてはなりません。
そこで、開発者としては、ミーティングをスムーズに進めるために、事前準備をすることが重要です。
他方で、毎日の短時間のデイリースクラムのために、時間をかけて準備をすると、本末転倒となります。
このため、以下のとおり、ある程度準備することを決めておくことで、短時間で効率よく準備ができます。
タスクを最新の状態に更新する
すでに述べたとおり、デイリースクラムでは、開発者が「昨日やったこと」と「今日やること」を共有することとなります。
そこで、常に自分のタスクの進捗状況を確認し、デイリースクラムでスムーズに報告できるように準備します。
参加者でタスク管理ツールを使用している場合は、自分のタスクの進捗を最新の状態に更新しておきます。
こうすることで、口頭だけの報告よりも、他の参加者に対して伝わりやすくなります。
共有すべき課題を確認する
また、デイリースクラムでは、「課題・問題点」も共有することとなります。
そこで、開発途中で課題や問題点を発見した場合は、何らかの形で記録に残しておきます。
こうした課題や問題点は、緊急性が高い場合はすぐに共有するべきですが、緊急性が低い場合は、デイリースクラムで共有します。
なお、前回のデイリースクラムでの課題が解決した場合も報告するようにしましょう。
デイリースクラムのアンチパターン(してはいけないこと)と解決方法
デイリースクラムでありがちな、アンチパターン(してはいけないこと)とその解決方法をご紹介します。
パターン1.形式的な進捗報告になっている
デイリースクラムが、形式的な進捗報告をおこなうだけの場になっていることがあります。
デイリースクラムの目的は、スプリントゴールの達成に向けて、進捗に問題が無いかを確認し、調整することにあります。
各自が参加者の進捗報告から、スプリントゴールへ影響する問題は無いか、考えることが大切です。
解決方法
- 最初に全員で、デイリースクラムの目的を確認してから始める。
- 進捗や課題に対して、スクラムマスターが開発者の発言を引き出すように調整する。
パターン2.他の参加者の話に興味をもたない
他の参加者の報告に興味をもたず、話を聞いていなかったり、別の作業を行ったりしている参加者がいるという場合があります。
開発チームメンバー間の綿密なコミュニケーションによる柔軟な対応は、スクラム開発の大きなメリットです。
にもかかわらず、参加者がデイリースクラムに実質的に参加しなければ、この大きなメリットは発揮できません。
解決方法
- デイリースクラムはオンラインで行わず、対面で行うようにする。
- スクラムマスターが、開発チームメンバー間の意見交換を促す。
パターン3.15分以内に終わらない
デイリースクラムで課題や問題点の解決に関する議論が膨らみ、15分以内に終わらないケースもよくあります。
15分を超える課題・問題点は、デイリースクラムで対応するべきものではなく、別途時間を取って対応するべき課題・問題点です。
このため、デイリースクラムは、必ず15分以内に完了できるようにしていくことが大切です。
解決方法
- 最初に15分というタイムボックスを全員で確認する。
- タイマーを用いて終了時間を明確にする。
- 15分以内で解決できない問題は、人数を絞ったミーティングを別に設定する。
デイリースクラムが15分以内に終わらないことは、それ自体が問題なのではありません。
15分を超える議論があるということは、それだけ重要な課題・問題点が発覚したことを意味します。
デイリースクラムの参加者は、こうした側面をむしろ積極的に評価するべきです。
チームにとって最適なデイリースクラムを模索しよう
スプリントゴールの達成には、参加者がデイリースクラムの目的を理解し、情報共有と協力の重要性を認識することが大切です。
また、デイリースクラムに限らず、問題があればその都度必要な参加者同士でコミュニケーションをとっていくことは必要です。
基本を押さえた方法でデイリースクラムを実施し、その上でチーム特定のニーズや状況に応じて調整や変更をしていきましょう。
改善を繰り返しながら、チームにとって最適なデイリースクラムを探していきましょう。
まとめ
デイリースクラムとは、毎日同じ時間にスクラムチームで集まり、情報や進捗、課題などの共有を短時間で行うミーティングです。
デイリースクラムはスプリントゴールの達成に向けて、現状の確認と再計画を行うことを目的としています。
しばしば形式的なものになってしまうため、参加者がデイリースクラムの目的を理解し、効果的に実践してくことが重要です。
毎日同じ時間・同じ場所で15分以内で終えること、昨日やったこと・今日やること・課題や問題点の3点を共有することなどのポイントがあります。
アジャイル開発において、デイリースクラムはチームの協力と効率を向上させるための重要な活動です。
必要に応じて改善を繰り返しながら、チームにとって最適なデイリースクラムを形成していきましょう。
デイリースクラムに関するよくある質問
- そもそもデイリースクラムは必要ですか?
- プロジェクトがわずかな開発チームメンバーで構成されており、進捗状況の共有や相談が容易に行える環境であれば必要ないかもしれません。
しかし、チームの連携や成長を促進したり、スプリントゴールへの問題を早期発見・対処したりできる点で非常に有効です。
特に、スクラム開発を始めたばかりのチームには必須のイベントといえます。
- デイリースクラムは朝行うのが良いですか?
- 「朝会」として行う企業が多いですが、必ずしも朝に行う必要はありません。
デイリースクラムは、朝に行うことよりも参加者が全員参加していることが重要です。
参加者が必ず参加できる時間帯に設定しましょう。