スクラム開発とは?
まずは、スクラム開発がどのようなものなのか見ていきましょう。
コミュニケーションを主体とした開発手法
スクラム開発とは、短期間で開発を行う「アジャイル開発」における手法の1つです。開発メンバーのチームワークを重視することが特徴で、プロジェクトの生産性と品質を向上させます。
また、チームで開発を進めるため、メンバー間のコミュニケーションを密に取ることが大切です。主にソフトウェア開発で用いられますが、スクラムの考え方は開発以外でも使われます。
短いスパンで工程を区切って進める
スクラム開発は、アジャイル開発の中でも特に短い期間で開発工程を区切って進めます。この短い開発期間を「スプリント」と呼び、1週間から4週間単位で組まれることが多いです。
このように各工程を短く区切り調整を行うことで、工数の見積もりを正確に行える上、問題も早期発見できます。また、必要な機能から順番に開発を進めるため、失敗も少なくなるでしょう。
しかし、短期間で開発を進める必要があるため、より濃密なコミュニケーションを求められます。
PO・SM・開発チームで進める
スクラム開発を進める際には、以下の人員が関わってきます。適切にプロジェクトを進めるためには、それぞれが自分の役割について理解して行動しなければなりません。
- PO(プロダクトオーナー)
- 開発するプロダクトの責任者のことです。具体的には、開発するソフトウェアに必要な機能や、優先順位を決めます。
- そのため、プロジェクトの方向性を現場で開発するメンバーに共有することが主な仕事です。基本的にPOは実際の開発は行わず、スケジュールや予算の調整を行います。
- SM(スクラムマスター)
- スクラムマスターとは、開発チームのリーダー的な存在です。POを支えつつ、プロジェクトが成功するためにチームをまとめて指揮します。開発メンバーと兼任する場合もあります。
- 開発チーム
- プロジェクトの開発を行うメンバーのことです。ただ作業をするだけでなく、自分の意見を出して開発に貢献することが求められます。
スクラム開発(スプリント)の流れ
では、具体的にスクラム開発はどのような流れで行われるのかを見ていきましょう。
1.計画を立て、実施する
スプリントの第1段階では、どのように開発をするか計画を立てることから始めます。
まずは、プロジェクトで必要になる機能の一覧(バックログ)から、当該スプリントで実装する機能を選びます。基本的にスクラム開発の場合、優先順位が高い機能から順番に開発していくことがポイントです。
このようにスプリントの中で実装する機能一覧のことを「スプリント・バックログ」と呼びます。スプリント・バックログを決める会議は「スプリントプランニングミーティング」です。このミーティングで決めた内容を実施していきます。
2.進捗報告を行う
スクラム開発では、毎日決まった時間に会議を行います。このことを「デイリースクラム」と呼び、日ごとの進捗報告を実施し、進捗状況に応じて1日の作業を決めます。
スクラム開発はコミュニケーションを重視して開発を進めるため、報告する機会が多いのが特徴です。プロジェクトの進み具合だけでなく、今後の開発の課題となるような要素も共有しましょう。
このデイリースクラムは短時間で行い、正確に状況を把握することが求められます。
3.機能の評価を行う
開発がある程度進み計画していた機能を実装できれば、その都度機能のテスト・評価を行います。この機能の評価を実施することを「スプリントレビュー」と呼び、スプリントの最終日に実施します。
主に、第1段階で決定したバックログの基準を満たしているかが評価のポイントです。また、このレビューの結果によっては仕様変更により、再度バックログを作成する場合もあります。
4.スプリントを振り返る
アジャイル開発は単一のスプリントで完了することはなく、何回かスプリントを繰り返します。そのため、各スプリントの最終日にはレビューと同時に当該スプリントの振り返りを行います。課題がある場合は、次のスプリントに備えて改善計画を立案しましょう。
スクラム開発の課題
適切にスクラム開発を実施するために、あらかじめスクラム開発の課題を押さえておきましょう。では、具体的にスクラム開発にはどのような課題があるのか紹介していきます。
チームメンバーによって開発の質が左右する
スクラム開発はチームワークを最大限活用し、効果的に開発を進めていきます。もし、開発にスクラムで決まった方向性に賛同できない非協力的なメンバーがいれば、適切に機能しません。
また、メンバーの技術レベルに大きな差がある場合だと、教育が必要になり余計に時間がかかるでしょう。そのため、ある程度まとまった期間に同じメンバーで開発することが求められます。入れ替わりが発生すると失敗しやすいです。
計画にブレが生じる可能性がある
スクラム開発は、仕様変更に柔軟に対応するアジャイル開発の手法であることを忘れてはなりません。いくら濃密なコミュニケーションを行っていても、ユーザーが仕様変更を求めれば開発期間は長くなります。
このようにスクラム開発では、スプリントを何回行うのか決まっていないため、計画が狂う可能性が高いです。順調にいけば開発期間を短縮できるものの、変更が多いと失敗しやすいため注意してください。
スクラム開発に失敗しないポイント
スクラム開発で失敗しないためには、まず、アジャイル開発に対する理解を深める必要があります。アジャイル開発は仕様変更に対して柔軟に対応できますが、万能な開発方法ではありません。
変更が発生すれば、開発期間の延長とコストが増大してしまいます。このことは開発メンバーだけでなく、プロダクトオーナーやユーザーも把握しておく必要があります。
適切にスクラム開発を実施するためには、事前に必要最低限な知識を身につける期間を設けると良いでしょう。アジャイル開発について理解していれば、ユーザー側も無茶な仕様変更を行わなくなります。
スクラム開発の特徴を理解して効果的にシステムを開発しよう
スクラム開発はアジャイル開発の中でも効率的に開発を行える手法です。
しかし、チームワークを重視するため、開発メンバーの質によってプロジェクトの質も大きく変わってしまいます。また、計画の全体像も掴みにくいでしょう。まずは、アジャイル開発に関する知識を深めることが大切です。
スクラム開発の特徴を押さえて、効果的にシステム開発を実施しましょう。