2019.5.16
/
人事・組織

短時間でシステム・ソフトウェア開発が可能な「アジャイル開発」とは

(写真=puhhha/Shutterstock.com)
(写真=puhhha/Shutterstock.com)
システム・ソフトウェアの開発モデルは、従来、上流から下流に水が流れる様子を模した「ウォーターフォールモデル」と呼ばれる手法が一般的でしたが、近年に入り多くの企業で「アジャイル開発」と呼ばれる新しい手法が取り入れられています。アジャイルは柔軟な設計で開発の見直しを繰り返すことが特徴であり、比較的短時間でシステムなどを開発できます。本稿では、システム・ソフトウェア開発のための新しいプロジェクト手法である、アジャイル開発について解説します。

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

アジャイルとは「素早い」や「機敏な」といった意味合いを持っています。2000年代に入るまで、システム・ソフトウェア開発においてはウォーターフォールモデルが一般的に普及していました。2001年、米国ユタ州において、より効率的で素早いプロジェクト開発が行えるように、17名のプログラマーおよびエンジニアが集って意見を交わしました。

その後「顧客満足度の優先」や「ムダを排したシンプルさ」など12の原則を通じて、新しいプロジェクト開発を実現するため、彼らは、

「プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を価値とする」

と宣言しました。そしてこれを「アジャイルソフトウェア開発宣言」と名付け、効率的なプロジェクト推進のための心構えとしたのです。

アジャイル開発の特徴

アジャイル開発の特徴は「リリース計画」と「イテレーション」の2点にあります。

リリース計画

アジャイル開発は計画段階においては仕様にさほどち密さを求めません。なぜなら、システムやソフトウェア開発において中途における仕様の変更などは当たり前のように生じているためです。このため、アジャイル開発における計画は、柔軟な構造で大まかな要求と仕様を定めるのみとなっているのです。

イテレーション

イテレーションとは「反復」という意味です。アジャイル開発では仕様と要求は大まかなものであり、さほど厳密さを求めないかわりに、開発における期間を小分けにして分割された小さな成果物を幾つも作り上げていきます。

従来型の開発モデルとの違い

ウォーターフォールモデルは、仕様と要求を厳密に定め、要件定義からテストにいたるまでのすべての工程を正しいものとしてきました。しかし実際のところ、工程にズレやミスがあったり、工程の途中において顧客から仕様変更を求められたりすることは枚挙にいとまがありません。

一方、アジャイル開発はプロジェクト全体を変化するものとして大まかにとらえることが特徴です。各工程を何度も反復させながら、その状況における最大限の要求を満たしながら次の工程へと進んでいきます。

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

メリット

アジャイル開発におけるメリットは2点あります。

1つ目は「顧客ニーズの最大化」を目指すことができる点です。例えば、中途における仕様変更などが生じた際、すべての顧客ニーズを完全に満たすことは不可能かもしれません。しかしそれらを加味した上で最大限顧客を満足させるプロジェクトを組み立てることが可能となります。

もう1つは、各工程において課題が生じた際、戻る工程を大幅に縮小できる点です。従来のウォーターフォールモデルでは、もし要件定義などで課題が生じ、テスト段階でそれが発覚したのであれば莫大な費用や手間がかかるおそれがありました。しかしアジャイル開発はイテレーションを用いた小さな単位で、計画からテストまでを繰り返していくために、仮に課題が生じてもその小さな単位内を戻るだけで課題を解決することができるようになります。

デメリット

アジャイル開発のメリットとデメリットは表裏一体です。上述したように、アジャイル開発では顧客ニーズを最大化することができるとしても、完全にニーズを満たすことができるとは限りません。これは最初の段階で、顧客からの仕様や要求などを大まかにしか定めていないことに由来します。また同様にアジャイル開発は、ファジーなかたちでプロジェクトを推進していくため、コントロールがきちんと取れていないと開発スケジュールが大幅に遅れたり、費用などで問題が生じるおそれもあるので注意が必要です。

プロジェクト内容に応じてアジャイル開発を活用しよう

アジャイル開発には向き不向きがあります。例えば、国からのプロジェクトなど、最初の時点で厳密な計画を求められるようなものであれば、すべての工程が正しいという前提であるため、ウォーターフォールモデルなどが活用しやすいでしょう。一方、創造性を求められたり、顧客からの要求が厳しかったりするプロジェクトなどではアジャイル開発は有効に作用します。それぞれ異なる特徴を持つ2つの開発手法を上手に使い分けることがポイントと言えるでしょう。


>>専門家に相談してみる
>>無料のeBookはこちら
 

【貴方にオススメ】
「ネット炎上」に対する、人事労務の対策方法
ケースごとに異なる経営者の社会保険加入の必要性
【社会保険未加入】経営者の勘違い節税と大きなリスクが!
加入要件改正となった社会保険。事業主にとってのメリットは?
出向社員の給与や社会保険はどちらが負担?

NEXT 人生100年時代!シニア活用で人材不足を乗り越えろ
PREV ようやく全貌が見えてきた「特定技能1号・2号」について

関連記事