1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

一番人気のアジャイル開発手法スクラムのメリット・デメリット

Pocket

はじめに

まだウォーターフォール型の開発を続けていますか?

ウォーターフォールが悪いというわけではありませんが、別の開発手法に目を向けてみることも必要です。よくウォーターフォールと対比される開発手法にアジャイルがあります。
アジャイル開発手法はいくつか種類がありますが、その中でも一番人気があるのは「スクラム」です。

この記事では、アジャイル開発手法を知りたいエンジニアの方のために、スクラムについて概要からメリット・デメリットなどをお伝えしていきます。

スクラムはどんな開発手法なのか?

スクラムはアジャイル開発手法のひとつで、3人~9人ほどの少人数のチームで開発を行います。
もし開発対象が大きすぎる場合には、少人数のチームを複数作り開発に当たります。

スクラムでは開発メンバーの他に、特定の役割を持ったメンバーがいます。
ひとりはプロダクトオーナーといい、製品の責任者です。
顧客とやりとりし、製品にどのような機能をもたせるのか決定します。
スケジュールや予算の管理なども行います。

もうひとりはスクラムマスターといい、チームリーダーのような存在です。
チームの調整役となり、スクラムを適切に実践し、外部からの無理な要求などからチームを守ります。

スクラムでは開発期間を数週間のスプリントという単位に区切り、スプリントを繰り返すことで開発を進めます。各スプリント内では、まずプロダクトバックログという開発する機能のリストを作成します。
それからスプリントを開始するためのミーティングを行い、開発に着手します。

毎朝デイリースクラムという日次ミーティングを行い、15分ほどの時間を使って実行したことやこれから実行することを報告します。スプリントの終わりには、成果物のレビューや振り返りを行い、次のスプリントに向けて改善点を見つけます。

スクラムのメリット

ムダな機能が開発されることが少ない

スクラムではスプリントごとに開発する機能をリストアップし、スプリント後には動作するソフトウェアが得られるため、ユーザーからのフィードバックを早期に得ることができ、適宜方向修正してムダな機能が開発されることを防ぐことができます。

リリースまでの期間が短くなる

スプリントごとに動くソフトウェアが開発されるため、リリースに必要十分な機能が揃った段階でリリースすることができます。
また、機能を限定してアルファテストやベータテストを行ってもよいでしょう。

変化に対応しやすい

スプリントごとの成果を元に、次のスプリント計画を柔軟に修正できます。
ユーザーが実際にソフトウェアを使ってみると、だんだんソフトウェアに必要な機能や不要な機能がわかってくるため、要求の変化に応じて実装する機能を見直すとよいでしょう。

スクラムのデメリット

プロジェクト完了までの見通しを立てづらい

スクラムでは変化を受け入れるため、プロジェクト期間が伸びてしまう場合もあります。
スプリントの期間は決まっているものの、何回スプリントを繰り返すかは開発初期には予測が難しいでしょう。とはいえ、重要な機能を先に実装してリリースすれば、ユーザーは早期に製品を利用できるようになります。

ユーザーにも協力してもらう必要がある

アジャイルソフトウェア開発では、ユーザーもチームの一員です。
ユーザーからの適切なフィードバックがなければ、プロジェクトの方向性を適切に決定することはできないでしょう。

不特定多数に公開するサービスなどの場合には、フィードバックフォームを用意するなどして、ユーザーの声を集めましょう。

まとめ

スクラムなどのアジャイル開発手法はウォーターフォールとは大きく異なるため、はじめのうちは慣れが必要です。安易に導入して失敗すると“やっぱりウォーターフォールでいいや”ということになりかねないので、知識を得た上でまずは小さなパイロットプロジェクトで導入してみましょう。

現場に合わせてカスタマイズしたり、エクストリームプログラミングと組み合わせたりするのも良い方法です。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る