編集部からのお知らせ
解説:広がるエッジAIの動向
Check! ディープラーニングを振り返る
アジャイル開発を加速させるローコード技術の衝撃

第2回:工数削減に伴う少数精鋭化の脅威 - (page 3)

松岡真功、渡辺幸三

2019-11-22 07:00

実装合理化は自然な技術革新の結果

 ところで、こういった実装合理化の営みに対して「プログラミングに対する軽視だ。そのような姿勢から良いものは何も生まれない」といった批判が必ず挙がるのだが、それは勘違いである。われわれほどプログラミングの可能性を信じている者はいない。まず、ローコード開発基盤そのものがプログラミングのもたらす偉大な成果であることを知っている。日本には自社開発のローコード開発基盤を擁するベンダーが何社もある。そこで基盤のプログラミングを担っているのは、バリバリのオブジェクト指向開発者だ。そしてわれわれは、業務システムに求められるある種の制約がプログラムコードでしか記述できないほど複雑であることを知っている。その種の要件を実現するために「ノンプログラミング」では太刀打ちできないことを、業務システム開発の経験者なら身に染みて分かっている。

 そもそも業務システム開発におけるプログラミングは、単に必要な作業であるだけで、良いものでも悪いものでもない。しかし、この業界で常態化しているExcelで書かれた仕様書を見ながらのプログラミングは幸先の悪いプログラミングである。なぜなら仕様書に書かれる処理パターンを整理してそれぞれを様式化すれば、「アプリとしてそのまま動作する仕様書」が実現できてしまうからだ。そういった合理化が起こらないことを祈りつつ働かねばならない。合理化をもたらすはずのIT技術者が合理化を恐れているなんて、シャレにもならない。

 実はソフトウェアの開発体制が合理化されてゆく過程は、分野を問わず一般化できる。さまざまな分野でアプリ開発がなされるが、最初はJavaのような汎用言語やExcelのような汎用ツールが用いられる(下図参照)。その分野が繁栄しているのであれば、アプリ開発を合理化して競争優位に立とうと考える開発業者が現れる。最初はテンプレートを用いた素朴な工夫から始まるが、遅かれ早かれその分野(ドメイン)の特徴に沿って様式化されたアプリの記述体系(DSL:ドメイン特化言語)と、その処理系(DSP:ドメイン特化基盤)が生み出される。DSPは汎用言語を用いて組み立てられる巨大なソフトウェアではあるが、DSLによるアプリケーション定義は極端に小さいものになる。プログラミングにはこのように「自らを合理化する」という不思議な本能があって、DSLやDSPはその自然な発露の1つに過ぎない。

 ローコード開発技術は業務システム開発の分野におけるDSPである。これを用いてもプログラミングが不要になるわけではないが、汎用言語に固有な特性(例えばオブジェクト指向)を意識せずにシステム開発できる。DSPによってそういった特性は「隠ぺい」されるからだ。例えば音楽制作向けDSPであるDAW(Digital Audio Workstation)はオブジェクト指向言語で作られているが、ミュージシャンはそれを使う際にクラス構成やメソッドについて悩まない。そのようにして得られる余力は、業務知識やDB設計スキルの習得に向けたらいい。それらの習得には時間がかかるし、何よりもソフトウェア技術者の専門性は実装技術そのものではなく「身につけた実装技術が適用される分野に関する専門知識」にあるからだ。

 もし読者がオブジェクト指向開発にこだわりたいのであれば、アドバイスしたい。DSPを扱うベンダーに移って「DSPの開発」を担うか、DSPの存在しない先鋭的な分野に移れば活躍できる。自分でDSPを生み出して事業を立ち上げてもいい。少なくともオブジェクト指向言語で個々の開発案件を手組みするやり方では、業務システム開発の世界では今後は厳しいと言わざるを得ない。「オブジェクト指向言語を駆使して組み立てられたDSPを利用する開発スタイル」との競合になるからだ。オブジェクト指向言語のパワーを侮ってはいけない。

 この種の実装合理化の営みに対して「これまで何度も繰り返されてきた夢物語」と皮肉るだけでは判断を見誤る。これは機械語からアセンブラへ、アセンブラから汎用言語へ、汎用言語からドメイン特化言語へと発展してきた、プログラミング言語の高級化(自らの合理化)の流れとして見るべきだ。その上で個々の技術を評価するなり否定するなりした上で、自分が業務システム開発者として稼ぐための実装手段を選び取ればいい。より効果的な技術があれば、節操なく乗り換えてしまおう。ローコード開発技術はその選択肢の1つだ。

松岡真功(まつおか・まさのり)
大学卒業後、ソフトウェア開発会社でキャリアをスタート。以降はネット証券会社での独自システム開発や、ドイツの大手ソフトウェア会社での基幹業務システム導入におけるコンサルティング、ベンチャー企業での技術開発を経験し、起業に向けて着々と経験を積み重ねる。

2009年にBlueMemeを創業。業務システムのコンサルティング事業開始後、学生時代から25年近く取り組んできたモデル駆動型開発技術による業務システム開発の実現に積極的に取り込んできた。

2013年にOutSystemsと日本国内における総販売代理店契約を締結し、スクラッチ開発の数倍以上の開発生産性を実現する同社の次世代業務システム開発基盤である「OutSystems」の国内販売を開始。国内の先進的な取り組みを進める大手および中小企業を中心に、業務システムが抱える技術者不足や高コスト体制、グローバル化への対応等のシステムインテグレーションが抱える構造的な課題の解決を行っている。
渡辺幸三(わたなべ・こうぞう)
業務システム開発を専門とするプログラマー。システム設計ツール「X-TEA Modeler」、システム実装ツール「X-TEA Driver」の開発者。「データモデリング入 門」「生産管理・原価管理システムのためのデータモデリング」(日本実業出版 社)、「業務システムモデリング練習帳」(日経BP)、「販売管理システムで学 ぶモデリング講座」(翔泳社)など。 技術ブログ「設計者の発言」を運営。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

Special PR

特集

CIO

モバイル

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]