システム導入が爆速に? 「超高速開発」の出番ってどこですか?:本当はうさんくさくない、超高速開発のリアル(1/4 ページ)
プログラムの自動生成でシステム開発を高速化すると注目される「超高速開発」は、本当に使える技術なのか? 実例を交えながら、その実態や真価を発揮する使い方を解説します。
はじめまして。私は「超高速開発」と呼ばれるジャンルの製品の実装・営業を担当しているルート42の高橋一成と申します。営業先で、「ソフトウェアを設計情報から自動生成するものである」といった具合に自社製品について簡単に説明すると(※1)、こんなふうに返されることがあります。
- 「あ〜、なんか昔からあるよね? その手の製品。でも実際は役に立たないでしょ?」
- 「どうせ簡単なものしか作れないでしょ?」
- 「ウチも現場の人が似たようなツールを作っているよ」
実際に多くの案件で超高速開発を駆使し、プロジェクトを成功へと導いてきた私からすると、「いやいや、そうではなくて……」と言いたいところですが、どうやらこのような認識を持っている方は少なくないようです(※2)。
確かに、パンフレットを見たりセミナーに行ったりしても、“良いこと”だけが強調されていますから、私がいくら「超高速開発はちゃんと使えますよ」という話をしても「ふーん」で終わってしまうのも仕方がないのかもしれません。
そこで、本連載では、「超高速開発のリアル」を本音でお伝えしたいと思います。超高速開発は、用途に合った使い方をすれば便利で効率化に役立つ技術だということを、実例を交えながら、なるべく分かりやすく説明していこうと思います。良い面だけでなく、不得意な面もごまかさずに紹介しますのでご期待ください。
連載は全3回を予定しています。
- 第1回 超高速開発の概要 (ルート42 高橋一成)
- 第2回 超高速開発のケーススタディー (SCSK 堀井大砂)
- 第3回 超高速開発の最近の動きと展望 (ジャスミンソフト 贄良則)
連載の最後までお付き合いいただき、「超高速開発、ちょっと試してみようかな?」という気持ちになっていただけたら幸いです。フィードバックもお待ちしています。
なお、超高速開発技術は多数存在しており、用途もさまざまです。今回の執筆陣が関与している製品は、「社内の業務システム向けに特化している」「デスクトップ向けWebブラウザで動作する」「いわゆるBRMSやバッチ処理に特化した製品とは別物」という共通の特徴があり、今回はこのスコープ内での議論になることをご理解ください。
超高速開発とは
さて、超高速開発とは何でしょうか? 老舗のベンダーであるマジックソフトウェアのWebサイトには次のように書かれています。
超高速開発とは、業務アプリケーションの開発工数を劇的に短縮する開発支援ツールをはじめ、開発手法なども含めて、システム開発により高い生産性をもたらし、従来のシステム開発が抱えている問題解決などに活用していく考え方、開発への取り組みのことを指しています。
私もこの定義に異論はありません。超高速開発とは、コードの自動生成機能がコアでありつつも、それだけで閉じているものではありません。
例えば「実際に動くサンプルを見せながら要件定義ができる」なら、要件定義はずっと早く完了できるし、手戻りもぐっと減ると思いませんか?
超高速開発はそれを可能にします。
「何年も保守していく中で、設計と実装の乖離(かいり)が激しくなるのでは?」という考える方もいらっしゃるかもしれません。しかし超高速開発は、設計情報と実装が密接に結び付いているため、乖離が非常に起きづらい仕組みになっています。
また、超高速開発で作られたシステムのバグ数は通常の4分の1以下です(※当社実績の平均値)。「自動生成されたシステムにほとんどバグがない」なら、日本の従来スタイルにおけるシステム開発で悪しき習慣とされることが多い「保守契約」の在り方も変わってきますよね。
もちろん、超高速開発は良いことばかりではありません。ユーザー側の妥協や諦めも重要です。
このように、超高速開発とは、従来のシステム開発の問題点を(全てではないにせよ)カバーするものであり、単なる要素技術の1つではなく、開発スタイルの1つであると私は捉えています。
※1:超高速開発技術は「ソースコード生成型」と「実行エンジン型」の2つに分類できますが、ここでは話を簡単にするためにあえてこのように表現しました。両者の違いについては連載の中で説明していきます。
※2:例えば、「ウチも現場の人が似たようなツールを作っているよ」というのは「足場コード生成ツール」との混同と考えられます。足場コードとは、実装の取っ掛かりとなる基礎的なコードです。「Ruby On Rails」のようなフレームワークはデータモデル定義から足場コードを自動生成できます。ただし、足場コードは設計情報とリンクされているわけではなく、生成されたコード自体をユーザーが改変することが前提であるため、超高速開発とは異なるものです。これについてもおいおい説明していきます。
関連記事
- 連載:「本当はうさんくさくない、超高速開発のリアル」記事一覧
- コレ1枚で分かる「超高速開発ツール」【改訂版】
迅速かつ柔軟なアプリケーション開発を支援してくれる「超高速開発ツール」について、特徴と効果をまとめます。 - 「システム開発地図」でトレーサビリティーを導入しよう! 第1回
システム開発を進める上で強力なトレーサビリティーツールとなる「システム開発地図(System Development Map)」について解説します。第1回目は、システム開発にトレーサビリティーの導入が必要な背景やメリットを考察します。 - システムインテグレーターにとって、オープンソースは難しい?
これからのSIerが取り組むべき「差別化」戦略の有効な手段は、オープンソースの活用。そこで、オープンソースビジネスの特徴の1つである、ユーザー企業やシステムインテグレーターが行う「システム開発においてオープンソースを活用するビジネスモデル」について解説します。 - IBM Bluemix、マイクロサービス開発向けの機能拡充へ
日本IBMは、「IBM Bluemix」上でマイクロサービスの開発、運用を支援するフレームワーク「オープン・ツールチェーン」の機能拡充を進め、マルチクラウドなどのシステムインフラ環境を一元管理する「IBM Cloud Automation Manager」の提供を開始。クラウドネイティブアプリケーションの開発・運用を支援する。 - 住信SBIネット銀行、DWHをTeradataで刷新 データ追加作業が1カ月半から約1分に
住信SBIネット銀行は、DWHをTeradata製品で刷新し、統合データベース基盤を構築。データ追加作業が約1分に、データ取得作業が約3分にまで短縮でき、業務効率が向上した。
Copyright © ITmedia, Inc. All Rights Reserved.