アプリケーション開発を自動化する時代

要約

  • ユーザ部門(非エンジニア)が要件定義し、それに基づくコードを自動生成してアプリケーションを作る時代が近づいている。

  • 非エンジニアの要件定義(INPUT)から生成されたコードにより動作するアプリケーションは、現時点では制約が多い(実現可能な機能が少なくUI自由度が低い)が、今後AIにより制約はどんどん少なくなっていくだろう。

  • アプリケーション自動作成サービスが乱立し、その市場はレッドオーシャンになるだろう。それがわかっていながら「弊社ならこんなUIUXにするのに!」という妄想が膨み中で困っている。

業務部門が要件定義し、エンジニアはコードを書かずアプリケーションを実装したみずほ銀行

2019年7月16日、みずほ銀行は新システム「MINORI」をローンチした。のべ35万人月・約4500億円を投じて19年間も開発を続けて完成させたという巨大システムだ。その中で「流動性預金」や「内国為替取引」等の業務コンポーネントは、2つのユニークな工程で開発された点に注目が集まっている。

まず要件定義をユーザ部門(業務部門)が、上流工程支援ツール「Xupper」を使用して自ら行った点だ。

Xupperは業務フロー図やデータモデル図といった基本設計書類を作成するもので、本来は情報システム部門や、SIerがユーザ部門にヒアリングを行いながら使用する。この本来の使用方法では、要求を出す「ユーザ部門」と、それをまとめる「情報システム部門」という2極が生まれ、その間での情報伝達や理解に齟齬が発生しやすい。齟齬を無くすためには、繰り返し繰り返しの確認を行い、多くの時間を消費する。

Xupperをユーザ部門が直接使う事により、みずほ銀行のMINORIプロジェクトでは解像度の高い(粒度の細かい)要件定義をスピーディーに実現したのだ。

次の注目点は、要件定義を受け取ったプログラマーの実装方法だ。実装は富士通の開発した「Interdevelop Designer」を使い、ソースコードを直接書くこと無しで実装したと言われている。このツールは、数式や日本語でロジックを記述(INPUT)し、JAVAやCOBOLの実装コードを自動生成し、加えてテストスクリプトも自動生成してくれる。みずほIR・田辺主税銀行システムグループ横断本部本部長によれば、ツールで吐き出したソースコードを手動で調整する事も禁止する徹底ぶりだったらしい。そして「コーディングの作業量が1/5に減った」と公言している。

要件定義・テストスクリプト・ソースコードを、一括で生成するツールが登場する、はず

みずほ銀行の例では、非エンジニアのユーザ部門で要件定義を行い、プログラマーがソースコードの記述無しでソースコードとテストスクリプトを生成しアプリケーションを開発している。ユーザが要件定義した後にプログラマが関与しなければ、本格的な業務に耐えうるソースコード・テストスクリプトを作成する事が現時点ではできないのだ。これまでもユーザ部門の担当者をメインターゲットとした要件定義支援ツールは存在していたが、アプリケーションを直接実装する事が可能な解像度(粒度)を出力することはできていない。つまり「アプリケーション自動作成ツール」にはまだまだ進化が必要な状況だ。

しかし時代は動いている。2020年6月26日、「Amazon Honeycode(β)」がリリースされた。Honeycodeは、ユーザ部門が慣れ親しんだ「スプレッドシート」と数式を操作し、UIテンプレートにフォームオブジェクト等を配置しけば業務アプリを実装できるというAWSのサービスだ。

まだまだ手動でエンジニアがコードを記述する場合に比べたら、実現可能なことは限定され、UIデザインの自由度も低く改善の余地は大きいが、既に「コードを書かずにアプリ実装する」というコンセプトを体現するレベルにまでサービスは成長している。今後AIのアシストが強化されれば、これまでプログラマの職人技に依存していたコード・スクリプト作成を、ユーザ部門が自分たち自身で可能になる時も来るだろう。

「自動アプリケーション自動作成サービス」時代に、弊社の生きる道

数年前から、サーバ・ネットワークインフラの領域では一般のエンジニアがコードを書いたり、直接設定をする事が減っている。AWSやGCP、AZURE、SAKURAといったクラウドサービスプロバイダーが、「いい具合」のサーバ環境をインスタントに利用可能なように提供しており、それを利用するのが合理的だからだ。

現時点ではサーバ・ネットワークインフラ領域が主だが、今後はアプリケーション実装の領域にも同じような流れがやってくると考えられる。アプリケーション自動作成サービスを利用し、「いい具合」に初期設定された環境の中で、ソースコードを書くこと無くアプリケーションを作れるようになっていくのだ。そしてそもそも、アプリケーションを作るのって、エンジニアの仕事だっけ?という時代になっていくだろう。

そんな展望を持つ弊社は、どう生きていくのか?

「アプリケーション自動作成サービス」自体を開発していくことにもすごく興味があるが、この分野は間違いなくレッドオーシャンになる。Amazon、Google、Microsoftといった巨大資本と闘う覚悟が必要な領域だが、残念ながら自分にはその覚悟がまだ無い。でも、こういうUIUXでサービス作ったら良いんじゃないかというアイデアは最近どんどん浮かんでくる。どうしよう。完全に自動化されるのはまだ先の話だから、まずはサービス作りはじめてみようかな。最初のコンセプトは、弊社自身が仕事で使える要件定義・テスト仕様作成支援ツールだ。


この記事の「あとがき」をnoteで公開中
→『あとがき – All for CONTENT –


※参考『みずほ銀行システム統合、苦闘の19年史 史上最大のITプロジェクト「3度目の正直」