これまで4回、超高速開発ツールについてご紹介してきたこの企画の最終回は、
「Wagbyでプログラムを書かないシステム開発」 の記事を書いたWagby(ワグビィ)担当者と
「変化に強いシステムを自動生成するGeneXus」 の記事を書いたGeneXus(ジェネクサス)担当者に対談をしていただきました。
以下、それぞれ
・W担当: Wagby担当者
・G担当: GeneXus担当者
と略します。
‐まず素朴な疑問です。高速じゃなくて「“超”高速開発ツール」と呼んでいますね。高速とどう違うんですか?
W担当:
ある雑誌で「超高速」という言葉が使われたのが始まりです。
G担当:
日経コンピュータ(2012/3/15)の「特集:超高速開発が日本を救う」という記事で「超高速開発」という言葉が使われて反響が大きかったので、その年の夏に「超高速開発・リノベーションフォーラム2012」 が開催されたのです。
‐ひとつのグループ会社で、商材としての開発ツールを2つ持っているのって無駄じゃないんですか? ケンカというか(笑)お客様の取り合いになったりはしないんですか?
W担当:
2つ持っているのって、当時ウチのグループだけだったんです。グループの戦略としてトップダウンで選んだというより、ボトムアップでそれぞれの会社(エフエフソル、コアネクスト )がツールを扱い始めたのです。
G担当:
二つ持っている理由はちゃんとあります。ツールつまり道具なので、性質が違うんです。
「超高速開発コミュニティ」に集まっている超高速開発ツールと呼ばれるものは23あります。
それぞれ得意分野・不得意分野があるし、使い方が違います。
超高速開発ツールのなかには生成型と定義型があります。WagbyもGeneXusも生成型ですが別の切り口として、「生成したソースコードに(基本的に)手を加えられない」ものと「加えられる」ものという区別ができます。
GeneXusは ソースコードに(基本的には)手を加えられませんが、Wagbyは 加えられます。
GeneXusでお客様ニーズが満たされず契約に至りませんでしたが、Wagbyをご契約なさったお客様がいます。そのときは提案先のご担当者がプログラマーだったので、ソースコードを触りたいという要望がありました。
W担当:
私どもは開発ツールを使うだけでなく、それにプラスして一般の(ツールを使わない)開発もできます。
また、私だったらGeneXusのことを、G担当さんだったらWagbyのことをお互い勉強し合っているので、場合によっては相互営業をかける、ということも可能です。
グループ会社内でシナジーって掛け声としてはよく言われますが、実際は難しいんです。でもWagbyとGeneXusは、シナジーしやすい関係を築けていると思います。
‐開発ツールが市場になかなか浸透しない、といったご苦労はありますか?
G担当:
Wagbyのほうが売り易い面があると思います。WagbyはJava(※1) ベースでシステムを作ることができます。GeneXusはソースコードを見ることができません。それをプログラマーの方に気味悪がられて反発されることがあります。
W担当:
Wagbyは、GeneXusに比べて自動生成できるシステムの対象が少ないんです。WagbyはWebシステムに特化しています。
業務システムでいうと、フロントはWebシステムで作るけど、バックグラウンドでそのデータをバッチ処理する、という作り方をします。バッチは従来型に近いシステム開発をしないといけないので、Wagby(開発ツール)+SI(従来型)の開発という形でお客様にサービス提供しています。
しかし、WagbyはGeneXusに比べてツールを使うための勉強期間が少なくて済むのはアドバンテージだと思っています。
開発経験があるシステム部門の方だけじゃなく、システム運用をしている製造業の情シスさんとか、ちょっとITを知っている方がWagbyを使って開発をすることができます。それでは作れない裏のバッチ処理はわれわれがSIとして受託します。それを「共存共栄型」と呼んでいます。
G担当:
「共存共栄型」というのはGeneXusも同じです。GeneXus もWagbyもキーワードは「内製化(※2)」です。開発ツールを使えば、内製化する際にJava(プログラム言語)を覚える必要はありません。
日本のシステム開発は現在、ベンダー主導です。それは「超高速開発ツール」を推進する立場としてはあまりよろしくない、と感じています。現在はベンダーが開発ツールとして使っています。われわれとしては、もっとエンドユーザに使って欲しいんですけど。ざっくりとした感覚でいうと、(ベンダー)8:(エンドユーザー)2ぐらいですかね。
W担当:
Wagbyも状況は同じです。GeneXusよりも内製化(エンドユーザー)での利用の割合は多いですが、それでも6:4ぐらいですね。
‐「内製化」という動きについてどう考えていますか?
W担当:
「最初の開発はSI会社に頼むけど、順次“内製化”にシフトしていきたい」というニーズがお客様にあります。画面の1か所を直したいというだけでSI会社に見積りを依頼するのは手間がかかるし、かけなくてもいい費用がかかってしまいますよね。実際には100%の内製化は難しいと思います。
ミニマムなシステム改修はお客様にやっていただき、大きなシステム改修はこちらに御相談いただくというふうに「役割分担」することが必要だと思います。従来型のシステム開発だと改修の規模に関わらずSI会社に頼まなくてはいけません。そこを「役割分担」する時代が来たと思っています。
われわれのようなSI会社は、テクニカルな部分を追い求める技術者集団になっていきたいと考えています。少数精鋭でカスタマイズやコアな部分の開発ができる集団でありたいです。そうすると目的が明確になるぶん見積りの精度もあがりますし、なによりもお客様に理解して頂きやすいと思います。
G担当:
現在当社の社員が、お客様に常駐してサービス提供をしています。
時間内で何ができるかをお客様と相談しながら優先順位をつけて「じゃ、これとこれ」「次はこれ」というかんじで、GeneXusを使ってまさにアジャイル(※3) な開発手法でやっています。内製化要員としてうちの社員を使っていただいている、というかんじですね。そのお客様も将来は内製を目指しています。
-----
用語解説
※1 Java:
オブジェクト指向プログラミング言語の一つ。
※2 内製化:
下請けなど外部に生産委託していたものをとりやめ,自らの会社内部で生産すること。
※3 アジャイル:
ソフトウェア工学において迅速かつ適応的にソフトウェア開発を行う軽量な開発手法群の総称。
開発対象を多数の小さな機能に分割し、1つの反復 (イテレーション) で1機能を開発する「反復型開発」を用いる。