アジャイル開発とは?2つの代表的な手法

みなさんは、「アジャイル開発」という言葉を聞いたことがありますか? IT業界にいる方なら、おそらくよく耳にする言葉ではないかと思います。ここでは、初めてアジャイル開発という言葉を聞いたという方や、よく聞くけど、あまり詳しくは分からないといった方のために、この言葉の意味や歴史、現状などについて詳しく説明させていただきたいと思います。

アジャイル開発とは?

アジャイル(agile)という言葉は、英語で「俊敏な」「迅速な」という意味です。アジャイル開発とは、素早く軽量なソフトウェア開発の手法のことで、従来の計画駆動型の重量級な開発手法(ウォーターフォール開発手法など)とは異なっています。

アジャイル開発は、開発を進めていく中で仕様や設計の変更があることを前提とするため、最初から綿密に仕様を計画するのではなく、大まかなプランにもとづいて、小単位で開発を進めていくというやり方です。2001年にIT業界において著名な人々が集まり、アジャイルソフトウェア開発宣言をまとめたことがきっかけで広まったと言われています。

>>「【2018年版】アジャイル開発向けのプロジェクト管理ツール」を読む

アジャイルソフトウェア開発宣言

アジャイルソフトウェア開発宣言には以下のようなことが書かれています。

「私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。この活動を通して、私たちは以下の価値に至った。プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を、価値とする。すなわち、左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく。」(アジャイルソフトウェア開発宣言(http://agilemanifesto.org/iso/ja/manifesto.html)

このような考え方の下で、アジャイル開発は、従来のやり方とは異なる革命的な手法として発信され、欧米を中心に浸透していきました。

アジャイル開発の具体的な手法

アジャイル開発はあくまでソフトウェア開発における全体的なコンセプトであり、その概念にもとづいた手法は複数存在します。その中でも、実際に多くの企業が取り入れているのが、「XP(エクストリームプログラミング)」「スクラム」という手法です。ここではこの代表的な2つの手法について見ていきましょう。

XP

XPは、プログラマー中心の開発手法で、特に技術的な実践を重視しています。1990年代後半に入って、著名なプログラマーであるKent Beck(ケント・ベック)氏らによって考案されました。XPの中心には、「コミュニケーション」「シンプル」「フィードバック」「勇気」の4つの価値観があります。

「コミュニケーション」は、プロジェクトにおけるコミュニケーション不足を積極的に解消する姿勢を表します。「シンプル」は、プログラマーが陥りやすい過度な実装をなくし、無駄をなくすことを意味しています。また「フィードバック」は、クライアントやユーザーからのフィードバックを積極的に得ることで、重要な部分を把握し、「勇気」はこれら3つの価値を実現するための変化を受け入れる姿勢を表しています。

これらの価値を実現するためにいくつかの実践方法が定義されていますが、その中でも特徴的なのが、サイクルタイムとペア・プログラミングです。サイクルタイムは、開発期間を1~2週間という短い期間に区切り、「設計→実装→テスト→リリース」を繰り返すことです。そうすることで、クライアントからより早くフィードバックを得ることができます。

一方、ペア・プログラミングは、2人1組となってプログラミングを行なうやり方で、1人がコードを書き、もう1人がコードのレビューや全体の設計の確認をすることで、よりリアルタイムでディスカッションを図ることができるプラクティスです。

スクラム

スクラムは、技術的な概念ではなく、チーム一体となってプロジェクトを進めることに重きをおいた手法です。その名のとおり、言葉の語源はラグビーなどのスポーツから来ています。スクラム開発は、1986年に竹内弘高氏、野中郁二郎氏が発表した論文をもとにJeff Sutherland(ジェフ・サザーランド)氏らが1993年に考案、適用した手法です。スクラム開発では、チーム一体となって活動するためのプロセスが定義されています。

プロセス1) デイリースクラム(朝会): 短時間で現状の共有をするため、毎朝朝礼を実施
プロセス2) リリースプランニング: プロジェクト立ち上げ時に、優先順位や工数についてチーム全体でプランを立てる
プロセス3) スプリントプランニング: 約1~4週間のイテレーション(開発期間サイクル)で、どのくらいの範囲の機能を実現するかについて、チームでプランを立てる
プロセス4) スプリント: ひとつのイテレーションにおける開発フェーズ。ステップ3で立てたプランをもとに開発を進める
プロセス5) スプリントレビュー: ひとつのイテレーションで開発したもののデモを行ない、ステークホルダとともにレビューする
プロセス6) ふりかえり: スプリントごとにチームでふりかえりを行い、次のスプリントに活かす

このようにスクラム手法は、プロセスが中心なので、ソフトウェア開発以外のプロジェクトにも取り入れることができるやり方なのです。

アジャイル開発の現状

それでは現在、実際のソフトウェア開発において、どのくらいの企業がこのアジャイル開発を取り入れているのでしょうか?

欧米とは異なり、日本ではなかなか浸透しなかったアジャイル開発ですが、2017年4月に実施された株式会社SHIFTによる調査では、日本の約7割のIT関連企業がアジャイル開発を導入していると回答しました(対象:IT関連企業85社)。そのきっかけとして一番多かったのは、「ビジネス要求のスピードに対応するため」という回答でした(72%)。

しかし、アジャイル開発を導入している企業のうち、約6割の企業で、アジャイル開発に実際に取り組んでいるのは全体組織の25%であると回答しています。このことから、アジャイル開発はそれぞれの企業の組織全体にはまだ広まっていないことが分かります。その原因としてあげられているのが、「アジャイルに対する理解度が組織全体ではばらつきがある」もしくは「識者がほとんどいないため、アジャイル開発に求めていた効果や結果が出ていない」といった内容で、今後さらにアジャイル開発を推進していくためには、社内トレーニングや具体的な好事例のシェアなどが必要だということが明らかになっています。

まとめ

競争の激しいIT業界では、よりスピーディーな対応が求められることが多く、短期間で成果を生み出すことのできるアジャイル開発は非常に効果的です。

しかし、日本においてアジャイル開発実践の歴史はまだ浅く、経験者も少ないことから、今後この手法を広げていくためには、積極的な取り組みが欠かせません。まずはさまざまなプロジェクトからアジャイル開発の基礎をおさえて、この手法の強みを理解したうえで、実践していただければと思います。

プロジェクト管理の悩みに効くサプリ

現代の複雑化したビジネスの世界であなたのプロジェクトを成功に導くためには、高いレベルでプロジェクトを管理していかなければなりません。
そのために必要になるプロジェクト管理のための方法論とツールについて学んでいきましょう。

詳細を確認する

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

最新情報をお届けします

同じタグのついた記事

同じカテゴリの記事