失敗を踏まえてどう成功につなげたかの体験談

伊藤奏人氏(以下、伊藤):みなさん、こんにちは。今日はDevFesをご視聴いただきましてありがとうございます。

私は、アステリア株式会社の営業の伊藤と申します。今日はユーザーさまをお招きした事例講演となります。アクシネット ジャパン インク 財務管理本部 インフォメーションシステム部 課長の横尾広昭さまにお越しいただいています。よろしくお願いします。

横尾広昭氏(以下、横尾):よろしくお願いします。

伊藤:今日のサブテーマは「失敗は成功のプロセスと考える」ということなんですけれども、横尾さんもいろいろ失敗しちゃいました? 

横尾:そうなんですよ。今日はここに懺悔しに来ました。

伊藤:今日はここで懺悔していただいて、次のステージに進んでいただくということで。

横尾:そうです。こんな失敗をしたのはたぶん私だけじゃないかなということで、今日はちょっと確認しにまいりました。

伊藤:失敗を踏まえてどうやって成功したかというところで、いろいろお話をおうかがいしたいなと思っています。よろしくお願いいたします。(服の襟元のFJのロゴを示して)ちなみにみなさん、こちらは見られますかね。今日の私はFJです。ふわふわジョイしております。

横尾:おぉ~、ありがとうございます。ふわふわジョイ、ちょっと違いますね。

伊藤:FootJoy(アクシネットジャパンインクのゴルフ用品ブランド)を着ておりますので。

横尾:ありがとうございます。よろしくお願いいたします。

きっかけは、米国本社で始まったERPプロジェクト

伊藤:じゃあ「失敗は成功のプロセスと考える」というタイトルでいきましょうか。横尾さん、コンテンツについてちょっと教えてください。

横尾:今日はまず会社概要から説明させていただきます。(アステリアのサービス)導入のきっかけと使用用途、そして本日のメインとなる、失敗から成功した例についてお話をしようと思っております。

弊社はアクシネット ジャパン インクと申します。本社はマサチューセッツ州のフェアヘブンというところにございます。

弊社で扱っているブランドは、日本の場合はTitleist製品とFootJoy、Vokey、Scotty Cameronを中心として営業しております。日本と海外でちょっといくつか違うところがありますけれども。伊藤さんが着ているのもそうですね。

伊藤:そうですね、私はFootJoyです。Titleistではございません。

横尾ASTERIA Warp導入のきっかけについてなんですけど、実はワールドワイドのほうで、ERP(統合基幹業務システム)のプロジェクトが始まったんですね。カナダから始まって、中国、タイ、韓国と来て、ようやく日本の番になったんですよ。

ERPプロジェクトが始まったので、EAI(企業アプリケーション統合)ツールが欲しいなというところで、ASTERIA Warpを導入しました。

私の前々職で、なんたらスパイダー(DataSpider Servista)の導入経験があったので、それを導入するのかなと思ったんです。ところが、私たちとお仕事をしているコンサルの方から「違います。ASTERIA Warpにしてください」ということで、ASTERIA Warpにしちゃいました。

予算なしでもツールを導入できた理由

横尾:私も昔、プログラムを作っていたことがあったんですけど、センスがないからやめたんですね。COBOLなんですけど、もう誰も知らないですもんね。

伊藤:いやいや。

横尾:なので、できればノーコードで使いやすいものがいいかなと思って、まずASTERIA Warpに目がいったということなんです。ただ、予算を取ってなかったんですよ。

じゃあどうするのとなったところで、アステリア社(の製品ラインナップ)に、「Core+」というすばらしい商品があったので、すぐに導入できることになりました。スモールスタートで作り始めてから、US本社の予算を確保して、どさくさでStandardにしてしまいました。予算化していなかったのが、いつのまにか予算が取れてしまったという。

伊藤:ちなみに、もともと予算が取れてなかったというのは、USのほうで予算が取れなかったんでしょうか? 

横尾:USはがばっと取っていて、日本は取ってないだけでした。

伊藤:なるほど。予算がない中でEAIツールを入れるとなると、スモールスタートがしやすい「Core+」だと。

横尾:そうなんです。USはUSのEAIツール(webMethods)を持っているので、この話をした時に比較的スムーズに進んで、「あ、それは欲しいよね」ということで話は通ったんですけどね。

伊藤:このCore+からStandardエディションへのアップグレードは、また後ほど詳しくお聞かせいただきたいなと。

横尾:わかりました。

ASTERIA Warpをシステムのハブとして活用

横尾:それで使用用途なんですけど、ERPが始まるにあたり、まず必要となったのがEDI(電子データ交換)まわりの取り込みをどうするのかというところでした。ですから、(Core+の用途の)スタートは、EDIの変換ツールとして使いました。

その後、いわゆるワークフロー(システムは)、まだDominoを使っていますので、Dominoの連携とERP側のマスターデータのコンバージョンをして、またEDI側に(データを)渡したり。最近SQLのサーバーを作ったので、そちら側にデータを溜め込んで運用を始めたところですね。非常にベーシックな使い方だと思います。

伊藤:この絵を見ただけでも、もうASTERIA Warpはなくてはならない存在になってますよね。

横尾:そうなんですよ。図の中心にあるとおり、システムのハブとなっています。失敗してはいけない位置です。

伊藤:そうですね。

横尾:ただ失敗しちゃったという。ごめんなさい。

伊藤:いえいえ、問題ないです。

コロナ禍でのプロジェクト凍結中も、プログラムを作り続けた

横尾:今日の「失敗は成功のプロセスと考える」は、私の言葉じゃなくてパクリです。スティーブ・ジョブズ先生のお言葉ですね。「終着点は重要じゃない。旅の途中でどれだけ楽しいことをやり遂げているかが大事なんだ」。

今回ERPのプロジェクトにあたって、約20社ほどのインターフェイスを作らなきゃいけない状況になってしまいました。私はEAIのツール自体は聞いたこともあるし、ほんわかとわかっていたものの、初めてじゃないですか。イメージが湧かないので、「あ、ハンズオンセミナーがあるじゃん」と。コロナ前の当時は大井町でやっていたので、気楽に受講しました。

特に私はXMLファイル(文章の見た目や構造を記述するためのマークアップ言語の一種)は扱ったことがなかったんです。昔のHTMLは少しやっていたんですが、固定長(フォーマット)じゃない時点で、我々はどうするんだと。そういうわからない部分もあったので、ハンズオンセミナーで勉強してきたんですね。

そのセミナーでは、ちゃんとテキストを渡されて、みんな座学で「うん。わかった、わかった」と。「できる、できる」「よーし、よくやった」ということで、新宿のほうに飲みに行って「よーし、やるぞー」というところで終わったんですね。

そして、このあたりから世界中でコロナが猛威を振るい始めて、プロジェクトがいったん止まってしまったんですよね。日本に来ていた外国人部隊も「今すぐ帰国しろ! 帰れー」「ちょ、早く帰ったほうがいいよ」ということになってしまったんです。

ここは失敗ではないんですが、新型コロナが出てきて、開発時間が取れるようになったんですよね。プロジェクトも止まったんですが、プロジェクト凍結中も、プログラムを作る時間はありました。

それで手を動かし続けていた結果、単体テストもすぐに入れたので、このケースは失敗とは言えないんですけれども。そんな時間を利用して、なんとか開始できたというのがまず1点目です。ここからは全部失敗になっちゃうんですけど。

伊藤:いいです、いいです。今日は失敗を聞きたいです。

属人化でシステムを止めないために、二人体制で開発

横尾:そうですよね。もう恥ずかしくなる失敗をばんばんぶちまけていこうかと思います。例えばさっき、20社のインターフェイスを作ると言ったじゃないですか。そうすると、(Core+が)だんだんこのシステムのハブになりつつあるので、「あれ、これ止まっちゃったらどうするの?」と。

私が作り始めちゃったので、「横尾さんがコロナになって来れなくなっちゃったら、どうするの?」と。例えば倉庫のインターフェイスも私しか知らないので、ここが止まっちゃったら商品を出せない。

伊藤:業務に影響が出ますね。

横尾:そうなんです。システム化を止めないためには、やっぱり属人化すると危ないという。ここも失敗かどうかはよくわからないですけど、実はハンズオンセミナーにうちのメンバーをちょっと同席させていたんですね。

伊藤:実はもう1人。

横尾:いたんですよ。私とメンバーの2人で開発を行うことで、工数も半減できました。20社作らなきゃいけないんだから、私は10社だけでいいんだと。

お互いにスキルトランスファーをしてレベルアップしてきたんですが、今では部下のほうがスキルも上がってしまって、私はもう用済みです。

困った時のサポート窓口は必須

伊藤:なるほど。お立場としてもマネージャーですから。当時はハンズオンセミナーを2人で受けられて、作業分担することで開発のリスクヘッジを取りながら、開発期間を短縮できたという。必要に応じてベンダーさまにお問い合わせされたりとか。

横尾:これが私、困って困って。一番最初に作ったプログラムが一番簡単だということで、周りも「それなら簡単なんじゃないの」という言い方をしたんです。

じゃあPOS(販売時点情報管理)のインターフェイスなら簡単だと思って始めたら、意外と難しかったんです。一番難しかった。ただこれもうまいこと、日立ソリューションズ・クリエイトさんとヘルプの契約をしていたんですね。

ですので、日立ソリューションズ・クリエイトのオオシマさまに連絡をして「困っちゃったよ」と、いろいろ相談に乗っていただいて、なんとか完成にこぎ着けました。

伊藤:オオシマさん、その節は本当にどうもありがとうございます。

横尾:いつもお世話になっております。メールばっかりしてごめんなさい。

伊藤:今日は懺悔です。

横尾:もう本当に。

伊藤:なるほど。開発の際のリスクヘッジと、あとは困った時にきちっと問い合わせするところがあるということで、まずここの失敗はなんとかセーフ。まだ次の失敗もあるんですか。

バックアップを怠った状態で、悪夢のサーバーダウン

横尾:みなさんの中に、サーバーを壊したことがある方はいらっしゃいますか? あ、いらっしゃる? 伊藤さんは壊したことある? 

伊藤:いや、私はさすがに。

横尾:私、壊したんですよ。

伊藤:ちょっと詳しくお聞かせいただいても。

横尾:それが、あまりのテンパり具合に、なんでこうなっちゃったかもわからなくなっちゃったんですけど。サーバーが起動しなくなっちゃったんです。それも土曜日ですよ。アップデートか何かをしようと、軽い気持ちでやっちゃったんですね。

そしたら、ブート(起動)しなくなっちゃった。やばいやばいと、これまたオオシマさまにお電話をさせていただきました。イニシャルのファイルが壊れてしまったらしく、オオシマさんがリモートでも的確に「横尾さん、こうしてください。こうしてください」と。 それで無事に直りました。

伊藤:おぉ、よかったです。

横尾:というわけで、先にオチを言っちゃったんですけど。当時はまだ開発中だったということもあって、バックアップをしてなかったんですよ。基本中の基本のバックアップを怠ってしまいました。申し訳ございません。

伊藤:これは由々しき問題ですね。

横尾:やっぱりね、壊れてから思うんですよね。あー……。

伊藤:大事ですよね。

横尾:あの普通に動いてたASTERIAちゃんが止まっちゃった……という大失敗をしてしまいました。

データをコピーしたつもりが、「移動」と間違え失敗

伊藤:今はもうバックアップをきちっと取っておられる。

横尾:ばっちり取ってます。もう1つの失敗は、メンバーと一緒に開発をしていたので、私の作ったソースをメンバーにコピーしようと思ったんです。そしたらコピーで失敗しちゃった。

これもサーバーを直接触っていたんですよね。ここでもまたコピーをしたつもりだったのが移動したことになっちゃったんです。だから、私の環境から自分が作ったプログラムがなくなってしまった。これまた大騒ぎです。まぁ、騒いでたのは私だけですよ。プログラムがなくなっちゃった。

伊藤:なるほど。全部横尾さんが……いろいろ。

横尾:そうです。毎日やらかしてますね。でも、2人で開発していたので、私の環境とメンバーの環境と2つあるうち、部下のところにあったソースを戻して事なきを得ました。

伊藤:よかったです。

横尾:だからみなさん、バックアップを取ってください。

伊藤:そうですね。バックアップを取るというのと、横尾さんには触らせるなというところが……。

横尾:みんな壊しちゃいますからね。

伊藤:ということですね。

横尾:レプリケーション(データベースのデータとまったく同じ物を別のシステム上に作成するもの)がございまして、メインのサーバーのバックアップとプラス、バックアップサイトも用意しているので、そちらでも二重でコピーをしています。ですので、2ヶ所から復元できます。

これはVeeamというソフトを使っています。仮想環境に特化した、すばらしいソフトです。レプリケーションのタイミングもあるので、こちらを使って常に1日前か半日前に戻せる環境ができたと。サーバーを壊したのは、私だけじゃないかと思って。

伊藤:そうですね。日本中でたぶん……。

横尾:いないですね。

1から10までかかっていた工数を7か8まで簡略化

横尾:次にアップグレードについて、ちょっとお話をさせていただきます。予算を取っていなかったので、最初はCore+から始めて、Standardにアップグレードしたんですね。伊藤さん、アップグレードのメリットはありますか。

伊藤:いろいろあります。めちゃくちゃあります。

横尾:私が思うには、まずサブフローが使えるようになる。ということは、プロセスの共通化ができる。1から10を書くんじゃなくて、1から7とか8のステップ。あとの残りはサブフローにして、常に同じところに回せば簡略化できる。

伊藤:工数を短縮できたりですね。

横尾:あと、外部トリガーと書いちゃったんですけど、例えばCore+の場合はスケジュールのみ、タイマーでしか動かせません。(それがStandardになると)例えば、メールが来たらジョブがスタートするとか。私たちがよくやっているのは、フォルダを監視して、そこにデータが来たらジョブがかかるというものです。

あとは、BAT(Windows環境で実行できるコマンド列を記述したテキストファイル)を作ってあるので、ASTERIA Warp側からこのBATでボコンとキックして、別なシステムを動かすこともできたりします。

また、Standardは仕様書の出力が可能になっています。それで監査時の対応も可能になっております。まだ監査は受けてないですけど、今週の木曜日に監査があります。アップグレードの違いとしては、こんな感じですかね。

伊藤:そうですね。Coreシリーズをご利用いただいているユーザーさまは、ぜひ上位のStandardエディションにアップグレードいただいて、ASTERIA Warpの機能をもっと広く活用していただきたいなと思っています。

横尾:サブフローは本当にいいと思ってますね。

伊藤:そうですよね。これはもうかなり重宝すると思います。ありがとうございます。

数々の失敗を乗り越えた先の展望

横尾:今後の展望は、SQLにデータをどんどん貯めて、ASTERIA Warp環境の充実をしたいと(思っています)。今考えているのは「例えば倉庫側とのインターフェイスの受信件数を1つにまとめて、1日の最後にWebで見られればいいんじゃないの」ということです。

伊藤さんにそう言ったら、「横尾さん、JP1(日立製作所が開発・発売を行っている統合システム運用管理ツール)を使えばいいじゃないですか」と言ってましたけどね。

伊藤:そうですね。ちょっとそこは……。

横尾:できるシステムがあるじゃないと。

伊藤:もしかしたらASTERIA Warpで、もしかしたら違うツールで、ですね。まぁASTERIA Warpをもっとどんどんフル活用いただいて。

横尾:そうなんです。やっぱりユーザーに聞くと、みんな困っていることがあるので、もっと自動化させて、みんなの仕事の(負荷の)軽減をしたいなと思っております。

伊藤:ありがとうございます。というところで、今日は懺悔と言いながらも。

横尾:懺悔と言うか、私の失敗を見せびらかしにきただけのことですね。

伊藤:そうですね。ほぼほぼもう横尾さんでしたね。

横尾:何かありましたら、ADN Slackのほうにも私のアカウントございますので、お気軽にご連絡ください。ゴルフどうしたらいいんですかとかね、そういうことでもかまいませんので。

伊藤:まったく問題ないですよね。

横尾:アステリア外の内容でもまったく問題ないので、どんどん聞いてください。

伊藤:ぜひ。今日はどうもありがとうございました。

横尾:ありがとうございました。