目次
自社のDX化を推進するため、多くの企業ではDX推進室を立ち上げていたり、タスクフォースのような形式で各部署から関係者を集め、DXプロジェクトを発足させています。DXを推進することで、自社の既存サービスの強化、既存業務の根本的な改革、大幅なコスト削減、組織全体のスリム化や効率化、新たなビジネスの創出などを目指します。
DXプロジェクトは不確定要素が多い状況で進めていく必要があるため、「計画」、「実行」、「評価」、「改善」を繰り返す方法となります。そのため一般的なシステム開発で行われるウォーターフォール開発ではなく、アジャイル開発の方が適している場合があります。
本記事では、アジャイル開発の特徴、注意点、成功事例の他、しばしばアジャイル開発と対比されるウォーターフォール開発についても詳しく解説していきます。
アジャイル開発とウォーターフォール開発の違いは?
システムを開発する際の手法として「アジャイル開発」と「ウォーターフォール開発」というものがあります。それぞれ特徴が異なるため、遂行するプロジェクトの特性に合った方を選択するのが良いでしょう。
アジャイル開発の特徴
アジャイルを日本語訳すると、「機敏な(=Agile)」という意味になります。少人数のプロジェクトで、計画・実行・評価・改善をぐるぐると回転させながら開発を進めていく手法になります。試行錯誤を繰り返すことで、完成度を上げていく方法です。
アジャイル開発は、不確定要素が多く、状況に応じた臨機応変な対応が求められるようなプロジェクトに適した開発手法と言えます。例えば、まだ市場に存在しない新しいアプリサービスの開発であったり、To-Beと呼ばれるあるべき理想の姿が見えないときなどに有効と言えるでしょう。アジャイルを採用することで、企業は取り巻く環境の変化に適時合わすことができたり、その都度柔軟な対応をとることが可能になります。アジャイル開発では、「アジャイルソフトウェア開発宣言」として次の4つの定義が取り決められています。
- ・プロセスよりも人を重視する
- ・動くソフトウエアの制作に価値をおく
- ・エンドユーザーとの協調を大切にする
- ・計画の確実な遂行よりも変化への対応を重視する
企業を取り巻く環境は、日々変化しています。DXプロジェクトを進めていく中でも環境や状況が日々変化していくことが考えられます。DXプロジェクトではそれらの変化に対して柔軟な対応が必要となるため、アジャイル開発が適しているでしょう。以下にメリットとデメリットをまとめます。
項目 | 説明 |
---|---|
メリット |
|
デメリット |
|
ウォーターフォール開発の特徴
ウォーターフォールとは「滝」のことです。滝の水が上から下に流れるように、システム開発の各フェーズである「要件定義」「設計」「実装」「テスト」「運用」を進めていきます。滝の水が下から上に逆流しないように、各フェーズは基本的に戻ることはありません。
ウォーターフォール開発は、最も一般的な開発手法と言えます。過去から多くのプロジェクトで使用されてきました。初期のフェーズである「要件定義」でシステムの完成形を決め、それを実現するための方法を「設計」フェーズ以降で取り決めていきます。メリットとデメリットは次の通りです。
項目 | 説明 |
---|---|
メリット |
|
デメリット |
|
DXプロジェクトの大半は初期段階で確定している情報が少ないです。DXプロジェクトを進行させていく中であらゆる物事が決まっていきます。そのようなプロジェクトでウォーターフォール開発を採用しますと、何度も手戻りが発生することになりますので、DXプロジェクトには不向きと言えるでしょう。
アジャイル開発でDXプロジェクトを進めていくための注意点
DXプロジェクトを進めていく上では、アジャイル開発が適していることは分かりました。実際にアジャイル開発を適用する場合、いくつかの注意点があります。
スケジュール管理が非常に難しい
アジャイル開発は状況や変化に対して、柔軟に対応しながら開発を進めます。そのため、全体のスケジュールが見えにくくなることが考えられるでしょう。スケジュール管理を行う場合、ウォーターフォール開発で進めているプロジェクトとは勝手が違います。アジャイル開発では、変化に対応するたびに関係各所と調整を取り、スケジュールを更新していくことが必要です。
プロジェクトを管理する場合、コミュニケーション能力の高くて経験豊富なプロジェクトマネージャーが必要となります。そのような人材は貴重なため、適した人材がいないといった状況も少なくありません。
方向性が何度も変わることが前提
アジャイル開発は、変化に対して柔軟に対応できることがメリットの一つです。しかし柔軟に対応することで、当初に想定していた方向性から変わってしまうことが考えられます。これは、さまざまな要望や変化を取り入れたことによる弊害と言えるでしょう。
アジャイル開発の場合、目的となるものを決めておき、そこからブレないように注意して進めていく必要があります。
また、費用が想定を超えてしまう可能性も考えられるでしょう。細かいスパンで費用実績を確認しながら進めていく必要があると言えます。
コミュニケーションが非常に重要
アジャイル開発は改善しながら進めていくため、状況が刻々と変化していきます。そのため関係者と密にコミュニケーションを取り、現在の方向性を情報共有することが大切です。関係者からのフィードバックを反映させて、最終の形に近づけていきます。コミュニケーション不足に陥ると、要望からかけ離れたものになってしまう危険性があるため、注意が必要です。
アジャイル開発の成功事例
ここでは実際に、アジャイル開発を採用して成功した事例を紹介します。成功事例を知ることで、自社に応用できる点を把握することができるでしょう。
生産性を劇的に向上させたPayPal
PayPalは、簡単で安全な送金や決済を提供しているオンラインの決済サービスです。会社の規模が大きくなるにつれ、市場の変化やさまざまな要求に応えることが必要となってきました。その結果、製品の構想段階から実際にリリースするまでに、何か月もかかってしまう状況に陥ってしまいます。
そこで社内の開発手法にアジャイル開発を採用したところ、効率よく開発を進めることが可能となりました。開発チームの規模が約8%縮小しているにもかかわらず、生産性が約29%向上することが可能となっています。
大規模開発にアジャイルを適用させたIBM
アジャイル開発は、大規模な開発プロジェクトには不向きと言われています。計画・実行・評価・改善の繰り返しが大規模になると困難になるためです。しかしIBMでは、プロジェクトを少人数の複数チームに分けることで成功させています。
背景としては複数の企業を買収したことで、さまざまなプラットフォームやツールが社内に存在していました。そのため、非効率な開発作業となっています。
IBMでは10人以下の少人数で20個のチームを作りました。それぞれのチームでは、担当範囲をアジャイル開発で進めます。またすべてのチームをマネジメントする役割を担ったチームも発足させ、2段階の体制をとりました。その結果、大規模開発をアジャイル開発で成功させています。
スピーディーな開発を実現させたデンソー
営業車の移動履歴や運転状況、車両位置などを確認するためのサービスである「mobi-Crews」の開発にアジャイル開発を採用しました。実際に使用するエンドユーザーも開発に巻き込み、システムが複雑にならないように注意して進めています。
ユーザーに見える部分であるフロントエンドと、内部処理であるバックエンドの開発は分けて行うのが通常です。しかしスピーディーな開発を行うため、これらを分けることなく進める方法を採用しました。その結果、開発期間を削減することが実現できています。
まとめ
本記事では、アジャイル開発の特徴、注意点、成功事例などを紹介しました。DXプロジェクトでは、市場の変化や顧客要望などに柔軟に対応しながら開発を行う必要があります。初期段階で開発範囲が定まらないため、ウォーターフォール開発の採用は難しいと言えるでしょう。アジャイル開発を採用することで「計画・実行・評価・改善」を繰り返し、ニーズに一致した形に近づけていく方法が適していると言えます。アジャイル開発の採用を検討してみてはいかがでしょうか。
—————————————————————————————————————
システム開発、スマホアプリ開発、MVP開発、新規事業立ち上げ、DX化の推進でお困りではありませんか?
日本全国には開発会社が無数にありますが、Webサービスやアプリサービスのスケール(規模拡大)を実現するビジネス推進力やシステムの堅牢性、可用性を意識した設計力・技術力を合わせ持つ会社は、全国で見ても多くはなく、弊社は数少ないその一つ。お客様のご要望通りに開発することを良しとせず、お客様のビジネス全体にとって最適な解を模索し、ご提案ができるビジネス×テック(技術力)×デザインの三位一体型のシステム開発/アプリ開発会社です。ITやDX全般に関して、何かお困りのことがございましたら下記の「GeNEEへのお問合せ」フォームからお気軽にご連絡いただけたらと思います。
—————————————————————————————————————