APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Sprintの開始日を木曜日にしている理由

はじめに

Scrumを採用しているチームは多いのではないかと思います。またこれから採用しようかなと思ってる方も多いのではないでしょうか。 ScrumではSprintと呼ばれる短い期間を設定し、Sprintを1つのターンとし、そのターンを何度も繰り返しながら開発を進めます。

ではそのSprintというターンは何曜日に始めるのがよいでしょうか?きりのいいところで月曜日開始〜金曜日終了でしょうか?

私の所属しているチームでは、2週間をSprint 1ターンとし、木曜日開始〜水曜日終了としています。

中途半端な感じがしますか?実はこの設定には私達なりの意味があります。 今回はなぜ木曜日開始にしているかをご紹介したいと思います。

要件

開始時や終了時の各種ミーティングは概ね教科書に沿って実施しますが、その他の細かい点として 最初にSprintをいつ始めるかを考えたときの要件は以下の通りです。

  • リリース前に念の為一通りのテストを手動で実行する(各種ブラウザ、モバイル端末などで表示などを人間の目で確認するというところが主な確認ポイントです)
  • 通常終了日にはそのSprintの成果物をリリースする
  • リリース後なにか問題があった場合は、緊急で対処またはいったんロールバックして次スプリントで対応とする。
  • 長期間Sprintを繰り返していくことになるため、基本的に週末は休息にあてる(積極的に休息する)。

開始曜日/終了曜日の検討

開始・終了曜日をパターンにわけ、上記要件に沿って検討しました。

月曜日開始〜金曜日終了

金曜日に成果物をリリースすると、最悪なにか問題が起きるのが週末になります。ロールバックするにせよ、何らかの対応はしなければならない。そういった想定を考えると、できれば週末は休息にあてたいという部分に反します。

火曜日開始〜月曜日終了

月曜日に成果物をリリースします。リリース後の稼働状況を見る時間はたっぷりあるのでその点は問題がなさそうです。 リリース前のテストという視点ではどうでしょうか?月曜日リリースという場合、なんとか作ってきたものをリリースに 入れ込みたいと週末に頑張ってしまうことがよくあります。場合によっては週末にみんなでテストするということも起きます。 できる限りこうした状況になりにくい設定にしたいものです。

水曜日開始〜火曜日終了

概ね問題はないように思います。

木曜日開始〜水曜日終了

概ね問題はないように思います。

金曜日開始〜木曜日終了

木曜日に成果物をリリースし何事もなければそれほど悪くはありません。ただ、週末に入る前にもう少し稼働状況を見ておきたいと感じます。

選択

検討の中で比較的よいと考えられるのが 水曜日開始〜火曜日終了 ないしは 木曜日開始〜水曜日終了 の2通りでした。 どちらでもよかったのですが、リリースを週の真ん中にすることで、リリースに向けた作業を月・火で行え、リリース後も木・金と状況を見ることができる、両面にバランスがよいという判断で 木曜日開始〜水曜日終了 を選択しました。

最後に

何曜日にSprintを開始するか。そんな小さなことどうでもいいのではと思う方もいるかと思います。 実際どのように設定してもよいと思います。しかし、ほんの小さなことでも意味を考えることは重要だと私達は考えています。

みなさんのところはどのように考えますか?