はじめまして
イオンネクストCTOの樽石です。イオンネクストとして初の草の根テックブログとなります。
本ブログは、イオンネクストのITシステムの概要を紹介するものです。
従って記事中のイオンに関する情報は、イオンが発表したものではありません。
本日はイオンネクストが来年サービスを開始しようとしている新しいオンラインマーケットについて、それをITシステムとして捉えた場合の概要について書こうと思います。今までは構想などの情報発信が主でしたが、今回は、より具体的な内容に触れることで、私達が取り組んでいるものの理解をさらに深めていただければと思います(そして、ご興味があればぜひご連絡ください。フルリモート、スキルシェア、即日参加という極めて魅力的な業務環境で参加可能です)。
イオングループについて
ところでみなさんイオングループはご存知でしょうか?イオンモールを筆頭に全国に様々な業態で事業展開をしている日本でも有数の小売企業です。
売上高は年間8兆円規模あります。グループの企業数も300ほど。日本だけでなく、アジアを中心とした事業展開をしており、グローバル企業でもありますから、このブログをお読みいただいている方も名前ぐらいはご存知なのではないかと思います。
かくいう、私もイオンモールにはよく遊びに行っていましたし、好きな場所です。しかし、自分自身がそのグループで働くことになるとは微塵も考えていなかったのですが、気づいたら 今年の3月 にイオンネクストIT部の推進をすることとなり、現在 10ヶ月ほど が経過しました。
はじめは半信半疑でしたが、実際に現場で事業推進をしていくにつれ、今までの外資系IT企業時代、スタートアップIPO牽引時代、個人創業時代を振り返ってみても、この規模の新規開発をこの期間で立ち上げようとしている環境は個人的にはほとんど見たことがないということに気づきました。
特に投資額と開発するシステムのカバレージは、多くの働く人にとって極めて魅力的な業務環境と思います。本題に入る前に、まず、この辺りについても軽く触れておきます。
ITエンジニアから見たイオンネクストの特徴
イオンネクストについて
その前に、そもそもイオンネクストとはなんでしょうか?その紹介を忘れていました。イオンネクストは、イオンが100%出資した戦略的新規事業会社です。2019年に設立されました。
これだけ見てもよくわかりませんので、ITエンジニアから見たイオンネクストの特徴について2点、紹介いたします。
イオン大型投資の中核を成す、スタートアップ事業会社
まずは投資額です。
イオンは 2017年に、IT・デジタル・物流分野へ3年間で5,000億の投資を行うことを発表しました。
イオンネクストはこの大型投資の中核を成す新規デジタル事業の一つで、IT・デジタル・物流の3つの革新を牽引しています。極めて野心的なプロジェクトであり、多くの従業員がこの壮大さに魅力を感じ、集まってきています。
また、イオンネクストは上記の3つの分野のソリューションを作る「機能会社」ではなく、「事業会社」 です。つまり、これらの革新的技術を活用・新規開発しお客さまに直接価値を提供するので、自分の活動によって社会がどのように変化したのか、直接認識でき、達成感が極めて得られやすい環境です。
開発する新規システムのカバレージ
次の特徴は、開発するシステムのカバレージです。
今回、イオンネクストが開発する新しいオンラインマーケットは、単に既存のものを少し改良するといったものではなく、ECサービスに必要な全てのシステムをゼロベースで考え、その中で再利用するものがあれば積極的に活用し、無いものは作っていくという極めて野心的なプロジェクトです。
具体的には、お客様が実際にアクセスするECサイトだけではなく、その裏側にある 「サプライチェーン(商品マスタ、発注、入荷、納品、返品)」、「配送」、「会計」、「カスタマーセンター」、「ビックデータ・マーケティング」、「コーポレート」 といった各種システム、そしてそれを実際に動かすための 様々なデバイス、カスタマーセンタースタッフが利用する 倉庫隣接の事務所棟、配送中継センター の設備一式なども含め開発を行なっています。
加えて、イオンネクストのIT部は、これらのシステム・設備一式を この一年で垂直で立ち上げる という極めて野心的なITプロジェクトとなっています。そして、このプロジェクト遂行のため、新たに 「内製開発組織」 を立ち上げ、IT部自体がシステム実態の 正しい理解 をもち、迅速な開発を推進できる体制を構築、「ソースコードを中心」 とした議論ができる文化を構築しました。
これにより、シニアのエンジニアの方にとっては、「今までの経験を活かした 集大成の場 」であると同時に、「グローバル最先端の仕組みを活用した新しいシステム開発を牽引」できる国内では極めて貴重な環境、そして若手の方にとっては、ECサービスの全システム構築に携われる 短期間で極めて学びの多い環境 となっており、いち早く経験を積んでいきたいという行動力のある方には極めて魅力的な環境となっています。
これらが IT エンジニアにとってのイオンネクストの特徴です。
そもそも何を作っているのか?
次にイオンネクストがそもそも何を作っているのか、紹介します。
現在イオンネクストは、次世代型オンラインマーケット (ネットスーパー2.0) というものを作っています。これは、いわゆる従来のネットスーパーと異なり、倉庫出荷型と呼ばれる、販売する商品を倉庫に保管しておいて、注文があった場合に倉庫からお客さまの下に直接出荷する形態のオンラインショッピングサービスです(常温商品を取り扱うECサービスでは比較的一般的となっている形態です)。
イオンネクストでは、「常温」に加え、さらに 「冷蔵」 「冷凍」 といった保存方法が極めて重要な商品を倉庫の中に統一的に保管し、最適な状態でお客さまのもとに直接お届けします。商品数としては、現在最大約 50,000 種類の商品を取り扱い、圧倒的な品揃えにより、お客さまの利便性を向上します。
加えて、イオングループとして初めて自社配送事業を立ち上げ、自社配送ビッグデータとECビッグデータをシームレスに結合します。これにより、お客さまのニーズにリアルタイムに対応する、お客さま起点のデマンドチェーン を実現します。
イオンネクスト全体アーキテクチャ
では、本題に入りたいと思います。こちらがイオンネクストシステムアーキテクチャの全体像です。
複数のクラウドおよびオンプレミス環境を組み合わせた マルチクラウド環境 となっており、「ユーザー向けシステム」、「業務向けシステム」、「基幹システム」に大別されます。
その全体システムを複数の コンポーネント に分割し、そのコンポーネント毎に複数のリソースを配置することでサービスを構成させます。
サービスを構成する様々なデータの流れは、最上流から最下流までの データパイプライン として規定し、実現します。
例えば、ECサイトで販売する商品情報については、基幹システムに存在するマスタ商品情報をイオンネクストの「商品情報パイプライン」を使って、商品情報品質管理システムで情報の最終整備を行ったのちに、ECサイトコンポーネントにREST APIを使って書き込みます。
同様に日々のサプライ・チェーンシステムでは、発注、入荷、納品の各ステップをサプライ・チェーンオペレーション業務端末と連動することで実現します。
一般に発注、入荷(出荷)、納品の商品数は一致しません。そこで、これの調整ために、「SCMパイプライン」で得られた各種実数値の差異を計算し、「会計システム」と連動し、(電子)返品伝票などの調整弁機構をいれたパイプラインを構築します。
このように、イオンネクストは全体のシステムをテナント、コンポーネント、リソースに分割した縦軸と、パイプラインという横軸の2つの軸により構成されます。そして、これらの定義を、「ANX1設計書」として、以下のように GitHub で言語化して管理しています。
リリースに向けたシステムマイルストーン(バージョン)
さて、次にシステムリリースに向けたステップについて説明します。
イオンネクストは2019年末に創業し、現在丸3年が経過しました。創業初期からコロナ禍となり、会社の歴史上ほとんどがコロナ禍という、極めて コロナネイティブな企業 となっています。
ANX(紀元前)
そんな中、創業初期はおもにイオンネクストのコンポーネントの一つであり、最も重要な英Ocado社の「Ocado Smart Platform」の調査・研究を行っていました。このシステムがどういったものなのか、どうすれば動かせるのか、日本での利用に必要な法務要件には対応できるのか、といった様々な視点からOSPへの理解と不足機能の改修要望を上げていました。
これらが概ね片付いた2021年末頃から、いよいよサービス稼働に必要なコンポーネントの構築、統合を開始しました。
とはいえ、当時はコンポーネントという概念はなく、単にサテライトシステムという呼び名で、OSPに足りないものを補完する追加のシステムという認識で開発を進めていました。
私がイオンネクストに参画したのはこの頃です。
その時のIT部は5名(うちエンジニア1名)で、この人数では到底この野心的なシステムを完成させることは出来ませんので、極めて多くのベンダーさんの協力を得て、機能の要件定義を行い、これから開発を進めていくという状況でした。したがって、その時、イオンネクスト内でソフトウェア実装されたものはほとんどなく、あるとすればOSPの調査のために開発した「OSP API Adapter」です。
しかし、私がミーティングで「ソースコードはどこですか?」と質問しても、そこにたどり着くのが極めて困難な組織体制となっており、完成してるものの一次情報にたどり着くことが出来ませんでした。その直前まで、GitHubを使って即日でソースコードにアクセス出来る組織体制にいたこともあり、どこから手をつけるべきなのか模索する日々が続きました。
とはいえ、今までそれで開発ができていたので、その方法でも開発が推進できればそれほど問題ではありませんので、しばらくは様子を見ていました。ただ、そうこうしてシステム開発が進んでいく中で、現在の開発体制では限界があることが段々と見えてきました。理由は2つです。
- OSPの調査から始まった開発物は、OSPの世界だけが前提となっていた
- 開発現場とのコミュニケーションコストが極めて高かった
まず1について、OSPは極めて豊富な機能を持つリテールテックのソリューションですが、OSPはそれを活用するユーザーがすでにECの基幹システムを持っていることを前提としています。しかし、イオンネクストは全く新しい会社のため基幹システムを持っていません。そのためこのシステムの開発に真剣に取り組まなければサービスを実現することが出来ません。「ワンストップのOSPと、いくつかのサテライトシステム」 という発想から、「イオンネクストというサービスにおける各種コンポーネントシステム」 という発想に切り替える必要があります。
一方で、このような大きなシステムアーキテクチャのピボットを、多くのステークホルダーに正確に伝えていくことはすでに極めて難しくなっており、またIT部においても実装しているものの実態が掴めず、開発を直接支援することも出来ない状態に陥ってました。
そのため、私がイオンネクストに入社一ヶ月ほどしてから、まず実装に対する理解をイオンネクストが自身が出来ている状態にならなければ、これ以上のシステム開発は極めて困難と判断し、イオンネクスト内に内製開発チームを作ることを決めました。
とはいえ、部長曰く、イオンでは本格的な内製開発チームは昔は存在したが、今は基本的に無くなっている。内製開発チームを作りたいとは思うが、どのようにチームを作り、マネジメントしていくのかノウハウが無いとのことでした。私もいきなり理想的な開発組織を描いたところで、それを実現するのは困難という認識です。どこかの会社の開発組織をいきなり輸入してもうまくいかないだろうと考えました。
そこでまずはサテライトシステムの中でも特に小さな開発をいくつか切り出し、それらを細々した開発として巻き取る小さな部隊という形から試験的な採用を開始しました(初期の開発はサプライヤー様が商品画像をアップロードするCMSの構築でした)。そして、エンジニアにとってのイオンネクストの魅力を整理、言語化し、それを私が直接カジュアル面談の形で直接候補者の方に語りました。特に「イオングループの志し」と「スタートアップの醍醐味」について、お話をしました。これにより、ご興味をもっていだけた数名のエンジニアの方が、イオンネクストに参画し、内製開発の卵が生まれました。
そこからは人が組織を作るという前提のもと、内製開発チームの拡大を進め、「正社員」、「副業」、「ベンダー」の方々をバランス良く融合した、「自分たちが作っているものを理解している開発チーム」を作りました。マネージャの採用も順調に進み、おおむね準備が整ったタイミングで、従来のサテライトシステムを、OSPと匹敵するコンポーネント であると発想を転換し、イオンネクストシステムの本格的な内製化に取り組みました。
同時にやはりITシステムは実装が全てです。どんなに組織を拡大しても、要件を定義してもコードを書かれなければ全くなにも動きません。コードを書くのは現場です。そこで本格内製開発組織完成のタイミングで、私自身も1エンジニアとなって、開発を一緒に進めさせてもらうことにしました。 主役である現場にいたかったのかもしれません(単純に楽しかったです)。
その間、部長会や監査役対応などは部長になるべくおまかせして、私が開発に比較的専念出来る状態を作ってもらいました。まず始めに行ったことは、現状の深い理解です。クラウド上には調査・研究に伴う大量の副産物が眠っていました。しかし、その中には業務システムとして本番稼働しているものが混ざっています。全貌を理解している人はいません。これらの骨子を整理し、何をどうすれば良いのか判断の参考になるイオンネクストシステムアーキテクチャの世界地図を描き始めました。
このシステムのことをイオンネクストの社名を使い「ANX(紀元前)」と名付けました(この解明が進んだことが本年の一番の成果と言えると思います)。
ANX0
次に行ったことは、プロトタイプの開発です。これを「ANX0」と名づけ、サービス稼働に必要な基本機能の完成を目指しました。特に、E2Eテストやドッグフーディングを並行して行い、作れていないものを具体化するという荒技により、完成図のイメージを固めました。
この期限は12末となっています。まさにいまこれよ完成に向け、最後の追い込みを行なっている最中となります。
ANX1
そして、年明けから開発しようとしているのが、サービスローンチをターゲットにした「ANX1」です。
これはさらに「ANX1RC1」「ANX1RC2」というマイルストーンを設定し、リリースまでに3段階の節目を用意し、ローンチに備えることとしました。
ANX(紀元前) / ANX0 の試みにより、「何を作れば良いのか」、「どこがサービスローンチの品質に影響があるか」などが見えてきました。また各種コンポーネントの区分けもはっきりしたことで、役割分担がしやすくなってきています。開発をスケールさせていくフェーズともいえます。
テクノロジーによる小売業界革新のための挑戦
以上が、サービスローンチのために私たちが取り組んでいるものです。創業期でもあることから、その多くがスタート地点に立つための開発が主となっていることがお分かりかと思います。
しかし、創業3年が経過し、サービスローンチを来年に控えていることから、ローンチ後を見据えた新たな取り組みの準備を始めています。ここではそのいくつかを紹介いたします。
商品マスタの整備とナレッジベースの構築
まず、イオンネクストが最も価値を提供できる部分として、生鮮品も含む、膨大な量の電子化された商品情報 があります。これには街の農家・漁師などの方々が生産された、こだわりの生鮮食品も含まれます。
こういったロングテールのこだわりの生鮮食品と一般的な量産品を同じコーパスに集約し、最新のAI技術を活用して、商品に関するナレッジベースを構築するアイデアが考えられます。
小売業に詳しい方はご存知かもしれませんが、国内では、商品情報を一元管理する体系化された仕組みが、思うように情報科学的に便利な形で浸透していません。大枠として「JANコード」はあるのですが、そこのプライベート空間(文字コードでいうと外字空間)の使用割合が高く、しかも割り振ったコードを店舗の一部のその場限りで利用することも多く、情報集約することの障壁が極めて高くなっています。
しかし、商品ナレッジベースを構築するには、全ての商品を扱いやすい形で同じ管理空間(コーパス、ベクトル)に集約する必要があります。イオンネクストは、全ての商品に一意のコードを振らないと販売が出来ませんので、商品情報を同じ管理空間に集約することが出来ます。これに、商品の販売情報などを組み合わせることで、全商品に関するビッグデータが完成します。
このビッグデータがあれば、さまざまな情報科学の適用が可能となり、より便利なお客さま体験を実現することが出来ます。
デマンドチェーン
次に考えられる大きな取り組みが、お客さまを起点とした小売の最適化です。イオンネクストのITシステムで取り組んでいるものとして、内部データの互換性・接続性・及び標準化があります。例えば、ECサイトを構築する際、「配送」と「販売」は全く別のシステムで構築することが一般的です。そうなると、「配送」の状況を数理最適を用いて求めた解によって、「販売」にリアルタイムに活用することが出来ません。
イオンネクストでは、お客さまの需要からお届けまでの全てのシステムが 「データを中心」 としてつながっています。これにより、さまざまなデータサイエンスの適用が可能となり、より利便性の高いサービスの実現が可能です。
私たちはこれをデマンドチェーンと呼んでいます。
開発体制及び基盤
次に、イオンネクストの開発体制とその開発基盤について紹介します。
開発体制
イオンネクストIT部は、3つのチームから構成されます。「企画・運営を行うチーム (WHY/WHAT)」と「要件を実現する2チーム(HOW)」です。この2チームはさらに「エッジ」と「クラウド」に分かれます。
「エッジ」は倉庫や事務所、配送中継点といったサービス現地のシステム開発を行うチーム、「クラウド」はオンラインマーケットを実現するためのクラウドリソースの開発を行うチームです。
これに基づき、組織上の名前を、
- 「企画運営」 => プロダクト&ソリューション
- 「エッジ」 => インフラ&オペレーション
- 「クラウド」 => DevSecOpsエンジニアリング
としています。これらのチームの中には、「社員」、「副業(直接業務委託契約)」、「ベンダー経由の個人紹介(間接契約)」、「ベンダー」という形態で業務をしています。クラウド開発においては、フルリモートによる副業の方がチーム全体の 16.7% となっており、イオンネクストでは極めて一般的な業務形態となっています。
開発基盤
最後に DevSecOps の開発基盤について概要を紹介します。まず、開発体制のところで触れましたが、DevSecOps の業務形態構成比では、副業の方が 16.7% いらっしゃいます。特に「フルリモート」、「スキルシェア」、「即日参加」というコロナネイティブならではのITエンジニアの働き方で受けれています。
これを実現するためには、開発のオンボーディングをいかに簡単にするかということが必要です。そこで、それまでメインのコード管理基盤であった「Azure DevOps」を、10月より「GitHub」に変更しました。そして、12月からは「GitHub Codespaces」の導入を開始し、「githubアカウントがあるITエンジニア」であれば、即日でリモートで開発に参加できるようにしています。ソースコードやデータはローカルには保管されず、全てクラウドの開発基盤で完結します。
コミュニケーションは slack を導入し、非同期のオープンコミュニケーション、及びハドルによる積極的なコミュニケーションをおこなっています。イオンネクストIT部のパブリックチャンネル利用率は86% となっていて、極めて高いオープンコミュニケーション率となっています。
最後に
本日はお読みいただきまして、ありがとうございました。イオンネクストは、イオングループが構想した次世代型オンラインマーケットの実現に向け、現在鋭意サービスローンチに向けて開発を進めています。
今年の3月にCTOとして参画してから、どういう形であればイオンネクストの高い目標を推進できる組織になるかを検討し、組織づくりに取り組んできました。特に、既存の経営・組織資産を活かしながら、IT業界で比較的一般的となっているクリエイティブな開発が推進できる組織体制について構築を進め、その小さな形がようやく出来上がってきたと思います(先日、DevSecOpsチームで年末KPTを行ったのですが、あまりの素晴らしさに感動しました)。
10月からは私もチームメンバーとして参加して、一緒に開発を進めてきました。ほとんどのメンバーが入社数ヶ月という状況のため、一部、トップダウンで押し進めた領域もありますが、概ね合意形成しながら進んできたのではないかと思います。KPTでの一体感があれば、来年は開発を十分任せていけると感じています。
そして、イオンネクストでは、サービスローンチに向けて、引き続き積極的にエンジニアの採用をおこなっています。サービスローンチ時特有の一体感、そしてその後のグロースフェーズを肌で感じたい方がいらっしゃたら、ぜひご応募をお願いします(JDは一部雑な部分もあります。迷った場合は、ぜひお気軽にご質問いただき、ご自身のキャリアにマッチしそうであれば積極的にご応募ください)。
日本のネクスト、そして世界のネクストを創っていく仲間を募集しています。
それではみなさん、良いお年をお迎えください。