デイリースクラムで一日の計画を立てよう

私が所属しているROXXのagenbank事業部の開発チームでは、スクラムを取り入れています。 前回、スクラムのふりかえりについての記事をかきました 今回は開発チームで行っているデイリースクラムについて書いていきます。

今やってること

今、私達は朝昼夕と1日に3回、決まった時間にデイリースクラムを行っています。 一見、「そんなにやって意味あるの?」「時間の無駄じゃない?」などの声があがりそうですが 私は、ちゃんと目的意識を持って取り組めばとても意味があり効果的なものだと考えています。 ただし、スクラムメンバーがデイリースクラムを行う目的、価値を理解して行わないと効果は発揮しません。

朝会

一日のゴールを達成できるよう、効率よく作業を進められるようその日一日の計画を立てる場です。 前日からの状況、次のタスクの状況、さらには人員リソースの状況を鑑みて、効率の良い進め方を模索します。 また、不確実性が高いタスクをウォッチしてできるだけ計画に影響をきたさないようにします。

やってること

  1. 追加タスクの確認
  2. 一日の進め方を決める
  3. ウォッチする不確実タスクの確認

1. 追加タスクの確認

プランニングでは計画していなかった割り込みタスクや、スプリントのゴールに達する上で足りていなかった追加タスクを確認します。 このようなタスクはプランニングの時点では発生していなく、メンバー全員できちんと話せていない可能性が高いのでここで確認します。

2. 一日の進め方を決める

予めプランニングで一日の進め方は決めていますが、日々状況は変わります。 現在の状況を踏まえて、その時点での最適な一日の進め方を決定します。

3. ウォッチする不確実タスクの確認

ここでいう不確実性が高いとは - 開発チーム外の人が絡んでいる - 調査してからでないとタスクが進められない - 仕様がきちんと定まってない

などのことです。

不確実性が高いタスクが存在していると、進捗が遅れる可能性も高いです。 不確実なタスクをウォッチし、一日の進め方に対してどれくらいの影響をきたしているかを見極め、アクションを取ります。

昼会

午前中のタスクの進捗状況を全員で確認し、朝会で確認した一日の計画を達成するために午後の作業の進め方を調整する場です。 タスクの進捗状況によっては、タスクのアサインの変更やヘルプ依頼などあらゆる手段を用いて一日の計画を達成できるよう模索します。

当初、昼会は行っておらず昼の時点で進捗確認はしていませんでした。 「チームでプランニングしたインクリメントをスプリント内で作りきれない」というProblemが発生し、その改善策として行うことになりました。 1つのタスクに取り掛かるとそれを終わらせることに集中してしまい、全体の進捗がどうなっているかまで意識が回らないです。 全員で進捗を確認し、その進捗に対してアクションを考える場をつくることでタスクの進捗、午後の動きについてチーム全員で共通認識を得ることができます。

やってること

  1. 遅延タスクについての遅延要素の確認
  2. 午後の進め方を決める

1. 遅延タスクについての遅延要素の確認

現在各タスクがどのような状況なのかを、全員で確認し、進捗状況の認識を合わせます。 一日のゴール(一日に完了すべきタスク郡)に対して未完了のタスクや先取りしているタスクを確認し、現在の進捗を客観的に判別します。

ここで一番重要なのは、遅延しているタスクについてです。 遅延しているタスクは何らかの遅延要素が発生しているはずです。一日のゴール設定にも影響が出るため、この時点でしっかり検知をし、一日の予定に影響が出ないよう対策を立てます。

「現在自分が着手しているタスクで想定外に時間がかかっている箇所はないか?」 「仕様が不透明なまま進めてしまっている箇所はないか?」 などを考えこの場で共有する必要があります。

遅延理由を言いやすい雰囲気をつくる

弊社の開発チームではそんな人はいませんが、遅延していること自体を責める発言は良くないです。 重要なのは遅延要素を特定し、それに対してアクションを取ることです。 しかし、自ら遅延している理由をスラスラ話すことができないメンバーもいると思います(僕自身、どっちかというとそういうタイプです) そういう場合は、「不安なことはありませんか?」「困っていることはありませんか?」などの問いかけで出てくることもあります。

自分ごととして考える

タスクの遅延要素は自分で気がつけないこともあります。 他の人がやっているタスクでも「何故遅延しているのか?」、「こうした方がいいんじゃないか?」などを考えることで 遅延要素に気がつく為の目が増え、一日のゴールに向かいやすくなります。

2. 午後の進め方を決める

遅延タスクが発生している場合は、そのタスクの対応を踏まえた計画を作り、午後の進め方の共通認識を得ます。 遅延タスクの対応というのは例えば、 - 仕様が不透明なものがあったら、全員で話す場を設定する - 実装上詰まっているところがあれば、ヘルプ依頼をする

などです。

共通認識を得て、全員が同じ方向を向いていることが重要です。 共通認識を得ていないと、後でまた進め方の話になり昼会の時間が無駄になったり、効率的に進められず一日のゴールに到達しない可能性が高くなるからです。

夕会

書こうと思いましたが時間切れです。 弊社の開発メンバーのniisanが書いた記事を読みましょう。 一日のふりかえりにYWTやってみた

まとめ

一日に3回もデイリースクラムをしているスクラムチームは少ないのではないでしょうか。 重要なのは回数ではなく、スプリントのゴールを達成するために計画を立てることなので、チームの状況に合わせて行えば良いと思います。

おまけ

ROXXでは開発チームのメンバー(エンジニア/デザイナー)を募集しています。 少しでも興味がある方は、私のtwitterにご連絡お願いします。

twitter:@r_sato1201