【前編】データ分析を「システム実装」するための重要ポイントとは
~機械学習を活用した業務アプリケーション構築~

私は、IoTや機械学習が可能にする先進的なデータ分析・データ活用を支える分析システムを、エンジニアとして最新のIT技術を用いて設計・開発しています。
機械学習に関わっているという点で、良く似た役割にデータサイエンティストがありますが、データサイエンティストと私が、開発のどの過程で必要とされているかを意識すると、違いがわかりやすくなります。
データサイエンティストは機械学習モデルの構築やデータを実際に利用して精度を上げていく段階の仕事がメインになり、そうした機械学習によって作成されたモデルを、ITシステム(業務アプリケーション)として問題なく運用できる形に実装するのが私の役割になります。

よって、機械学習を活用した業務アプリケーション構築の進め方は上図となり、私は、このうち②と③を主に担当しますが、①の段階でも最終的な運用をイメージしながら関わることも一般的です。

機械学習システムはアジャイル型開発が向いている

販売管理や生産管理など、従来の業務アプリケーション構築では、何をどうやって作るか、つまりシステムの要件を先にしっかりと合意し、前の工程には戻らない前提の「ウォータフォール型」の進め方が一般的でした。品質を要件の達成度合いと考えると、ウォータフォール型の進め方には、品質保証がしやすい(わかりやすい)というメリットがあります。

一方、需要予測や数理最適化など機械学習技術を活用した業務アプリケーションの構築では、そもそも要件を明確にすることが難しい面があります。したがって構築したあともPoCを何度も繰り返し、検証環境へのデプロイを頻繁に行うアジャイル型のシステム構築が一般的です。この場合、だいたい2~3カ月といった短期間にイテレーション(アジャイル型開発における1回のサイクル)を実施することになります。

私たちが開発する機械学習システムは、不確実性が高く、業務上の要望を満たすとは限りません。プロトタイプを作っては、業務に必要なモデルとしての精度・処理速度をユーザと何度も検討することになります。そのためアジャイル型の開発が向いています。

アジャイル型開発が向いているウォーターフォール型で開発したシステムとの結合は?

しかし最終的には受発注システムなどの基幹業務システムと結合することで、企業システムとしての価値を生み出す必要があります。そうしなければ、いつまでもPoCだけをしている、いわゆる「PoC貧乏」になってしまいます(ちなみにプロトタイプを作る期間は通常イテレーション3回分ぐらいです。つまり6~9カ月ぐらいが標準的です)。

つまりアジャイル型で開発したシステムでも、最終的にはウォータフォール型で開発したシステムと結合をする必要があるということです。このことは意外と見落とされがちです。ウォータフォール型のシステムは、複数の業務に関わるトランザクションが一元的に管理されているモノシリックな(一体型の)構造となっていることがほとんどです。モノシリックな構造のシステムにアジャイル型のシステムを結合する際には、さまざまな注意が必要となってきます。

例えば、マイクロサービスという機能毎に独立したシステムはアジャイル型の最たるものですが、こうしたものと結合する際には、ITシステム全体で既存の業務システムとの整合性が取れるかどうかをしっかり見極めなければなりません。この点に関していえば、基幹システムと分離された新規の業務サービスを開発して提供するほうが難易度はずっと低くなります。

業務を把握できていない段階でシステムを作り込んではいけない

筆者自身、ブレインパッドで5年間開発をしてきましたが、正直にいうと失敗も数多く経験してきました。失敗のパターンは最後にまとめますが、失敗例として多いのが、お客様の業務を把握しきれていないのにシステムを作り込んでしまい、結局使われなくなったというものです。

例えばレンタルビデオの需要予測システムを開発した際に、分析企画部門と早い段階でUIまで設計したことがありました。しかし、それをいざ業務に使ってもらおうとすると、単純に予測結果を提示しても、それはメーカーへの交渉材料にならないと指摘されたのです。需要予測で2本買えばいいという結果が出ても、メーカーからは「これは人気映画なので最低4本は必要です」と言われるかもしれません。その際に「需要予測では2本と出ている」と言ってもメーカー側は聞きいれないでしょう。あるいは慣習として最低ロットが4本からということもあるかもしれません。

要するに今まで現場の人たちが培ってきたノウハウとの整合性が取れていなかったということです。業務ルールや慣習がしっかり組み込まれていない業務システムを提供しても誰も使ってはくれないのです。

しかしアジャイル開発だと短いスパンで次々と作ることができるので、とにかく要望に応えて作ればいいということになりがちです。その結果、現場業務との整合性を確かめずにシステムとして作り込んでしまい、修復が難しくなるケースが頻発します。いったん落ち着いて、お客様の業務サイドを交えてビジネスの青写真をしっかり決めていくタイミングをプロジェクトのマイルストーンとして設ける必要があるのです。前掲表の中に「この段階ではまだ仕組みを作り込みすぎず、適切なタイミングで業務サイドと業務要件を固める時間を取れる」とありますが、まさにこのことです。

後編では、データ分析を「システム実装」するための重要ポイントについてお話します。

後編はこちら

WRITER執筆者プロフィール

株式会社ブレインパッド

データエンジニアリング本部
アナリティクスアプリケーション開発部長
鈴木 政臣

さまざまな開発案件のMLアプリケーション構築を推進。
エンジニアドリブンでビジネス課題の明確化や解決方法の検討を行い、提案から開発/運用まで一連の業務を支援しダイレクトにクライアントのビジネスに貢献。
また、MLOpsスタイルでプロジェクトを進めるため「自動化」「可用性」「セキュリティ」「パフォーマンス」「耐障害性」等を考慮したクラウドインフラ基盤の構築・運用し、サービスを支えている。

MAIL MAGAZINEメールマガジン

イベントやセミナーの開催予定、
最新特集記事の情報をお届けいたします。

TREND人気ワード・タグ

BEST PRACTICEベストプラクティス

ブレインパッド社員が考えることから探す

業態・業種から探す

課題から探す

テクノロジーから探す

製品・サービスから探す

データ活用のプロが考える、エンジニアリング視点の記事や、新規ビジネスの創出に関する記事まで幅広い特集を配信!

業界の最先端をいく、100名を超える当社に在籍のAIおよびデータ活用スペシャリストが原稿を執筆!

ベストなDXへの入り口が見つかるメディア

DOORS

BrainPad

MAIL MAGAZINEメールマガジン

登録が完了しました。

メールマガジンのご登録ありがとうございます。
最新特集記事の情報をお届けしますので、
お楽しみにお待ちください。

MAIL MAGAZINEメールマガジン

登録エラーです。