今、世界中のソフトウェアの開発プロジェクトで取り入れられている「アジャイル」と言う開発手法があります。
その中でも特によく耳にするのが「スクラム」という開発手法です。
アジャイル?スクラム?となった方も多いかと思います。
自動車に例えると、アジャイルはコンパクトカーでスクラムはフィットといった感じです。
他の例えで言うと、アジャイルは果物でスクラムは桃というような関係性です!
今回は、まずアジャイル開発について説明し、そしてアジャイル開発の1つであるスクラムについて説明します。
目次
アジャイルとは?
まず初めに、「アジャイル」について説明します。
アジャイル(Agile)とは日本語で「機敏な」とか「素早い」という意味です。
そしてアジャイルソフトウェア開発とは「顧客の要望や変化に合わせて迅速に対応し、短期間で動く成果物を顧客に届ける」ことを目的としています。
何故、このような考え方がでてきたのか解説していきます。
ウォーターフォール型
プロジェクト管理手法については、古くからその手法を体系化してみんなで知識を共有しようという動きがありました。
その中で「ウォーターフォール」という開発手法が確立され、世界中の様々なプロジェクト管理に用いられてきました。
ウォーターフォール型の開発プロジェクトの特徴は、時系列で各工程を定義し、予め綿密な計画を立てた上でプロジェクトの情報や進捗を管理します。
ITの急速な発展
1980年代から1990年代にかけて、インターネットの爆発的な普及に伴い、ITが急速に発展しました。
そんな中で、非常に多くのソフトウェアが開発されてきました。
はじめはソフトウェア開発プロジェクトのほとんどが「ウォーターフォール型」の開発手法を用いていましたが、やがてITの急速な発展に伴い、顧客のニーズが多様化しまた短い期間で変化するようになってきました。
このような変化のスピードに、従来型の「ウォーターフォール型」開発手法で対応していくのは非常に困難になってきました。
アジャイルの誕生
ソフトウェア開発において、時代の変化のスピードに対応していくために、「アジャイルソフトウェア開発」という開発手法が考え出されました。
アジャイルソフトウェア開発では、ユーザーのニーズ、顧客の要望に素早く柔軟に対応することを目的としています。
この基本的な概念は「アジャイルソフトウェア開発宣言」で見られますので、この記事を読んでいる方は是非、そちらも目をとおしてください。
https://agilemanifesto.org/iso/ja/manifesto.html
また、補足として「アジャイルソフトウェアの12の原則」というものも公開されていますので、こちらも合わせてご参照ください。
https://agilemanifesto.org/iso/ja/principles.html
スクラムとは?
次に「スクラム」について説明します。
スクラムとは、アジャイルソフトウェア開発の考え方を基本とした開発手法の一つです。
スクラムという名前はラグビーのスクラムから取られたと言われており、「共通のゴールに向かってチームが一丸となって働くこと」を信条としています。
会社組織には様々な役割の人がいます。
誰もが会社の成長に向かって日々業務をしているかと思いますが、スクラムではその開発プロジェクトに関わる人たちに、より密なコミュニケーションを促し、プロジェクトにリソースを集中させてゴールを目指します。
スクラムはチーム内の役割も、「チーム」「プロダクトオーナー」「スクラムマスター」の3種類しかありません。
ここで言う「チーム」とは、スクラムの中で設計や実装、テストを実施する人のことを指します。
ウォーターフォール型開発では、それぞれの工程に役割がありますが、スクラムではチーム一丸となってゴールを目指すという意味において、あえて名前を分けていません。
「チーム」は作業プロセスと結果に責任を持ち、各々自らでチーム内の管理を行います。
「プロダクトオーナー」とは、製品の総責任者のことです。
顧客の要望を取り入れ、開発の優先順位を決めます。
プロダクトオーナーは、常に製品の市場価値を見定め、将来どのような価値をユーザーに提供するのかについて考え行動します。
そして「スクラムマスター」ですが、進行中のスクラムが正しく運用されているかを確認し、チーム内外の調整や妨害要因の対処をします。
ウォーターフォールのPM(プロジェクトマネージャー)には、そのプロジェクトに対して様々な責任と権限がありますが、スクラムマスターはあくまで調整役で、プロジェクトの管理や権限があるわけではありません。
スクラムについては以下の書籍が大変読みやすいですので、是非ご一読ください。
また、こちらの画像も全体がものすごく理解しやすくなっていますのでご紹介します。
まとめ
ひと昔前の言葉になりますが、IT業界はその技術革新や変化のスピードの速さから、俗に「ドッグイヤー」や「マウスイヤー」などと呼ばれるようになりました。
今回は、その変化のスピードに素早く柔軟に対応するためのアジャイル開発の一つ、スクラムについて解説しました。
近年、多くのソフトウェア開発企業でスクラムが導入されています。
スクラムはあくまで開発手法の一例ですので、スクラムを勉強されたら次は是非、実践して、自分のプロジェクトに合った形で運用してみてください。