挑戦する研究開発者たち
広い視野と高い視座を持った異文化コミュニケーションでグローバル展開
社会や産業のDX(デジタルトランスフォーメーション)が加速する現代、それに対応していくためのIT人材不足が社会課題となっています。こうした状況の中、ローコードによるソフトウェア開発が注目されています。NTT東日本 デジタル革新本部の神山和憲氏にローコードによるソフトウェア内製開発の概要とその背景、そして、開発者としての姿勢を伺いました。
神山和憲
ソフトウェア内製化推進PT長
NTT東日本 デジタル革新本部 デジタルデザイン部
ローコードプラットフォームによりソフトウェア内製開発にチャレンジ
現在、手掛けている開発の概要をお聞かせいただけますか。
いわゆるローコードプラットフォーム(LCP)を活用した業務ソフトウェアの内製開発を行っています。
これまで業務用のアプリケーションを開発するには、専門的で高度なITスキル・プログラミングスキルが必要となるため、多くの日本企業がアウトソーシングによる開発を選択してきました。
昨今、IT人材不足がある意味社会課題化する中で、専門的で高度なスキルがなくてもソフトウェアの開発を可能とするために、事前に用意されていている基本的な各機能を用いて、それらの結合やカスタマイズをするときにコーディングを行うことで、従来よりも少ないコードでアプリケーション開発を可能とする手法としてローコードが登場しました。私たちは、このローコードによるソフトウェアの内製開発を推進しております。
どのような経緯でローコードに着目し、開発推進されているのでしょうか。
NTT東日本は、非通信分野の新たな事業を指向していく中で、ソフトウェア内製化を促進し、内製化によって得た技術を基にソフトウェア事業を新たな事業の1つの柱としていくことに注力しています。NTT東日本にとってソフトウェアの内製開発は前例がなく、アウトソース依存だったため、社内には技術もリソースも乏しい状態でした。このような状況の中で、ソフトウェア開発内製化の対象システムを検討するにあたり、基幹系のシステムはそのミッションクリティカル性や場合によってはリアルタイム性により高度な専門スキルを必要とすることから対象とはならないが、それ以外のシステムが数多くあり、ミッションクリティカル性やリアルタイム性が要件とならないシステムも多くあることに気付きました。そこで専門的なスキルを必要としないローコードに着目して、基幹系以外のシステムにLCPを活用した開発を行うこととしました。
2020年に私を含む3名の社員により「LCPタスクフォース」が立ち上がり、プログラミングやローコードに関するスキル取得と並行して、SaaS(Software as a Service)として提供されているローコードツールをいくつか試しに利用しながら比較検討する中で、OutSystemsをベースとしたLCP環境を構築しました。このLCPは、必要スキルや体制規模を抑制しつつ、柔軟性の高い開発ができるプロ用のLAPに位置付けされており、上流工程における画面プロトタイピング、ソースコード生成後のデプロイなど、従来の自動化ツールよりも広範囲のライフサイクルを自動化し、高い生産性を実現するといった特長があり、図1に示す要素により構成されています。
LCPを中心に、かつ市中のSaaS/パッケージ(PKG)等も積極的に活用したソフトウェア内製開発を進めていく領域として、①これまで外注していた業務システム、②共通系業務等のこれまでシステム対応してこなかった新たな社内業務向けシステム、③営業部門等と連携した地域ビジネス向けシステム開発の3領域を対象として、迅速で安価なソフトウェアを提供していきます。併せてそれらを支えるリソース充実の取り組みとして、DXファクトリー、オフショア、人財充実を進めることによりソフトウェア製造力の強化を図ることをめざしています(図2)。
経験から得たスキルをブラッシュアップし、ローコード内製開発で事業貢献
これまでのソフトウェア内製開発の成果を教えていただけますでしょうか。
代表的な開発事例として、約1000あるNTT東日本グループ各社の情報システムに関する、業務概要、システム主管、システム構成・機器、ネットワーク機器等の情報を一元管理する「情報基本台帳システム更改」と、NTT東日本グループ各社の緊急情報連絡の発生登録、リスクアセスメント、幹部報告を迅速に行うための業務支援システム「緊急情報連絡GRC(Governance、Risk management、and Compliance)ツール」があります。
「情報基本台帳システム更改」については、サーバ、OS、ミドルウェアがEoL(End of Life)を迎えることで更改が必要になったものの、開発の経緯、機能等を知る開発者の退職に伴いシステムがブラックボックス化しているため、スクラッチで再開発する必要が出てきました。これを内製でリバースエンジニアリングを行い、約120Kline、200を超える機能群からなるソフトウェアを、ローコードを活用し、開発未経験者3名(途中2名追加)により8カ月で内製開発し(2021年11月リリース)、これにより想定2500万円のキャッシュアウトが抑制(ソフトウェア部分のみ)されました。
「緊急情報連絡GRCツール」については、緊急情報連絡のアセスメント強化等の施策に併せ、総務人事部との連携により業務設計段階から参画し、スクラッチ開発で推定約30Kline規模のソフトウェアを、2名により1カ月でローコード内製開発し(2021年10月リリース)、これにより想定1000万円のキャッシュアウトが抑制されました。
これら2件を含むローコード開発事例を表に示します。
当初は「LCPタスクフォース」から立ち上がったチームで、自らがローコード内製開発を行っていましたが、2021年12月から開発コスト(人件費)削減と海外展開を目的に、ベトナムに開発拠点を設立してオフショア開発を行っています。先に紹介したとおりOutSystemsは、LCPの中でもスクラッチの汎用性を持ちつつ、アプリケーションレイヤより下部レイヤを効率的に隠ぺいでき、必要スキル、体制を価値創造に注力することができる優れた側面があります。このため、オフショア拠点はアプリケーションレイヤに専門的なスキルを持つ人材で構成しております。2022年4月にはNTT東日本として本格的に内製開発を進めることを目的に、「ソフトウェア内製化推進プロジェクト」を組織化し、ローコード開発チームとしては国内で主として要件定義等の上流工程を、オフショア(約80名)でコーディング以降の工程を担当しています。この流れの中で私も、ローコード開発の当事者からローコード開発を含むチームの統括マネージャとして、LCPのプロモーションや各プロジェクト全体を統括するマネージャ、開発システムのNTTグループ各社への展開やベトナムを中心とした東南アジアへの展開といった役割にシフトしていきました。
開発者としてスキルの維持、スキルアップはどうしていますか。
私は1997年にNTT東日本に入社後、ネットワークエンジニアとしてフレッツVPNサービスの設計・運用等を10年間担当してきました。ネットワークの運用監視を行う中で、サーバやネットワークで発生するインシデント等を自動収集し、自動的に復旧させる仕組みやツール類をつくりました。また、お客さまからの申し込みに連動して、ネットワークノードに設定が入り、お客さまへサービス提供開始ができるオーダフロースルーの設計・実装・運用を行いました。
この経験で得たスキルをベースに、2007年にNGN(New Generation Network)のオペレーションシステム、特にフレッツ系の基幹システムの開発を担当し、開発パートナーであるNTTコムウェアやNTTデータと連携して、主として要件定義から外部設計を中心とした上流工程と試験工程、およびプロジェクトマネージメントのスキルを得ました。このスキルを活かして2020年からソフトウェア内製化事業を推進しています。
ただ、これまでの経験から得たスキルは、発注側IT組織の立場としての上流工程や、大規模な複数システムをつなぎ合わせて、ミッションクリティカルな業務品質を担保するための試験工程等と、プロジェクトマネージメントであり、コーディングをはじめとしたソフトウェア製造に関するスキル、ローコード開発のスキルはありません。そこで、最初にOutSystemsをはじめとするSaaSの国内系ベンダが提供しているセミナーを受講し、併せて資格取得も行いました。
とはいえ、この先のビジネスを見据えた場合、単にローコードを使えるといったレベルでは不十分で、PoC(Proof of Concept)を超えて、ビジネスに活用可能なほど使いこなせるスキルと経験が必要になります。そこで、NTTデータ社と連携し、実案件の開発を行いながら開発のフレームワークや、実際にローコードにフィットする上流工程とは何か、といった命題に悩みながら勉強してきました。こうした経験を積んだ人財を核として、私たち自身がCoE(Center of Excellence)的な役割となり、後進やベトナムのオフショアメンバへのスキル展開を図っています。
異文化コミュニケーションによりグローバルなビジネス展開を体現
事業会社は異動がありますが、こうしたスキルを活かして将来的に何を経験したいのでしょうか。
NTT東日本の中で得たさまざまな経験を基に、できればベトナム現地のローコード開発のマネージャをやってみる、さらにNTTグループではなくてベトナムや他の東南アジアのお客さまに対してビジネスを行う、といったビジョンを実現し、そこに挑戦するのも面白いと思っています。
現在、CoEとしてベトナムにスキル展開を図っているところで、私も何度もハノイへ行って現地の人たち、特にコアメンバーとディスカッションしているのですが、幸いなことにその中に日本語が堪能な人が何人かいます。ディスカッションの中で、ローコード開発の基本的なところやLCPの規約に依存するようなところはうまく意識が合うのですが、それを要件に結び付けていく段階でプロジェクトマネージャの個性が出てきます。日本であれば、開発標準に沿うかたちで一定のレベルを保つことができるのですが、これはまさに文化の違いなのです。ビジネスとして成立させていくためには、品質を含め一定のレベルを保つのは必須であることから、コミュニケーションを取りつつ、文化の壁を乗り越えて同じ目標に向かって進んでいるという実感があります。せっかくここまで築き上げてきたところでもあり、プロジェクトとしての最終目標であるビジネス展開に直接携わり、貢献していきたいと感じています。
後進へのメッセージをお願いします。
常々プロジェクトのメンバに言っていることですが、社内を中心として活動してきた人間が急にグローバルの立ち位置になり、さらに環境の変化も激しくなることが予想される中で活躍していくためには、広い視野と高い視座を持ってコミュニケーションを大事にしてほしいと思います。社内であっても部署が異なると話がかみ合わないことがあり、ベトナム人との間でも共通の技術でさえも通じないこともあり、これはある意味異文化におけるコミュニケーションなのではないかと思います。こうした異文化コミュニケーションにおいては、広い視野と高い視座で眺めると、相手の文化を理解することもでき、それによりさまざまな可能性を自分でつかんでいけるのではないかと思っています。
技術は世界共通言語という話を聞いたことがありますが、それこそ開発者のコミュニケーションは最初からグローバルなのです。たまたま、お客さまが国内に限定されていただけなのかもしれませんし、そのお客さまもこの先グローバル化していくことも十分にあり得ます。そういう中に身を置くためには、特に技術の世界では、グローバルな技術動向・業界動向を広い視野と高い視座から眺めて、異文化コミュニケーションをとっていただきたいと思います。