「超高速開発ツール」の名のもとに、さまざまな開発支援ツールがアプリケーション開発の現場で利用されている。この超高速開発ツールにおける基本的な仕組みを紹介しながら、メリットについて解説する。
変化の激しい市場の中で企業が生き残っていくためには、新たな価値を生み出すことが可能な仕組みを素早く市場に投入できる環境が求められる。そこで注目されるのが、システム開発をより効率的に行うための「超高速開発ツール」だ。
ただし、高速開発に寄与する仕組みやサービス自体はとても範囲が広く、読者にとっては分かりにくい部分も少なくない。今回は、高速開発に役立つツールには一体どんなものがあり、導入することでどんなメリットが得られるのか、その基本を振り返る。
2012年ごろからキーワードとしてメディアに登場し始めた超高速開発。ビジネスのスピードが加速するなかで競争に勝ち残っていくためには、意思決定されたものをシステムに素早く落とし込むための仕組み作りが急務となっている。そのためにアプリケーション開発の工数短縮につながる開発支援ツールが必要不可欠であり、今ではそれらをまとめて「超高速開発ツール」と呼ぶようになっている。
実は、超高速開発に関連した考え方や手法、ツールなどの認知度向上を目指す「超高速開発コミュニティー」が存在するなど、超高速開発ツールは注目のジャンルの1つだ。このコミュニティーには、開発の生産性向上に貢献するツールを提供しているさまざまなベンダーが参加しているが、このコミュニティーの顔ぶれを見る限り、超高速開発ツールに含まれる製品群は多岐にわたっていることが分かる。具体的には、コード自動生成ツールやBPMS、テスト自動化ツール、EAIをはじめとしたデータ連携ソリューション、そして実行環境としてのリッチクライアントなどだ。
今回は、主にソースコード自動生成ツールなど、ビジネスロジックや画面定義をGUIで行いながらノンプログラミングで業務アプリケーションが開発できる製品を中心に紹介する。なお、日本情報システム・ユーザー協会(JUAS)では、超高速開発ツール群を「設計・コード生成型」「設計・実行エンジン型」「業務モデル支援」「テスト自動実行」「EAI」「UI生成・実行」に区分けし、それぞれ開発プロセスにおけるどの工程を支援してくれるのかを調査している。このマトリクス表は後述する。
以前よりアプリケーション開発を支援する仕組みは存在しており、既に数十年前から提供されている支援ツールもあるほどその歴史は長い。これらの開発支援ツールが近年「超高速開発」と呼ばれ注目されるようになっているが、これらのツールを利用することでさまざまなメリットが得られる。その大きなメリットに挙げられるのが、プログラムにおける品質向上やメンテナンス性の向上だろう。他にも、開発生産性の向上や開発資産の継承性などもメリットとして挙げることができる。
手組みでのプログラム開発に比べて、仕様変更や機能追加などが発生した場合でも、ツールを用いることで容易に改修できる。ビジネスロジックやDBの設計を行ったうえでGUIを設定するだけで、容易に業務アプリケーションが構築できる。追加があればツール上で設定情報を変更するだけで済み、ソースコードを直接触ることない。
また、DBやOSのバージョンパップなど外部環境が変化しても、ツール側で新たな環境に対応してくれる。例えばWindows7からWindows10へOSがバージョンアップしても、Windows10に対応したツールに設計情報を再度通すことで、新たなOSに対応したアプリケーションが自動生成できる。
一般的にプログラムの記述は人によって若干の違いがあり、その品質を一定に保つのは難しい。超高速開発ツールはGUIによる設計を行うことでソースコードが自動生成されるため、プログラム開発における品質を一定レベルに保つことが可能になる。さほど詳しくない人でも設計がしっかりできればきちんとした業務アプリケーションが構築できるため、品質を均一化しながらプログラム開発を高いレベルで平準化することが可能になる。
超高速開発の名の通り、開発における生産性を向上させることが可能だ。もともと要件定義などは通常の開発同様行う必要があるが、GUI上でDB設計やビジネスロジック設計、画面設計を行うだけで業務アプリケーションが作成できる。取材先で実際の効果を確認したところ、「Visual BasicやDelphiなど言語系のビジュアルな開発ツールに比べても生産性は3〜4倍」「COBOLやVBの6倍」などのコメントもある。
業務アプリケーションの規模などによってもまちまちだが、開発生産性の向上に大きく貢献することは間違いない。もちろん、ツールそのものに対する慣れは必要だが、頻繁にサービスリリースしているユーザー企業やパッケージソフトを提供する企業、インテグレーターとして開発受託しているSIerなどであれば、その効果はより大きなものになってくるはずだ。
アプリケーション開発の現場で大きく課題になりがちなのが、これまで開発してきた資産の継承だ。手組みされたアプリケーションの場合、実際に開発した人間でなければそのソースコードが意味することを理解するまでに多くの時間と手間が必要となる。標準的な技術を利用しても、他人の作ったソースコードを後から改修することはあまりやりたくないものだ。
超高速開発ツールを用いて作成されたアプリケーションであれば、設計情報を確認するだけで何が行われているのか一目瞭然であり、もし開発した人が退職した場合でも、他のエンジニアがアプリケーション改修することもさほど難しくない。開発資産を継承していくことも可能になる。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。