GeneXusがアジャイル開発に向いている5つの理由
GeneXusという高速開発ツールを利用することにより、
アジャイル開発に向いている理由を5つ挙げてみます。
本記事の流れは、本題に入る前に改めて「ソフトウェアの開発工程」と、主な開発方法として「ウォーターフォール開発」「アジャイル開発」のメリット・デメリットを考えます。
そのあとに「GeneXusがアジャイル開発に向いている5つの理由」とは何かをご紹介し「まとめ」に入ります。
※早く「GeneXusがアジャイル開発に向いている5つの理由」を知りたい方は、概要にある本項目をクリックしてもらえれば素早く本題を見れますのでクリックをどうぞ!
以下、本記事の概要となります。
・ソフトウェアの開発工程
・ウォーターフォール開発
・アジャイル開発
・GeneXusがアジャイル開発に向いている5つの理由
・まとめ
■ソフトウェアの開発工程
では、ソフトウェアの開発工程とはどうなっているのかを改めて考えてみます。
大体の場合は以下の通りとなっていることが多いと思います。
開発工程 | 工程で発生する作業 |
要件定義 | 要件定義書の作成 |
設計 | 基本設計書、機能設計書、構成設計書、 総合テスト計画書の作成 |
製造 | モジュール設計書、コーディング、 単体テスト項目書の作成 |
テスト | 結合/総合テストの項目書作成 |
[図1:開発工程表]
■ウォーターフォール開発
図1で示した開発工程を順番にする(要件定義 → 設計 → 製造 → テスト)開発方法は、ウォーターフォール開発と呼びます。分割された開発工程を手戻りなく進めることを想定した開発方法です。
■ウォーターフォール開発のメリット
ウォーターフォール開発のメリットとして以下の点が挙げられます。
1.開発工程毎の成果物が確実に残ること。
開発工程毎の成果物が明確としているため、次工程に移る前に確実に残ります。
2.開発工程の進捗管理が容易であること。
開発工程がはっきりしているため、現時点の工程がどこか進捗管理がやりやすい。
3.要求仕様が忠実に実装されること。
要件定義で挙げられた要求に従い、工程毎に開発されるため忠実に実装がされます。
■ウォーターフォール開発のデメリット
ウォーターフォール開発のデメリットとして以下の点が挙げられます。
1.前工程には戻れないこと。
ウォーターフォール開発は、前の工程に戻ることは想定されていません。
もし、開発工程が「製造中」で機能追加が発生した時は、前工程の「設計」で作成した成果物に対して修正の必要が出てきます。
2.成果物の管理に負荷が掛かること。
工程毎に作成した成果物の量が多くなると、次工程で設計ミスが発覚した場合は、修正箇所が多くなる可能性があります。
■アジャイル開発
図1で示した開発工程(要件定義 → 設計 → 製造 → テスト)を小さいサイクルでする開発方法を、アジャイル開発と呼びます。ウォーターフォール開発に比べ、開発工程を小さなサイクルでこなすため、顧客要望の変化に対応させることを想定した開発方法です。
■アジャイル開発のメリット
アジャイル開発のメリットとして以下の点が挙げられます。
1.開発工程の後戻りに強いこと。
小さなサイクルで開発を行うため、柔軟な対応ができます。
2.ウォーターフォールに比べ成果物の管理負担が軽減されること。
開発工程を繰り返すことが想定されているため、各工程の成果物の更新は常にされることになります。
3.完成形に近いシステムや機能がすぐに検証できること。
作成した機能のプロトタイプ版になるが、顧客にシステムや機能を動かし検証してもらえることができます。
4.潜在的な要求に応えることができること。
開発と顧客検証を重ねるため、初めに定義していた要求仕様からより業務仕様に則ったシステム開発ができます。
5.高品質のシステム開発ができること。
小さなサイクルで開発工程をするため、何度もテストをすることになります。
結果、リリースを行った後の品質はウォーターフォール開発の場合に比べ、不具合数の件数を少なくすることができます。
■アジャイル開発のデメリット
アジャイル開発のデメリットとして以下の点が挙げられます。
1.顧客検証を行うまでの開発期間が短いこと。
顧客の検証を行うまでにシステムや機能を組み上げる期日を、ウォーターフォール開発に比べてより気にしなくてはいけません。
2.進捗の管理が複雑になること。
小さな単位でサイクル開発を行っていると、この機能は今「テスト中」や、この機能は今「顧客検証中」とウォーターフォール開発に比べて進捗の管理が複雑になってしまいます。
以上、ウォーターフォール開発とアジャイル開発について述べてきました。
では、GeneXusを使った場合に『なぜアジャイル開発に向いているのか』を考えてみます。
■GeneXusがアジャイル開発に向ている5つの理由
1.成果物の更新負担が軽減されること。
小さなサイクルで開発するために、ソースコードの修正やデータベースの項目修正は避けられません。
GeneXusはソースコードやデータベースの項目修正は自動生成してくれるため、負担を軽減させることが可能となります。
アジャイル開発のデメリットとして「2.進捗の管理が複雑になること。」がありましたが、軽減された負担を進捗管理の労力へまわすことができ複雑化防止に繋がります。
2.リリースできるまでの期間が短くなること。
アジャイル開発のデメリットとして、「1.顧客検証を行うまでの開発期間が短いこと。」とありました。
しかし、GeneXusを使うことで高速に開発が可能となります。
以下のリンク先でどれだけ高速に開発できるか検証しています。
・新入社員とGeneXusの初顔合わせ
3.潜在的な要求に応えやすくなること。
GeneXusは高速に開発が可能となることで、顧客の検証する回数が増えることは確実となります。
そのため、潜在的な要求に応えやすくなります。
4.更なる高品質なシステムの提供ができること。
アジャイル開発のメリットとして、「5.高品質のシステム開発ができること。」とありました。
Genexusを使うことでソースコードやデータベースの定義は自動でできるため、ソースコードの不具合やデータベースの項目不整合を防ぐことができます。
リリース後に出る不具合は、機能要件に無かった仕様に係わるものとなります。
5.未来を見据えた保守運用ができること。
GeneXusで開発されたシステムのメリットは、保守運用時に出てきた仕様変更の対応に強いことが特徴です。
短期間で対応しリリースすることが可能となります。
また、環境変化(ハードウェアやOSなど)に強く、再構築することなくシステム移行することが可能となります。
■まとめ
GeneXusというツールを使った場合にアジャイル開発にどれだけ向いているのかを挙げてみました。
ウォーターフォール開発とアジャイル開発のメリット・デメリットはありますが、顧客の満足度を高めるためには、アジャイル開発をすることが良いのではないかと思います。
皆さんも、GeneXusを使って高速に開発し、より良いシステム開発を行ってみてはいかがでしょうか。
株式会社キャパでは、GeneXusを用いた超高速開発についてご相談を承っています。
短納期、予算が合わないなどお気軽にご相談ください。
高速開発:GeneXusのご紹介