超高速開発ツール担当者による対談(後編)です。
前編の様子はこちらをご覧ください。
‐将来、プログラマーやSI事業は、なくなると思いますか?
W担当:
特化型になっていくんだろうな、と思っています。SI会社に一括丸投げ時代は終わりを告げるのではないか、と。
「できるところは(お客様が)自分たちでやる」「難しいところはSI会社に任せる」という共存共栄関係が増えていくだろうと考えています。
G担当:
ゲームプログラマーはなくならないと思うんですよ。特化している、専門分野を持っているから。
今までは「金融」もそういう分野でしたね。しかしこれからずっとそうなのか?
銀行様もある部分ではGeneXus(開発ツール)を使う流れが出てきています。そうなった時どうするか?というのは今から考えておかないといけないと思います。
W担当:
ある業界で生きていきたいのであれば、これから求められるのは、業界知識と業務からシステムまで知っている人です。全体を俯瞰して見られる人。特化する方向に向かっていくんだろうな、と思っています。
広く浅くスキルを身につけてきたという人たちが特化型の時代に対応するためにツールを学ぶ、というのは生き残りへの有効な手段だと思います。
G担当:
人員がそんなにいらなくなる、上流の人しかいらなくなると思います。“単なるプログラマー”はいらなくなります。
業務を知っているSE(システムエンジニア)が高速開発ツールを覚えたら“鬼に金棒”です。古い言語しか知らない技術者にツール習得の機会を与えるのもいい策だと思います。
‐ずばり、開発ツールを使った開発の特長ってなんですか?
W担当:
ツールを使った開発のキーワードのひとつに「標準化」があります。従来型の開発で「標準化」というのはすごく大変です。
ツールはよくも悪くもできることが決まっています。それは標準化した結果なので、標準化したところから開発をスタートすることができるんです。
ツールを使った開発では、ひとりひとりがプログラムコードを書くことができません。書くとしても標準化ルールにしたがってしか書けません。そのかわり人によってプログラムの書き方が違う、といった属人化を防ぐことができます。「厳格な標準化」というのは、開発の高速化を実現する大きな要素だと思います。
G担当:
もうひとつのキーワードに「リポジトリ」があります。リポジトリ=ナレッジです。標準化された知識や技術がそこに溜まるようになっています。従来の開発プロセスでも標準化は必要とされていましたが、そこを手間と捉えておざなりにしてしまっていました。
W担当:
従来の仕様書は、人が日本語で書くので、解釈が人により違い属人化していました。
ツールによる開発では、リポジトリへの登録=設計と考えます。人間もわかるしコンピューターもわかる設計書なんです。人間はファジーもわかるけれど、機械は整然と書かないとわかりません。コンピューターという開発者も同じチームにいる、というイメージですね。
G担当:
GeneXusはWagbyに比べると柔軟なので、きちんと設計標準を作らないといけません。そこは注意しないといけませんね。
W担当:
リポジトリと呼ばれるもののファジー度合いはツールにより違います。ツールそれぞれ、人間寄り・コンピューター寄りという差はありますね。それはツール開発各社の設計思想によると思います。
‐ツールを使うのに必要な勉強時間はどれぐらいですか?
W担当:
Wagbyの機能を全部覚えようとしたら3カ月ぐらいです。プログラミングを覚えようとしたら1年、2年とかかりますよね。
「内製化」のレベル(範囲)次第では、もっと短くできます。リポジトリへ情報を登録して動くアプリを作るだけなら、1~2日のチュートリアルで可能です。
G担当:
GeneXusも半日~1日のチュートリアルコースがあります。広く浅く学ぶ5日間教育コースもあります。それを受けた後、2~3カ月、実際に使っていただければ、使えるようになります。ただし、GeneXusのほうがWagbyに比べて覚えることは多いと思います。
※GeneXus / Wagbyともにハンズオン・セミナーは問い合わせに応じて実施しています。
‐開発ツールの有効な利用法とは?
G担当:
ツールなので、実現できることは限られています。できないことに対しても工夫の余地はありますが、例えばスマホアプリに必要な機能を全部作れるわけではありません。ツールの特性を生かした設計をしたほうがいいです。
失敗プロジェクトは、ツール選定をする前に設計書が完成してしまい、変更の余地がない“設計ありき”の状態になっていると思います。
W担当:
“設計ありき”だと失敗する、というのには同感です。“設計ありき”だと「やりたいことがツールで実現できるか?」というジャッジメントができていません。ツール特性を理解した人間が設計書レビューをすべきです。
ツールを使った開発では、従来型の開発に比べて設計段階でのジャッジメントがより重要です。それをしないと自動生成範囲が減ってしまってもったいないです。ツールを最大限に生かすためにも、設計をツール特性に合わせる、というような理解が必要です。
G担当:
業務パッケージが流行って、その導入時にも同じことが起こりましたよね。カスタマイズしすぎてパッケージのバージョンアップが難航してしまった、なんてことがありました。
W担当:
カスタマイズ、カスタマイズでシステムが複雑化してしまったのは、ベンダー丸投げ体質に起因していたと思うのです。これからは一緒に作りあげていく時代ですね。お客様が作る、お客様のシステムですから。
どういうシステムがいいのか、というのはお客様が一番よく知っています。それを知恵として出して頂き、われわれはその知恵に対する最適な解を、ツールの特性を踏まえながらアドバイスをします。
その結果が「期間短縮」「費用削減」につながると思います。
現在は、ベンダーがその役割の多くを担っていますが、ベンダーが上手くつないでくれるのを期待するだけでなく、我々もその一端を担わなければいけないと考えています。それは「特化型」というキーワードにつながると思います。技術的なスキルだけでなくコミュニケーションスキルですね。
ツールを使う・使わないに関わらず、コミュニケーションは大事です。会議が終わってから、お酒を飲みにいけるお客様とのプロジェクト成功率は高いですね(笑)
(むすび)
従来のシステム開発経験もあった上で「超高速開発ツール」による開発に長く携わっているお二人ならではの深いお話を聞くことができました。
「お客様が作る、お客様のシステム」という言葉が印象に残りました。「内製化」推進ツールとして「超高速開発ツール」の利用は、検討する選択肢のひとつだと思いました。