【PR】2019.09.13TwitterLINEFacebookHatena「AIの発展によってプログラマーの仕事が奪われる」という話を、一度は耳にしたことがあるのではないだろうか。遠い未来の話だと捉えている人も多いかもしれないが、株式会社BlueMemeでは『OutSystems』という自動プログラミング技術を用いることで、プログラマーを必要としない受託開発を既に行っているという。今回はそんなBlueMemeの代表取締役CEO松岡さんと、取締役CTOの朱さんに、『OutSystems』の導入背景や開発の実情、自動プログラミング技術が普及した先のエンジニアの仕事の変化について話を伺った。松岡真功さんソフトウェア開発会社でキャリアをスタート。オンライン証券のカブドットコムのエンジニア、基幹業務システム最大手のSAPでは導入コンサルタントを務める。2009年6月にBlueMeme(ブルーミーム)を創業。朱未(しゅ・み)さん中国の大学院で機械工学を学び来日。複数のベンチャー企業でセットトップボックス向け組込みLinuxや組込みブラウザの開発に従事。その後、モバイルやエンタープライズ向けシステムの開発に取り組む。「エンタープライズ系開発にアジャイルを」コーディング作業の削減が肝だったそもそもBlueMemeがOutSystemsを取り入れた背景には、「アジャイル開発」を実現するという大きな目的があった。対照的な開発スタイルとして比較されることが多い「ウォーターフォールモデル」と「アジャイル」だが、両者は製造業における効率的なものづくりに必要な知見を、ソフトウェア開発向けに転用したという意味では共通点がある。異なるのはフォーカスしている工程と、それがもたらす成果の違いだ。「ウォーターフォールモデルは均質な製品を効率良く量産する生産工程を模倣しているのに対し、アジャイルはユニークな成果を求め、試行錯誤を重ねながら成果を出す先行開発やR&Dの手法を手本にしたものです。そのため、厳格なマニュファクチャリング工程を重視する基幹系システムや業務アプリケーション開発にウォーターフォールが採用され、クリエーティビティーと変化への素早い対応が重視されるウェブシステムやコンシューマーモバイル向けのアプリケーション開発には、アジャイル開発という棲み分けがなされてきたのだと思います」(松岡さん)事実、基幹系システムにアジャイル開発は向かないという声はよく聞く。システムの規模が大きくなれば、確かに一つのチームが全ての工程を担うよりも、工程を分割し同時並行で作業を進めた方が効率が良いからだ。開発効率を高めたいのであれば、洗練された業務プロセスがプリセットされている既存のパッケージソフトを導入すればいいのではないかという見方もある。システム開発会社のBlueMemeで代表を務める松岡さんは、これまで、こうした話を耳にするたびに大きな違和感を覚えていたと明かす。「私が持った違和感の源は、これだけ変化がはやく不確実性が高まっている時代なのに、基幹系システムや業務アプリケーションの開発にはこの二つしか解決策がないという点にありました。したらエンタープライズ系の開発にアジャイルを取り入れられるか。工数・コストを大幅削減エンジニアじゃなくても即開発者へ確かに数万行、数十万行におよぶコードを書く時間を削減できれば、アプリケーション開発の作業効率は一気に上がるだろう。業務アプリケーションに求められる機能は多岐にわたる。すべての要求に高い次元で応えられるツールは存在するのだろうか。BlueMemeでCTOを務める朱未(しゅ・み)さんは、世界中の100を超えるプロダクトを検証した結果、ユーザーインターフェースに優れ、業務アプリケーション開発に必要な機能を持っているツールを見つけることができたと話す。「それが『OutSystems(アウトシステムズ)』です。私たちは2012年からこの製品を活用し始めて、これまで100社を超えるお客さまに対してテーラーメイドの業務アプリケーションを提供してきました。2017年からはこのOutSystemsに加えて、スキーマを事前に定義することなく、多様なデータを容易に扱うことができる次世代型データベース基盤『MarkLogic(マークロジック)』を組み合わせ、さらに効率的な開発体制を確立しています」(朱さん)OutSystemsは、「プロセス」「インターフェース」「ロジック」「データ」の4種類のモデルを定義するだけでソースコードを自動生成することができる、ポルトガル発祥のローコード開発環境プラットフォームだ。ビジュアル化したアイコンを組み合わせ、フローチャートを作成するだけでコードが自動生成されるため、利用者はごく一部の例外を除きコードを書く必要がない。エンジニアはモデルの作成とテストを繰り返すことで、プログラムの精度を高めることに集中できるのだ。OutSystems作業画面イメージMarkLogicも、データベースの構築に不可欠とされた前処理に時間を割くことなく構造化データ、非構造化データを扱えるため、テストと改善を繰り返すアジャイル開発と相性が良い。BlueMemeでは、これらのツールをアジャイル開発手法と組み合わせることによって、1チーム数名の開発メンバーで、製造業、サービス業などで使われる大小さまざまな業務アプリケーションを手早く開発することを可能にしている。「業務アプリケーションの用途や規模によりますが、OutSystemsを使えば開発に要する期間はJavaやC#で開発する場合と比べて、20%~30%程度で済むようになるため、アプリケーションの早期リリースや、開発予算の削減が期待できます。PC、iPhone、Androidなど、複数のプラットフォームに対応した業務アプリケーションを必要とするお客さまや、老朽化した基幹系システムを刷新したいものの予算が限られているお客さまなどから、高い評価をいただいています」(朱さん)松岡さんは、自社のビジネスプロセスを完全に理解している人であれば、エンジニアでなくても使いこなせるようになるのもOutSystemsの大きな魅力だという。「勘のいい方であれば4、5日程度のトレーニングで基本操作が習得できるので、開発経験が全く無い方であっても、業務アプリケーションをつくることができます。した利点が知られるようになってからは、経営企画部門や事業部門でビジネスに携わっている方からお声掛けいただくケースが増えました。これまでは専門家に頼らなければつくれなかった業務アプリケーションを、自分たちで開発・改善できるのであればそれに越したことはないと考えるお客さまは多いですし、今後も増えていくのではないかと思っています」(松岡さん)さらに松岡さんは、いずれユーザー自らが業務アプリケーションを開発することが当たり前になる時代がやってくるとみている。「私たちは、近い将来、アプリケーションの利用者自身がAIの支援を受けながら、業務アプリケーションを簡単にリリースできるような時代が来ると思っています。それがシチズンデベロッパー(市民開発者)の時代です。「ビジネスの価値」に目を向けろ松岡さんが想定する通り、業務アプリケーションの利用者がシチズンデベロッパーとして台頭することになると、開発の世界からプログラマーやエンジニアは不要になってしまうのだろうか。松岡さんは「役割が大きく変わる」と指摘する。「長期的には、仕様書通りにコードを書くだけのプログラマーが活躍する場は無くなっていくでしょう。仕様を策定する立場のシステムエンジニアも二極化すると思います。OutSystemsのようなプラットフォーム、もしくはプラットフォームを構成する要素技術や支援サービスをつくる側に回るか、プラットフォーム上でモデルをつくる側に回るか、このいずれかを選ぶことになるのではないでしょうか」(松岡さん)おそらく10年後には、そうした状況がいまよりも顕著になると松岡さんは話す。「コツさえつかめれば、モデルは誰でもつくれるようになるのは確かです。第三者の目から見て分かりづらいモデルからは、無駄が多いコードが生成されてしまいます。これまでは仕様に多少の粗さや抜け漏れがあっても、実装とテストを担当するエンジニアがフォローしてくれましたが、この工程が自動化されればこうした対応は期待できません。シチズンデベロッパーが増えることによって、質の高いモデルを手早くつくれるシステムエンジニアと、そうでないエンジニアの実力差が顕著になるかもしれません」(朱さん)松岡さんは、コーディングが民主化され、誰でも業務アプリケーションがつくれるようになったとき、BlueMemeはSIerの看板を下ろすことになると話す。「需要が見込める以上、受託開発サービスは提供し続けますが、企業が自社の業務アプリケーションを自作することが一般的になれば、BlueMemeは何らかのプラットフォームサービスを提供する側に回ることになるでしょう。変化を強いられるのは私たちだけではありません。これまでのSIのビジネスモデルも根本的に変わります。仮に10年、20年の間にプログラマーが不要になり、システムエンジニアの仕事が激変するとしたら、これから現役のエンジニアは何をすべきなのだろうか。松岡さんは、「ビジネスの価値を理解できるエンジニアを目指すこと」が、将来を切り開く鍵になると考えている。「私も長らくエンジニアでしたから、コーディングの面白さに執着してしまう気持ちも分かります。テクノロジーの進歩と業務の効率化に対するニーズの高さを考えれば、コードの自動生成は避けられません。一方で、ビジネスの価値を正しく理解し、自らビジネスモデルの創出に関与したいと考えるエンジニアには活路が開けるとも考えています。モデルを構築するのはあくまでも人間の仕事だからです。若手エンジニアの皆さんには、ぜひビジネスモデルを語れるエンジニアを目指してほしいですね」(松岡さん)朱さんは、「まずは好奇心を保ち続け、さらなる大きな変化に対処できるだけの足腰を鍛えることが生存競争に打ち勝つポイント」だと続ける。「これからエンジニアを取り巻く環境はどんどん変わっていきます。常に最新の情報をキャッチアップし、ビジネスや技術に関する知見を力を身に付ける意欲があれば、時代が変わってもキャリアの選択肢はあるでしょう。仕事や日常生活の中で有望なビジネスや面白い技術に出会ったら、興味を持って学ぶ姿勢を保ち続けてほしいですね。いろいろな事象に好奇心を持ち続けることで、変化に強いエンジニアになれると思います」(朱さん)伝統企業の多くがデジタルトランスフォーメーションに苦戦する中、IT企業は安泰と思われがちだ。ITの使い手である彼らにしても、新たなディスラプター(創造的破壊者)の登場によって役割を奪われる可能性もある。エンジニア自身もこうした変化と無縁ではいられない。「これまで開発の現場で当たり前とされてきたことが、根底から覆るような場面が今後増えていくでしょう。不安をかき立てられる方もいるでしょうが、視点を変えると、業界の常識や現状に疑問を感じているエンジニアにはチャンスが多い時代になるとも言えます。これからの時代に必要とされるのは、既存の枠組みに飽き足らないエンジニアです。私たちもそうした志向を持ったエンジニアには特に期待を寄せています」(松岡さん)コードを書くことが不要となる時代でエンジニアは何を成すべきか。今こそ自らの仕事の本質について思いを巡らせる時なのかもしれない。転職サイトtypeは株式会社キャリアデザインセンターによって運営されています。