エンタープライズシステム開発に「エコシステム」を導入した事例秘話 - Accenture Meetup -
2017年11月10日(金)19時30分より、「エンジニア向け/デジタル・エコシステムをつくり出す技術勉強会 - 大手〜ベンチャーまで全24社が集結して生み出したアプリの技術についてお話します - #アクセンチュアMeetup」が開催されました。
アクセンチュアが主催する本イベントは「デジタル・エコシステム」に焦点をあてたもの。同社が持つ大規模エンタープライズ案件の事例が紹介されるとあり、多くの参加申し込みが集まりました。当日は抽選に当たった約100名が参加しました。
イベントの内容と登壇者は次の通りです。
「デジタル・エコシステムを支えるシステムアーキテクチャとその将来展望」
アクセンチュア株式会社 山根 圭輔さん
「DevOps~ChatOpsを最大限有効活用した開発プラットフォーム」
アクセンチュア株式会社 水上 廣敏さん
それでは内容を紹介します!
デジタル・エコシステムを支えるシステムアーキテクチャとその将来展望
前半は山根さんのセッションです。山根さんは、アクセンチュアで展開するデジタル・エコシステムのベースとなるソリューションを紹介します。
山根圭輔(やまね・けいすけ)/アクセンチュア株式会社 テクノロジー・コンサルティング本部 テクノロジーアーキテクトグループ New-IT/Digital/Fintech担当 マネジング・ディレクター。東京大学大学院生化学専攻出身。
初めに山根さんは「エンタープライズ企業が取り組むデジタル・エコシステム」とはどのようなものなのか、アクセンチュアでの事例を2つ紹介。まずは、福岡銀行が提供するフィンテックのエコシステムサービス「Wallet+」です。スマートフォンアプリで提供されている「Wallet+」は、福岡エリアの消費者のみをターゲットとしながらも、現在20万DLを達成しています。
「『Wallet+』はインターネットバンキングのサービスではありません。『Wallet+』の目的は、これまで銀行が持っていなかったタイミングで、顧客とのタッチポイントを作ること。毎日なんらかの接点を持つことで、顧客のライフサイクルをカバーすることを目指しています。
もちろん、銀行のサービスだけでは、顧客と毎日接点を持つことはできません。アプリ内では、例えば『ユーザーにパーソナライズした福岡の情報』が提供されます。そこで様々な企業と協業しているのですが、この『Wallet+』内には『福岡銀行』の名前は一切ない点がおもしろいですね
この『Wallet+』の第1リリースまでの期間は約10か月でした。その後、半年くらいの感覚で1.5、2.5をリリースしながら、その間に中規模なリリースで機能を追加していきました。小規模なリリースは2週間に1度くらいの頻度で行っています。」(山根さん)
もうひとつは第一生命における「インステック(保険+テック)」の取り組みです。
「第一生命さんの案件では『健康第一』という健康増進のためのサービスを展開しています。
保険会社においても、顧客とのタッチポイントが少ないのが課題だったんですね。基本的には契約時、契約更新時にしか顧客との接点がないわけです。今回の取り組みは、それ以外の局面でも『健康増進』という切り口でタッチポイントを深めています。
このアプリは手書きの構想を渡されてから、4ヶ月間でリリースしました。」(山根さん)
山根さんは「これらの事例において、コアの開発はアクセンチュアが行っています。しかし、アクセンチュアが全てを開発していない点が重要なポイントです」と説明します。
「『健康第一』では、ディープラーニングに強みを持つカナダのベンチャー企業や、電通、パナソニック、NTTデータなど基盤や基幹系とタッグを組んでアジャイルで開発を進めました。こうした進め方を『エンタープライズマルチベンダーアジャイルデリバリー』と呼んでいます。
第一生命さんの第2弾のアプリでは、実に24社もが連携しています。核となるデジタル・エコシステムのプラットフォームに連携してもらいながら、6ヶ月間で開発を行いました。」(山根さん)
このような短期間での開発を可能にする秘訣はどこにあるのでしょうか? 山根さんは「アジャイルだからスピードが早いわけではありません」と指摘。
「アジャイルという手法も、もちろん万能ではありません。アクセンチュアでは、これくらいの規模の案件を短期間でどんどん回していける仕組みを整えています。その核となるのがデジタル・エコシステムを実現するためのアクセンチュア独自のプラットフォームです。
福岡銀行、第一生命はもちろんですが、その他の金融機関や金融機関以外の案件でもこのプラットフォームを活用しています」(山根さん)
山根さんによるとこのプラットフォームのポイントは次の4点。
顧客パーソナライズ
1人ひとりにカスタマイズされた機能や情報をプッシュできる。APIによる拡張性
協業他社との連携だけではなく、クライアント内部の基幹系システムともAPIによって連携ができる。「ADEP」そのものもAPI連携により構成されている。ビッグデータ分析
顧客の様々な情報を集約し、AIを活用して分析からアクションまでできる。DevOpsの仕組み
一連の内容をアジャイル&DevOpsで回し、運用できる。
「これらの特徴は、プラットフォーム内で『モバイルドメイン』『コアサーバドメイン』『CMS/デジタルマーケティング/アナリティクスドメイン』を『REST API』で接続して構成することで実現しています。
『REST API』を活用するために全24社に『No Excel』を徹底しました。もちろん、大手の企業ではExcelベースで色々進められていたのですが、DevOpsを上手く回すために『Swagger』に乗せています」(山根さん)
続けて山根さんは本プラットフォームが提供する機能がどのようにアプリに落とし込めるのかデモを実施。チャットロボを活用したサインアップ、情報のパーソナライズ、ビーコン連携による通知、外部企業とのAPIでの連携などのユースケースを紹介します。
「これらを実現するプラットフォームの内部は、全てOSSの組み合わせで開発されています。それらひとつひとつをよく見てみると、実は特別新しい技術ではありません。
つまり、エンタープライズ企業が切り開いていかなければいけないイノベーションは、大学やベンチャー企業におけるイノベーションとは異なると私たちは考えているんです。
そのエンタープライズ企業のためのアーキテクチャとは、突き詰めて考えてみると『今までにないデータをどんどん集めて、分析にかける』という点にあります。しかし、現在はベンチャー企業でもクラウドを活用することで大きなデータを集めることは可能です。」(山根さん)
それでは、エンタープライズ企業はどのようにベンチャー企業と差別化を図っていくべきなのでしょうか? 最後に山根さんは以下の通りまとめました。
「エンタープライズ企業が差別化に必要なのは、既存の業務や既存の情報も合わせて分析をかけ、アクションを打っていくことです。そのアクションが次のアクションにつながり、全てのプロダクトや業務が数珠つなぎのように連携するとエンタープライズ企業は大きなアドバンテージを得られます。
さらにエンタープライズの生存戦略としては、ベンチャー企業が持っていない顧客データや、顧客に提供する場所や人を活用したエコシステムを構築することが重要です。
そのときに必要なのは決して超最先端の技術ではありません。今日紹介したプラットフォームではウェブのトレンドになっている、『枯れた技術』をいかにクイックに組み込むかを焦点にしています。だから、本プラットフォームそのものもAPI連携で構築されているわけです。これがどんどん新しい技術へのアップデートを可能にします。
しかし、現在の『枯れた技術』だけにフォーカスしていると、常に後追いの状態であることは否めません。でも、『将来枯れる技術』は予想できると考えています。例えば、今から5年後にはブロックチェーンは『枯れた技術』になっているはずです。
私たちはこうした技術もどんどん取り入れて、エンタープライズ企業のエコシステム構築を支えていきたいと思っています。」(山根さん)
DevOps~ChatOpsを最大限有効活用した開発プラットフォーム
後半の水上さんのセッションでは、第一生命の事例でどのように開発が進められていったのかが共有されます。
水上廣敏(みずかみ・ひろとし)/アクセンチュア株式会社 テクノロジー・コンサルティング本部 シニア・マネジャー。東京工科大学卒。長野県出身。ITベンダーでの勤務を経て、2008年にアクセンチュアへ入社。ストラトキャスター好き。
まず、水上さんは第一生命との事例をどのように進行させたのかを紹介します。
「第一生命さんの案件には24社が参加しました。第一生命さん自身を含めると25社が関わっているわけですね。大手からベンチャーまで様々な企業が携わっており、もちろんそれぞれの企業で開発の進め方は異なります。
ただし、それぞれ独自の開発スタイルで進めると管理ができません。そこで、まずは合わせられる部分に関して開発スタイルを統一化します。」(水上さん)
それでは開発スタイルはどのように決定したのでしょうか?
「第1弾のアプリは9社が参加し納期までは4ヶ月、第2弾のアプリでは24社が参加し納期までが6ヶ月とリリースまでの期間が決まっていたんですね。これほど短期間であれば、ウォーターホールでは間に合わないことが目に見えています。ですから、クイックに回せるアジャイルが必要でした。
ただし、まずは「要件定義」や「設計」「テスト」などにおいて、何をしなければいけないのかを定義するとこから始めました。やっぱり、各社によって内容や呼び方が異なるわけです。
スプリントの工程の手法も共有して意識を合わせ、もちろんプロジェクト体制も明確にします。他にはコミュニケーションの取り方も確認しましたね。従来までのやり方では難しいものの、週1回の進捗会議や月次の会議をどのようにやるのかを事前に協議しました。
これらはどのようなプロジェクトでも必ず実施すべきことだと思いますが、第一生命さんのプロジェクトにおいてもまずはしっかり足場を固めたわけです。」(水上さん)
「しかし、会社によっては新たな取り組みになったであろう内容もあります。」と水上さんは続けます。それが下記3つです。
プロジェクト管理
従来はExcelで管理している企業が多かったが、OSSの「Redmine」を25社で展開。進捗や課題、仕様、仕様変更などを「Redmine」で共有した。構成管理
設計ツールは「Swagger」に統一。コミュニケーション
各社が集まる会議やメールは極力避けて「Slack」を全25社で導入。「Skype」による遠隔会議も実施した。また、「Slack」は単なるコミュニケーションツールとしてではなく、DevOpsの一環としてチャットボットを利用した自動化も行った。
さらに水上さんはDevOpsをどのように構成したのかを説明します。
「DevOpsに関しても全てOSSを組み合わせて活用しています。
例えば、CIサーバには『Jenkins』をベースにしました。各種の情報は全て『Slack』上に流すようにしているので、『Jenkins』でビルドした結果は『Slack』に通知されます。その他にも『Redmine』で自分宛のチケットが登録された場合にも『Slack』で通知が来たりしますね。
ChatOpsという観点では、例えばチャットボットに『リリースして』と指示すると、リリース用のビルドをし、その環境に向けてデプロイをし、結果を『Slack』に通知するところまで自動で行うように用意しています。
他にもログの取得やエラー通知もチャットボットが行いますね。」(水上さん)
最後に「DevOpsに関しても特別新しいことをやっているわけではないんです。ただし、25社で慣れないことに合わせてもらったのは大きなポイントでした。
少しでも開発効率をあげないと間に合わないので、チャットボットによる運用はその都度必要なものを追加していきました。みなさんの参考になれば幸いです。」と水上さんはまとめました。
質問タイム!
終了後は会場からのQ&Aタイムです。
Q1. アクセンチュア独自のプラットフォームを作るまでにベースはあったのですか? また、基盤としてそれを開発するのにどれくらいの人が携わっているのでしょうか?
山根 実はプラットフォームそのものはソリューションとして販売するものでもありませんので、明確にそれを開発するプロジェクトを走らせたわけではありません。複数のプロジェクトの中から作られてきた部分もありますし、マーケティングやアナリティクスに関する機能は3名が2ヶ月間集中して開発しました。
Q2. 特にオススメできるDevOpsのツールがあれば教えてください。
水上 このようなDevOpsにおいて自動で実行してもらう環境を作るためには「Jenkins」は必須ですね。
その他には、サーバ側でソースコードの品質チェックを実行してくれる「SonarQube」は便利だと思います。
Q3. 開発期間が短い中で、どのように24社を選定したのですか?
水上 いい着眼点ですね。もちろん、開発に入る直前に全社を一斉に集めるなんてことはできません。
実は、1年以上前からアクセンチュアの戦略コンサルティング本部が「インステック」への取り組みを行なう組織を立ち上げていました。海外のベンチャーの調査も第一生命さんと一緒に行っているんです。
そのようなリサーチを実施した後で「こういう24社を集めると、こんなことが実現できそうだ」とわかったところから、具体的にプロジェクトがスタートしています。
その戦略コンサルティング本部もリリースまで関わっています。
Q5. 24社のセキュリティなどの問題はどのように乗り越えたのでしょうか?
山根 確かにセキュリティはとても苦労しました。でも、今回は第一生命さんが「Azure」を使い倒してプロジェクトを推進すると舵を切っているんです。
金融系でもそういう時代が来ているのではないでしょうか。私の感覚としてもここ数年はやりやすくなったと感じています。
ただ、そうは言っても企業ごとにセキュリティ方針は異なりますよね。厳しいところには「Slack」端末、「Skype」端末を作って対応しました。
Q6. API連携ロジックはどこに持っているのか?
水上 まず私たちのプラットフォームのAPIはサーバ上に公開されています。オープンではありませんので特定のアプリからしか使えませんが、サーバ上のAPIをアプリから叩きに行く構成ですね。
協業している企業の外部APIは、アプリから叩きに行く場合も、このプラットフォームのサーバを経由するケースもあります。
Q&Aの時間いっぱいまで質問が寄せられ、参加者の関心の高さが伺えました。この後開催された懇親会でも、登壇のお2人に質問する参加者も多くいたようです。
「アクセンチュアMeetup」のまたの開催をお待ちしています!