近年、さまざまな企業で採用されることの増えている“スクラム開発”という手法。しかし、実はその概要やメリットがよく分からないという方もいらっしゃるのではないでしょうか?そんなあなたのために、今回はスクラム開発の基礎知識について取り上げてみたいと思います!
スクラム開発ってどんなもの?
ソフトアウェアの開発には、従来の主流であるウォーターフォール開発と、2000年あたりから採用する企業の増加しているアジャイルソフトウェア開発の、主に2つの手法があります。
アジャイルソフトウェア開発では、一か所に集まった少人数の開発チームが、目的の達成のために協力しあいながら作業を進めます。また、ウォーターフォール開発のように、一度決定した計画を絶対のものとはしません。各メンバーや関係者からのフィードバックを定期的に得ながら、柔軟に計画を調整し、さらに一度にまとめてすべての機能を作るのではなく、1つの期間ごとにいくつかの機能を追加開発していく手法です。
アジャイル開発には、ソフトウェアプロセスから無駄を取り除くことを目的とした「リーン開発」や、ドメインのモデルを作成を基礎とする機能駆動型開発(FDD)など複数の手法がありますが、スクラム開発はアジャイル開発の代表的な手法の一つで、中でも“チームのコミュニケーションを重視した手法”であることが特徴で、次のような要素を持っています。
■スクラム開発の要素
・プロダクトへの要望を優先順位ごとに並べかえ、その順に機能を作る。
・固定の短い期間(1~4週間程度)の単位で開発を区切り、その中で計画を立てる。
・プロジェクトの状況や進め方に問題がないか、メンバー同士で毎日確認しあう。
・作っている機能が正しいかどうか、定期的に確認の場を設ける。
※『スクラム(Scrum)開発』:
ラグビーで両陣が、8名ずつ肩を組んで一つの集団を作り、ぶつかり合う際のフォーメーション「スクラム」が語源。その姿から集団が力を合わせることを”スクラムを組む”と表現することもある。
スクラム開発のいいところって何?
それでは、スクラム開発はどのような点が優れているのでしょうか?
■短い期間で、最大限の成果をあげる
スクラム開発では、優先順位の高い機能から順に開発を進めていきます。そのため短い期間であっても、あげられる成果が非常に高いのです。
■作業の工数見積もりが正確になる
ウォーターフォール開発では、「プロジェクトの工数見積もりが上手くいかない」ということがデメリットとしてよく挙げられてきました。
それもそのはずで、ウォーターフォール開発ではプロジェクトの最序盤の段階で数か月・数年も先のことを見積もりするため、そもそも難易度が極端に高いのです。スクラム開発では短い期間ごとに開発を区切り、その単位で計画を立てていくため、作業の工数見積もりは比較的正確になります。人は、数週間先くらいのことであれば予想しやすいからです。
■自立的なチーム作りができる
スクラム開発では短く区切った開発期間ごとの工数見積もりを、各開発メンバーが自分で立て、期限を切ります。それに対しチームからの了承を得て進行するため、より一層各自に責任が発生するのです。セルフマネジメントはもちろん、自分のタスク以外も、チームの成果として計画を達成するにはどうしたらいいかを全員で考える必要があるので、それぞれの視野が広がり、自立的なチーム作りが促進できます。
■チーム内で発生している問題の検知が早い
スクラム開発では、日々ミーティングを行います。その中で、「困っていること」や「分からないこと」を素直に話すことが推奨されているのです。そのため、チーム内で問題が発生している場合でもすぐに検知することが出来ます。
■早めに軌道修正が出来る
ウォーターフォール開発では、プロジェクトの最終盤にならなければ、顧客は動いているプロダクトを見ることが出来ません。そのため、納品した後に「思っていたものと違う!」とトラブルになるケースがよく発生していました。スクラム開発では、作っている機能が正しいか定期的に確認の場を設けるため、もし顧客の要望と違うものを作っていても早めに気付けるのです。
関連する記事