fbpx

As Best Creative, Do Everything For a Goal…

Blog 社員ブログ

BLOG

社員ブログ

Web知識事業ハウツー
アジャイル開発とは?手法・種類、メリット、デメリットも紹介
2021/03/17

アジャイル開発を象徴したイメージ

システムやソフトウェアの開発にかかる時間は、導入する方法によって変わります。
そうしたなか、ニュータイプとして注目を集めているのがアジャイル開発です。
そのやり方は従来と大きく異なります。
開発に携わる方は、効率化を図るうえでも知っておきたいところです。

本記事ではタイトルの通り、アジャイル開発の手法と種類、メリット、デメリットについて紹介します。
興味・関心のある方は、ぜひ参考にしてみてください。

目次

アジャイル開発とは?

アジャイル開発を導入している組織

アジャイル開発とは、システムやソフトウェアを構築する際に利用されている方法の一つです。
要件定義、計画にはじまり設計、実装と続き、テストが行われます。ポイントは、これらの工程が機能単位の小さいサイクルで繰り返されることです。

優先度の高い要件から順に開発は進められます。それぞれの機能の集合体として全体の大きなシステムが形成されるイメージです。
急な仕様変更に強いのも特徴。プロダクトの価値を最大化することに重点を置いた開発手法だといえます。

アジャイル開発の由来

アジャイルとは英語の「agile」を指します。日本語に翻訳すると「動作が速い」「敏捷な」という意味です。“アジャイル開発”の名称の由来には思考のスピードアップも込められています。

次に歴史を遡りましょう。
発端は、2001年にアメリカのユタ州に17人の研究者が集まり開かれた会議のなかで発表された「アジャイルソフトウェア開発宣言」です。
「プロセスやツールよりも個人との会話」「包括的なドキュメントよりも動くソフトウェア」といった主張がしっかりと刻まれています。
文書内では機能面以外に対する言及も印象的です。
契約交渉以上に顧客との協調を大切にすることや、決められた計画に従うこと以上に変化への対応に価値があるといった趣旨もあわせて記載されています。

また、この宣言とは別に存在するアジャイル開発における基本的な原則も無視できません。顧客満足度の優先、価値の高いソフトウェアを短期間で継続的に提供することなどが、12の項目でまとめられています。いわゆるコンセプトのようなものと捉えていいでしょう。
正式には「アジャイル宣言の背後にある原則」です。機会があれば、チェックしてみてください。

アジャイル開発の手順

アジャイル開発の下、業務に向き合うスタッフ

アジャイル開発の手順に関しては、比較されがちなウォータープルーフ開発との違いからもその独自性がうかがえます。

まず、基本の流れは両者とも以下の通りです。

・要件定義を用意する。
・それを軸に、具体的な開発計画を立てる。
・計画書を基に、システムを設計する。
・設計に沿って実装する。
・実装されたものでテストを行い、状況に応じて不具合を修正する。
・修正後、運用に問題がないところまで確認する。

これらの各工程をシステム全体の規模において、一つずつ順番に行うのがウォータープルーフ開発です。結果、各工程にかかる時間が長くなる傾向にあります。

一方でアジャイル開発は、全体的な視点から開発していくのではなく、先述した通り、各部分に対して優先順位を設け、その順に対応します。もっとも時間を要する部分の作業を最初に行うことで、時間短縮が図れるというわけです。
ただし、決して作業量が減るわけではありません。要件定義から設計、実装、テストといった手順は各部分で適用します。つまり、一連の流れを実行する回数はウォータープルーフ開発よりも多いのです。
にもかかわらず、結果的には時間短縮へとつながります。いわば画期的なマジックです。その要素だけでも、アジャイル開発の概念が優れていることがわかります。

アジャイル開発で使われる手法の種類

アジャイル開発で使われる様々な手法

アジャイル開発のなかでもいくつかの手法が存在します。
それぞれ特徴が異なっているため、臨機応変に使い分けられるといいでしょう。
以下、主な種類を紹介します。

スクラム

アジャイル開発の代表的な手法として知られているのがスクラムです。
ピンときた方もいらっしゃるかもしれません。そう、名称自体はラグビーで使われる用語と同じです。本家は、選手同士が肩を組み、相手チームの選手とぶつかり合うフォーメーションを指すわけですが、まさに言い得て妙。アジャイル開発においても仲間同士の協力は不可欠です。したがって、開発に参加するスタッフ同士の話し合いが重視される傾向にあります。

スクラムではイテレーション(一連の工程を短期間で繰り返す開発サイクル)ごとに、スタッフが設計や実装を行います。
手順の章でも述べた通り、各イテレーションでシステム内の一部分ずつを完成させていき、最終的に全体像が創出されていく流れです。
なお、イテレーションに要する短期間のタイムボックスをスプリントと呼びます。開発チーム(スクラムチーム)は、スプリント内で要求される事項を完成させ、動作をチェックし、リリースの可否を判断していかなければなりません。問題ないレベルにまで調整が済めば、速やかに次の新しいスプリントを開始します。

エクストリーム・プログラミング

アジャイル開発では、エクストリーム・プログラミングも人気です。
特徴は、柔軟性。
事前に準備された具体的な計画があったとしても、開発の途中で何らかの不具合が発生した場合には、方向転換を検討する必要が出てきます。しかし、その判断を下すのは決して容易なことではありません。それまで順調であればあるほど、極力、計画通りに進めたいというのが当事者たちの本音でしょう。
だからこそ、エクストリーム・プログラミングが役立ちます。こだわりに固執せず、不安はつきまとうとはいえ、ある程度のリスクや遠回りに対して臨機応変に対応することが、いわば信条です。それゆえ、開発スタッフに求められる価値観は、コミュニケーションであったり、シンプルな方法論であったり、フィードバックだったり、そうした要素もさることながら、「勇気」が非常に大事なものとして位置づけられています。

FDD

FDDもアジャイル開発でよく使われています。
「Feature Driven Development」の略称で、日本語に訳すと「ユーザー機能駆動開発」です。言葉の意味をそのままトレースしても問題ないでしょう。要するに、ユーザーにとっての機能価値を重視して開発が進められる方法だといえます。

実際には、依頼者の事業内容を目に見える形に変え、必要となる機能を探り出していく作業が中心です。その要素を抽出できれば、あとは例に漏れずアジャイル開発の方針を踏襲します(短期間でソフトウェアの開発を繰り返し、一つのシステムを作り上げていきます)。

アジャイル開発のメリット

アジャイル開発の明るい面

アジャイル開発のメリットは、(先にも触れましたが)システムの開発を従来の方法よりも短期間で行えることです。言い換えるならば、効率よく作業に取り組めます。
ウォータープルーフ開発では、制作の途中で不備が生じてしまうと前の工程からやり直さなければいけないこともあるため、不具合の内容によっては修正に多くの時間がかかることも珍しくありません。しかし、アジャイル開発の場合、システムの各部分の開発は独立したサイクルで行われるため、ダメージの規模もまた最小限にとどめることができるのです。

顧客の要望をシステムに反映しやすいことも、アジャイル開発のメリットといえるでしょう。顧客とは部分単位で打ち合わせができるため、都度フィードバックをもらえます。ユーザビリティを確かめるにも好都合。加えて、プロジェクト進行中に要望の変更や機能の追加を求められたとしても、柔軟に対応することが可能です。

アジャイル開発のデメリット

アジャイル開発の暗い面

メリットをもたらす一方で、デメリットがあることも知っておきましょう。
アジャイル開発は、スケジュールを立てることが難しい傾向にあります。
というのは、ウォータープルーフ開発のようにあらかじめ決められた計画に従えばいいわけでなく、部分ごとに度々調整を図る場面が多いからです。計画自体も流動的であるがゆえ、方向転換も少なくありません。ゴールまでの道筋は思いのほか、幾通りも枝分かれしていきます。スタート地点ではなかなか予想が立てにくいでしょう。加えて、短期間でプロジェクトを完了させていく負担も、推して知るべし難易度です。

アジャイル開発の概念を有効に活用しよう!

多方面で適用可能なアジャイル開発

アジャイル開発の概念は、システムやソフトウェアの構築に限らず、さまざまな局面・分野で流用できるものだと考えます。当然、ビジネスの現場においても同様。生産性向上、働き方改革などが叫ばれている昨今、取り入れている企業は決して珍しくないでしょう。
とりわけDX(デジタルトランスフォーメーション)やマーケティングの領域だと、両者どんどん拡大するなかで、全体像の捉え方は一つの課題だといえます。そこでは、まさしくアジャイル開発の思考法がヒントになり得る可能性は高いです。

アジャイル開発の有用性は、思わぬところにも転がっているかもしれません。
拙稿にてお伝えしてきた基礎知識・情報がお役に立てそうなら、ぜひあらゆるシチュエーションで活用してみてください。

(本文:サトウ)

SHARE

PLEASE CONTACT US

サングローブのサービスにご関心のある方は、
いつでも下記のボタンからお問い合わせください。

Go to TOP
Go to TOP