目次

スクラム開発とは?プランニングなどのやり方や時間など【プロダクト】

本サイトはアフィリエイトプログラムを利用した広告を表示しています

ウェブサービスやアプリは「なにをつくるか」が重要ですが、開発を効率的に行うための「どうつくるか」、つまり開発手法もプロダクトを成功させる要素のひとつです。この開発手法の代表的なものにスクラム開発という手法があります。

スクラム開発を導入することで、ユーザーに継続的に価値を届けつつ、プロダクトの価値の最大化をめざすことができます。この記事ではスクラム開発とはなにか、導入する目的ややりかたについて書いていきます。

著者
Hiroki Zenigami

テクニカルライター。元エンジニア。共著で「現場で使えるRuby on Rails 5」を書きました。プログラミング教室を作るのが目標です。

スポンサーリンク

スクラム開発とは

スクラム開発はアジャイル開発における手法のひとつで、ユーザーに継続的に価値を届けるための体系化された開発手法です。「継続的に価値を届ける」というところがポイントです。

というのも、プロダクトは最初からすべての仕様が決まることはありません。つくったものをユーザーに見てもらってフィードバックをもらい、結果をもとに改善していきます。

このプロセスをいかにすばやく繰り返せるかが重要なのですが、これをつき詰めた開発手法がスクラム開発というわけです。スクラム開発では、プロダクトだけでなく開発チーム、作業環境なども継続的に改善することができます。

スクラムガイド

スクラムガイド

スクラム開発については、無料で読める「スクラムガイド」という文書に目をとおすことをおすすめします。原文は英語ですが、角征典氏らによって翻訳された日本語版も同サイトより読めます。スクラムガイドにもあるように、スクラム開発は「どういうチーム」で「どういうイベント」を行うかについて定義しています。この記事では、イベントに焦点を当ててスクラム開発のやりかたについて書いていきます。

なぜスクラム開発がよいのか

スクラム開発は、ユーザーに継続的に価値を届け、プロダクトの価値を最大化するために行います。プロダクトは、機能の仮説を立てて開発し、リリースします。その結果を検証して次の仮説につなげます。このプロセスをすばやく繰り返すことで価値の最大化をめざします。ただ、これは簡単なことではありません。

どの機能を優先してつくるか、どの機能を次のリリースにふくめるか、どの機能を削除するか。あるいは発生したバグをどうするか。こういった要件は日々変わっていきます。このため、開発を管理する手法には、要件の変更に柔軟に対応できるようなフットワークの軽さが求められます。

開発する上で重要な点

では具体的にどのような開発手法であればよいのでしょうか。上で書いた「フットワークの軽さ」ということばをかみ砕くと、開発手法を決める上で重要な点は次の5つがあります。

  • 高い頻度で変更をユーザーに届けられること
  • バグなど緊急の問題にすぐ対応できること
  • 開発の対応状況や直面している課題がわかること
  • つくるものの内容や優先順位を変更しやすいこと
  • 開発方法自体を継続的に改善できること

スクラム開発はこれらを満たす、すぐれた開発手法です。たとえ開発者がひとりだったとしてもこれらの恩恵は受けられるため、採用すべきといえます。

スポンサーリンク

スクラム開発のやりかた

それではスクラム開発のやりかたについて書いてきます。スクラム開発はスプリントという期間の中で開発します。このスプリントの中でいろんなイベントを行うことでプロダクトをつくっていきます。

スプリントを設定する

なにをつくるかを決めて開発し、リリースする。その結果を検証し次につくるものに反映させる。このプロセスを短い期間で繰り返すのがスクラム開発です。ここでいう「短い期間」がスプリントです。スプリントとは、どれくらいの期間を単位として開発に取り組むか、その期間をいいます。適切なスプリントは1週間や2週間など、1ヶ月以内の短い期間がよいとされています。

このスプリントの中で、次に書いていく5つのイベントを行っていきます。

プランニング

プランニングとは次のスプリントでなにをやるか、どうやるかを決めるイベントです。プロダクトのバックログを見ながら、やることを整理したり、具体的にどうやるかを決めます。実施時間は、スプリントが1週間ならプランニングは2時間以内で行います。

リファインメント

リファインメントとはバックログを見直すイベントです。バックログはプランニングで整理しますが、プロダクトの要件は日々変わってきます。この日々の変化に対応するために、プランニング以外にもバックログを整理する時間が必要です。これがリファインメントです。リファインメントの実施は必要に応じて随時行います。

デイリースクラム

デイリースクラムはやったこと、やること、課題を整理し共有するイベントです。毎日同じ時間に同じ場所で行うことで、開発にリズムを生むことができます。実施時間は15分以内で行います。

レビュー

レビューはつくったものをふくめた現在のプロダクトを見て、今後どうするかを話しあうイベントです。プロダクトの状況を確認するほか、メンバーからのフィードバックや協力を得る目的で行います。また、必要に応じてバックログを見直します。実施時間は、スプリントが1週間ならレビューは1時間以内で行います。

レトロスペクティブ

レトロスペクティブとはいわゆる「ふりかえり」で、開発の効率化などの観点でスプリントをふりかえるイベントです。KPTやYWTなどの手法を用いて行います。実施はレビューのあと、プランニングの前に行うと効果的です。スプリントが1週間ならレトロスペクティブは1時間以内で行います。

スポンサーリンク

イベントを習慣化する

前章で書いたイベントは、スケジュールに組み込むことで開発にリズムが生まれます。リファインメントは必要に応じて随時行うので、そのほかの4つのイベントを行う時間を決めておくとよいでしょう。たとえば次のスケジュールで行います。

曜日時間帯イベント
毎日10:00-10:15デイリースクラム
金曜日11:00-12:00レビュー
金曜日14:00-15:00レトロスペクティブ
金曜日15:00-17:00プランニング

スクラム開発におけるタスク管理

スクラム開発においてどうタスクを管理するかは、とくに定められていません。一般的にはかんばんを導入するケースが多いです。たとえばTrelloAsanaを使います。

まとめ

プロダクトの価値を最大化させるには、開発手法が重要です。スクラム開発はユーザーに継続的に価値を届けることで価値の最大化をめざすすぐれた手法です。スクラム開発はプランニングとリファインメント、デイリースクラム、レビュー、レトロスペクティブという5つのイベントをスプリント内で行い、これを繰り返すことでプロダクトをつくっていきます。

これらイベントを習慣化させることで開発にリズムが生まれていきます。たとえひとりで開発していても有用な開発手法なので、導入を検討してみるとよいと思います。

あわせて読みたい

著者
Hiroki Zenigami

テクニカルライター。元エンジニア。共著で「現場で使えるRuby on Rails 5」を書きました。プログラミング教室を作るのが目標です。

スポンサーリンク

ブログをはじめよう

技術ブログの始め方を、たくさんの画像で分かりやすく解説しました。これまでブログをやったことがない人でも、エンジニアにとって重要なブログを今日から始められます。

ブログをはじめる