キャディ株式会社とラクスル株式会社による技術者向けセミナー「キャディ×ラクスル:開発プロセス大公開」が2021年9月15日にオンラインで開催されました。
この2社の事業は、既存産業が抱える課題をテクノロジーで解決し、業務効率化や顧客価値創造につなげるBtoBビジネスという共通点があります。
まったく異なる産業分野で、両社はどのように旧来のビジネスドメインをソフトウェアに置き換えてきたのでしょうか。
セミナーはモデレーターのキャディCTO・小橋昭文さん、同社の装置事業部 プラットフォーム戦略室PSO・高木翔太さん、テクノロジー本部きーぷら・高橋優輔さんの3名による会社紹介、そしてプロダクトの解説からスタートしました。

製造業の生産性を大きく改善した、「自動製造原価計算」のコード化に挑戦!
小橋:「キャディでは半導体製造装置や自動車製造ラインなど、日本の製造業を支える『産業装置』に特化した加工品を提供しています。
日本の製造業は180兆円規模のGDPを誇っていますが、見積り・受発注・調達といったプロセスのDXがほとんど進んでいません。
そのためビジネススピードが遅く、多重下請け構造で多くの末端生産者が赤字を抱えるなど、さまざまな課題を抱えていました。
私たちが提供する受発注プラットフォーム『CADDi』は、こうした課題に悩む発注者と加工会社双方の業務効率化やコスト低減、売上や納期の安定化を実現します。
通常は発注者が設計図や要件定義書などを作成し、それを元に加工会社は見積りを提示、発注が確定すれば製造・納入に至ります。
しかし産業装置はほとんどがオーダーメイドであるため、見積りには図面を分析し材料費や加工費等の原価計算をする必要があります。これを提示するには平均2週間かかると言われており、加工会社の業務を圧迫していたのです。
『CADDi』は発注者がアップロードした設計図や要件定義書を元に、システムが独自のアルゴリズムで製造原価を自動計算して即座に見積もりを提示します。
また受注確定後は、キャディが全国のパートナーの中から最適な技術を持つ加工会社を選定して発注し、製造後の検査、品質保証、納品まで請け負います。
加工会社はマンパワーを開発・製造に集中できるだけでなく、キャディが商流に入ることで複数の案件を集約して発注できるため、受注者・発注者ともにコスト削減、納期と売上の安定化、業務効率化を実現できるのです。」
高木:「今日は、『CADDi』のシステムで行っている自動製造原価計算・見積り提示機能の開発についてお話しします。
この開発には、これまでシステムで扱っていた板金・切削・機械加工に加えて、架台(装置を載せる土台)という新領域製品への進出が背景にありました。
この新領域での原価計算算出ロジックをどう作りこむかに加えて、既存システムのリードタイムが長いという問題点の解決にも同時に取り組むことになったのです。
既存システムはRustで書かれたプログラムですが、算出ロジックを改善する際には、まずExcelでの仮実装で検証し、それを元にシステムへの実装を依頼します。しかし、Excelとシステムで差額が出ると検証が大変です。またExcelに品質を担保する仕組みが無いので、システムに実装されてから不具合が発覚して手戻りが生じることがあります。
今回は垂直立ち上げで脱Excelを目指し、コードに置き換える取り組みを始めました。」

高橋:「開発する上で心がけたのは、これまでExcelを触っていた方でも読めるプログラムでありながら品質を担保することです。
ポイントは原価計算に関わるドメイン層とアプリケーション層を分離したこと。
これで原価計算のドメイン層だけを変更すればほとんどのロジック改定が可能です。
ドメイン層内部はDDDで設計してシンプルなドメインサービスとして実装したので、非エンジニアでもなんとか読めるようになっていると思います。
また材料単価など市場の状況で変動しやすいパラメーターは、リポジトリから計算ロジックに注入することで、モックによる単体テストが簡単にかけるようになりました。」
マイクロサービス化でSCMを強化、ビジネスの成長を加速する
続いてラクスルからラクスル事業本部プロダクト開発部 プロダクトマネージャー・遠藤友裕さん、ラクスル事業本部システム開発部 RIU 開発1G テックリード・岡田祐一さんによる会社紹介とプロダクト紹介へと移りました。
遠藤:「ラクスルでは印刷産業にシェアリングプラットフォームを構築して製販を分離し、払い手・受け手を直接結びつけることで取引コストの削減と業務の効率化に取り組んできました。
今回お話しするサプライチェーンマネジメント(以下SCM)とはサービスを安定供給するだけではなく、印刷の注文から納品までを多面的にサポートすることで差別化をはかろうというものです。例えばこれまでにも商品種別の拡大や付け合わせ印刷(大きな紙に複数注文をまとめて印刷することで生産コストを下げられる)の導入、配送会社と連携した納期短縮化などに取り組んできました。
このSCMとはプロダクト内でどんな仕組みで動いているのでしょうか。各印刷会社ごとの紙種、サイズ、納期、部数ごとの価格など膨大な情報は、ラクスルの標準形式に変換され、データベース化して管理されています。そしてECサイトからの注文を元に、どの印刷会社に注文すれば良いかという選定ロジックを経て、APIやメールなどで印刷会社に注文を連携しています。
印刷会社向けには生産管理画面を用意しており、そこから注文内容の詳細や出荷先情報を確認できるだけでなく、生産現場で物理的に用いられる商品伝票をダウンロードできるようにしています。
こうした細かな連携でラクスルを導入するハードルを下げているんですね。
また印刷会社向けの発注APIで人を介さず素早く情報連携できるので、人員コストをかけるこなく生産性も改善できます。」
岡田:「ラクスルのシステム変遷について紹介すると、最初は販売サイト主体のシンプルなモノリスアプリで、SCMという概念はまだありませんでした。
当時は発注のたびにメールを受信した印刷会社の人が管理画面からデータをDLするなど、人力のオペレーションで回していましたね。でも事業が拡大して注文数が増加すると人力の受注では限界があり、そこでAPI連携を実装しました。ここでスタートしたのが印刷発注基盤v1です。
ただAPI自体はうまく行ったものの、切り出したアプリが同じDBを参照していて別の課題も生じていました。商品仕様が販売側のマスターと密結合していて、新しい商品を迅速に追加できない原因になっていたんです。
販売側の開発が完了しないと選定ロジックもAPIも何も作れないという状態で生産性も下がりますし、何より現実世界の「製造→販売」という流れと、既存のシステムとでは順番が逆転してしまっています。
そこで販売サイド主体のモノリスをやめて、製造サイド主体のマイクロサービスとして印刷発注基盤v2として作り直すことになったのです。
このときの開発で重視したのがモデリングです。
印刷業界には、印刷機に指示を送るためにXJDFという業界共通のフォーマットがあるのですが、ラクスルでもより印刷業界に寄り添っていくため、商品仕様の定義はXJDFを参考にプロダクトモデルを設計しました。
先ほどキャディさんのお話にもありましたが、現実世界のものをどうやって正しく表現するか、また古い業界ゆえになかなか言語化されないドメインモデルをどのように抽出するか、解法モデルの作成なども行っています。
印刷発注基盤v2の技術スタックについてはGolangとProtocol Buffersを使っており、Clean ArchitectureとDDDの設計思想に基づいた独自のアーキテクチャーを作っています。Golangはパッケージの循環参照ができないためにClean Architectureの同心円が確実に守られるように実装できるので、結構相性がいいと思いますね。」
いかにドメインに寄り添い、プロダクトをアップデートさせるか
セミナー後半では参加者のQ&Aを取り入れながらパネルディスカッションがスタート。
旧来のビジネスドメインにどのように寄り添っていくか、そして古い産業でビジネスを行う難しさや泥臭さなど、既存産業と向き合ってきたキャディとラクスルならではのリアルなエピソードも飛び出しました。

「初期の頃は注文数もまだまだ少なかったので、管理画面に取りに行くのが面倒だから自社のウェブサイトに注文して、と言う印刷会社もありました。最初は力関係みたいなものもあって、泥臭く人力で発注していた時代もありますよ(笑)。
注文数が増えるにつれて印刷会社との信頼関係が生まれたことで、自動化への流れが生まれて最終的にAPI連携に至ったんです」
とサービス開始初期のことを振り返った岡田さん。
「A4普通紙」という一般ユーザーが当たり前に使っている用語も、素材や厚さやコーティングの有無など膨大な紙種を扱う印刷会社では「普通」という曖昧な表現では受注できず困った経験もあるそうです。
またキャディの高木さんは、現場の知見や厳密に言語化されていない要素をどう原価計算の算出ロジックで近づけていくかが初期の課題だったと言います。
「例えば経験豊富な工場の担当者の方は、設計図を見ただけで『うーん、○万円!』と見積もり金額を出すんです。その時に彼の頭の中で考えていることと僕たちの持っているロジックをいかに擦り合わせるか。これは非常に難しいところですが、日々コミュニケーションを取りながらひとつひとつ突き合わせてクリアしていきましたね」
また、事業の拡大や今後も増えていくドメインを見据えたプロダクト開発にも話は及び、キャディの高橋さんからはプロダクトの今後の展望について明かしてくれました。
「今日お話ししたプロダクトは永続化の機能がなく、見積もりは別の社内システムで管理しています。まさにいまそれが課題となっていて、今後は永続化の機能に自動原価計算の結果をつなぎ組む必要があります。そのドメインをどうやって連携させるのか、そして見積もり管理システム全体のアーキテクチャーも変えなくちゃならないといった、かなり壮大な話が始まろうとしています。」

ラクスルの遠藤さんはドメインに寄り添っていくうえでの苦労と、今後の取り組みについて次のように語ってくれました。
「木材価格が上がって紙の原価も高騰しているので、価格の改定やそれにともなうデータベースのアップデートは避けて通れません。各印刷会社からCSVやExcelなどさまざまなフォーマットで連携が来るのですが、いま先にお話しした人力のフォーマット変換から標準フォーマット化に取り組もうとしている最中です。さまざまな更新に対してリードタイム
が長くなると、やはり事業への影響が出てきます。標準フォーマット化やさまざまなドメインを各社と共通言語化することでリードタイムをより短くしたり、変化にいち早く対応できるようなシステム構成にしていきたい。そのためには必要なインターフェースを印刷会社に提供するなど、早急に取り組んでいきたいですね。」
既存産業のドメインの知見を着実に深めながら、事業拡大とともに進化を続けるキャディとラクスルのプラットフォーム。近しい経験を共有する2社ならではの、大変興味深いセミナーとなりました。
Related Stories
関連するストーリー