今回は、注文数が激増した裏側でエンジニア組織にどんなことが起こっていたのか、そしてどのように乗り越えたのかをリードエンジニアの西尾に聞いてみます。
オペレーション崩壊寸前の緊急事態。それでも生産者のために守りながら攻め続ける
ーこのコロナ禍において2月と5月の注文数が70倍に増えたと聞いたのですが、その時の状況を振り返ってみてどうでしたか?
正直、ここまで伸びるとは思ってもいませんでした。単発商品の注文数は70倍に増え、問い合わせ数も爆増。その分システム上のバグやサービスとしての問題点もたくさん出てきたため、それらを解消するために非常に多くのタスクを抱える形になりました。
しかし私たちエンジニアよりもカスタマーサポートを中心としたビジネスサイドのメンバーの方がもっとハードで、一時は代表秋元も一緒に休日の夜遅くまでお客様対応をするほどにオペレーション崩壊寸前状態でした。さすがにこのままだと事業が止まってしまうということで、システム側で解決できるタスクや生産者さんの工数削減を目的としたタスクも非常に高い優先度で積まれていきました。
結果的に、優先度も緊急度もMAXというタスクが常に増え続けるという状況になり、常に手一杯でした。
ーそれは大変でしたね。具体的にどのようなタスクをどう優先順位を決めてこなしていったのでしょうか
最小の工数で最大の価値を出せる改善を徹底的に続けました。
例えば生産者さんが受注処理を一括で行えるようにシステムを改善したことで、生産者さん側の工数を削減すると同時に、カスタマーサポートへの問い合わせも減少させることができました。
また、テレビ番組で食べチョクの事を取り上げていただくことが非常に多かったこともあり、最大で数十万にもなるアクセス数に耐えるために抜本的なデータ構造の見直しも必要でした。例えば、1台しかなかったDBを書き込み系統と読み込み系統に分けた上で、読み込み系統を複数台構成にして負荷分散するという対応を数日で完了させました。
とにかく時間が限られている中でインフラ側だけではなく、アプリケーション側も多くの変更を伴うという非常に難易度の高い改修となりました。
振り返ってみるといずれも表面的な改修ではなく、システムの根幹に手を入れる重めの改修にはなりましたが、「生産者さんにとって本質的な課題解決につながる改善は何か」ということを開発チームで問い続けたことで、このようなコストパフォーマンスの良い改善を優先的に対応する意思決定ができたのかなと思っています。
ー5月には農林水産省の支援事業にも参画されていましたが、それも同じタイミングで動いていたプロジェクトなのでしょうか?
そうですね。直売の場合は農林水産省が配送料を持つという内容の支援事業なのですが、そのとき我々は問い合わせの対応やデータ構造の刷新を行いつつも、追加で機能開発が必要である農水省事業への参画を決定しました。
意思決定の背景はエンジニアもビジネスも一貫しており、全国的に生産者さんが困っている状況で「誰よりも一番に私たちが動くべきだよね」という弊社の行動指針である「生産者ファースト」の考え方が元となっています。
普通こんなに注文やお問い合わせがきていたら、守りの姿勢になり新しい挑戦はもうやめようとなりがちかと思うのですが、このような攻める意思決定を一枚岩でできたということはこの会社の強さだなと思っています。
全員で本質的な課題に向き合い、全員でスピーディーに改善できたからこそ乗り越えられた
ー注文数70倍に耐えながらも農林水産省への事業参画の対応を進めるなど、何がハードな対応を乗り越えられた要因でしょうか?
ビジネスサイドとエンジニア関係なく、スピード感を持って本質的な課題解決に向けてひたすら改善していけたことが要因と考えています。我々の場合、まず共通認識として「生産者さんの課題を解決する」というのが一番にあります。コロナの影響で野菜が余ってしまい売り先がなくなってしまったとか、飲食店が閉店してしまい出荷できる先がなくなり売上がなくなってしまったなどの販売の課題がコロナ禍で噴出し、なんとかしたいという気持ちはメンバー誰もが思っており、解決する手段が食べチョクというプラットフォームだと思っています。
本質的な課題解決を目指しているからこそ、生産者さんのためにやるべきことは何かを一丸となって明確にしなくてはいけません。ビビッドガーデンでは全メンバーが全プロダクトの動きや優先順位を把握する仕組みがあり、その改善にはインパクトがあるのか、生産者さんにとって意味があるのかを全員が考えます。ビジネスサイドやエンジニア、CEOやインターンなどの職種もポジションも問わず、こっちの方が使いやすい、ここは変えた方が良いなどの意見が飛び交いますし、お客さんが使いやすいかという前提に立って全体で考えられています。
そのようにみんなで考え議論を進めているので、ビジネスサイドとエンジニアサイドが別れている感覚は一切なく、意図的に歩み寄ろうとしたこともないですね。
この体制は会社がより大きくなったとしても、続けていきたいです。
ー全社の仕組みとは別にエンジニアサイドにもそういった仕組みはあるのでしょうか?
ありますね。我々エンジニアはスクラム開発を導入しているのですが、スプリントの期間も1週間と他の会社より短いです。まだ小さな会社なのでスピード良く効果検証しなければならないので、短いスパンで色々と変わります。課題を分解し、なるべく大きなタスクは切らず、1日などの短期間で解決するスパンにしています。全員で開発のサイクルを回しやすく定期的な振り返りができるのでこのフェーズではスクラム開発はあっているかなと思っています。
現在、エンジニアは副業という形でお手伝いをしていただいている方も含めて10名の組織なのですが、スクラム開発を取り入れたのは3名くらいのタイミングでした。3名くらいの当時は1つのプロジェクトに1名がアサインされていたので、少人数であったにも関わらず隣のエンジニアメンバーが何をやっているか分からなかったのです。よりチームとして課題の解決をしていくべきですし、タスクを分解して全員で解決する体制を作っていきたい、そういうやり方でないと本質的な課題解決はできないと感じ、その結果スクラム開発がスタートしました。
今回の注文数70倍に耐えられたのも、本質的な課題解決に向けた優先順位付けをエンジニア内でもスピーディーに取り組めたことが大きなポイントだと思っています。
スピーディーな開発の根底はたったひとつ。シンプルに
ー開発面でもハードな状況を乗り越えてきたと思うのですが、西尾さんがエンジニア組織を創っていく中で大事にしていることは何でしょうか?
そうですね、一番心がけているのは「あまり複雑なことはしない、できるだけシンプルに保つ」ということです。
今この機能が必要なのかどうか考えたり複雑な条件を入れないようにしたりと、今後メンテナンスする人のことも考えた上でできるだけシンプルにしたいと思っています。機能同士を足してうまくいくかもしれないというのはあるのですが、単純に時間がかかってしまったり、作った後に本当に必要か問われたりとトータルでみて時間がかかります。条件や機能を足すと挙動が想像しにくくなると思うのですが、私自身挙動が想像しにくいシステムは使いにくいと思っています。レビュー時にも短期的にみて良いものではなく、長期的な視点でみたときにトータルコストが低いものが良いよねとメンバーに伝えています。もちろん様々なツールや技術を使うフェーズが合うタイミングも来るでしょうが、今のフェーズではとにかくスピードを重視しプロダクトを大きくしていかないといけないので、できるだけシンプルなシステムを心掛けています。
ーシンプルにすることは大事ですね。ただシンプルにというのは同時に新しい考え方を取り入れづらくなるという側面もあるかと思いますが
本質的な課題を解決できるのであれば新しい技術や考え方はウェルカムなスタンスです。新しい技術を使用することで課題を解決できるのであれば積極的に取り入れていきたいですし、言語なども何でやるかはみんなで考えたいです。とはいえ、新しい技術を採用したからといってその技術に縛られてしまう「やりにくさ」もできるだけ無くしたいです。
実はこれまで当社でも様々な技術のチャレンジは行っています。実際にメインシステムとサブシステム間の通信をするために当時流行っていたgRPCという技術を採用したことがありました。導入は上手くいったのですが、現状のフェーズではメンテナンスが辛いなどやりにくい部分が見えてきてしまい、結局従来の通信に戻しました。導入したから使い続けるのではなく、臨機応変に事業がより進む体制は何かを考え続けることが大事だと考えています。
技術によるリアル課題解決を行う会社として業界を引っ張っていきたい
ーこれから技術的に取り組んでいきたいことはありますか?
たくさんあります。最近のトレンドでいうと、第一次産業界隈において自動化できそうなところはもっともっとあるんじゃないかなと思っています。ビビッドガーデンでは、生産者さんの栽培の情報とユーザーの好きな野菜、嫌いな野菜情報を持っています。それらを技術的にマッチングさせる「食べチョクコンシェルジュ」というサービスはすでに好評頂いているのですが、今後はより増えた注文データを元にさらなるマッチング精度の向上やその他の展開を見据えてお客さんと農家さんをより繋げていければと思っています。
このような技術をしっかりと生産者さんの利益へとつなげることで、第一次産業界がさらにもう一歩先の技術的チャレンジが可能なフェーズになれると思っており、そういう点でもエンジニアが貢献できそうなところはまだまだ多い分野だと考えています。
ビビッドガーデンはそれら引っ張っていく「技術でリアル課題を解決し続ける存在」になりたいと思っています。
ー最後になりますが、エンジニアとしてビビッドガーデンのプロダクトに関わる面白さを教えてください。
一番面白いのは濃いフィードバックがすぐに返ってくるところですね。これまで面白い技術を使ってプロダクトを作っても本当に使っている人がいるのか、誰かのためになっているのかと思うこともありました。面白い技術を使うこと自体はエンジニアにとっては大事なことです。しかし、それを使ってくれる人がいないと何をしていたのだろうという気持ちになるエンジニアの方も一定いるんじゃないでしょうか。ビビッドガーデンではそういう気持ちになることは一切ないですね。というのも直接農家さんを訪ねて意見をいただいたり、Facebookグループですぐにフィードバックが返ってきたり、Twitterを見れば消費者と生産者の声が聞こえてきたりと、真剣に使ってくれている人がこんなにもいるんだなと常に感じることができるからです。
生産者さんがオフィスに来て頂けることも多く、先日も前年比売上が30%まで落ち込んで先行きが見えない状況だったものの食べチョクを利用したことで前年比80%まで回復して本当に助かったという話をしてくれました。本当に役に立っているんだな、生産者さんの生活を支えられているんだなということをより深く実感でき、改めてやりがいを強く感じることが出来ました。
とは言えど、プロダクトにはまだまだ課題は山積みですしエンジニアの組織としてもまだまだ発展途上です。新しい技術にも挑戦しつつ、何よりも生産者の課題を解決するということを重視して、さらに早いスピードでエンジニアリングをしていきたいと思います!
ーありがとうございました!西尾先生の次回作に期待しています!
🍅過去作品🍎
🌽楽しそうな職場だな思った方🥦
株式会社ビビッドガーデン's job postings