港でパフォーマンスチューニング
こんにちは。ウーオの土谷(@taihaku0415)です。
この記事はウーオが運営するマガジン向けの記事です。
今回の note では前回の観察 の結果をプロダクト開発にどう落とし込んで開発しているかの話をします。
観察したことを可視化して暗黙知をなくす
開発メンバーが現場をイメージできてきたタイミングで、UUUO Base というウーオの出荷拠点に戻って、プロダクト顧問の出口さん(@dex1t)、バイヤーチームとウーオが関わるプレイヤーの行動をアクションごとに可視化しました。
魚の商流と、ウーオのバイヤーチームの日々のオペレーション、取引先の仲卸さんの行動をそれぞれ付箋を使ってユーザージャーニーマップにします。
これを元に、今回開発するプロダクトで一番フォーカスすべきプレイヤーと瞬間を決めました。
今回は、今まで改善が全くできていないが、今後のビジネス展開を考えたときに一番重要になりそうなウーオのバイヤーチームの行動に着目します。
次に、バイヤーの抱える課題に対する解決策をブレスト。アイデアがいくつか出揃ったタイミングで、優先順位を決め、なにからやるかを考えます。
ジャーニーマップと解決策を眺めながら、「毎日の魚のリクエストを受け注文通りに魚をセリ落として出荷する」一連の流れが「サーバとクライアントの関係」に似ているね、という話に。
また、プロダクトチームの追う指標はお客さんの要望にどれだけ答えられているか。これってエンジニア的には、大量にくるリクエストをサーバがどれだけ捌けるかを向上させたい(≒スループットあげたい)ってことだよね、という発想になりました。
だんだんオペレーションの改善プロジェクトがWebのパフォーマンスチューニングに見えてきて、「じゃあ、まず計測してみよっか」とプロダクトを早く開発したい気持ちをグッと抑え、計測をすることにします。
推測するな、計測せよ
今回
1. 行動の型を決める
2. 計測する
3. 施策やプロダクトをリリースし、計測して前後の数値の変化を観察する
の3ステップで計測とその後の打ち手の開発を進めることにました。
1. 行動の型を決める
毎日バイヤーチームが作業している工程を計測可能で細かすぎない単位に切り出します。
2. 計測する
型が決まったら、土谷自身がバイヤーチームの後ろに立ち、それぞれの作業にどれくらい時間がかかったのかをメモをして、spreadsheetにまとめます。一週間くらい常駐して、とにかく計測だけに時間を使いました。
以降はバイヤーチームに毎日のモニタリングを依頼。モニタリングできた日(他の漁港に行っていたりして物理的にできない日以外)はSlackに報告してもらいました。
人が得意なこと、機械が得意なこと
観察と計測を経て、「シンプルな作業なのに量が多く時間がかかっていてしまっている箇所」「改善することで生まれる価値が大きそうな箇所」「人が不得意そうな箇所(=個人差が生まれそうな箇所)」の三つ重なった瞬間を考え、その課題を解決するプロダクトを開発することにします。
余談:MTGが終わると、時々バイヤーチームがお刺身をさばいて出してくれます ❤️
実際のセリでいくつか課題に上がっている箇所の解決策を試して、様子を見ました。Slackを使ったり、アナログな方法(ペン、付箋やノート)、音声など、いろんな手段で検証しました。タイミング(セリ中/運搬中など)、状況(手がふさがっていたり/濡れていたり/周りがうるかさったり)、など解決策の実現可能性も合わせてチェックします。
この工程で、「そもそもできない」「できたけど効果がない」からやらないといった判断もできましたし、「この解決策がうまくワークすれば、副次的にこの問題も解決されるのではないかな?」といった未来の施策への当たりをつけることができました。
サクッと動くアプリを作ってみる
観察を終えて、産地のオペレーションへの解像度が一気に上がったので、筋の良さそうな解決策のアイデアの具体化を開始。開発予定のプロダクトが一番威力を発揮してくれるであろう時期(大型の船が休漁に入る前の5月末まで)に検証しきりたいため、第一弾のプロダクトは約2週間でリリースしました。
Expo × React Native × Rails で開発
どの技術を選ぶかは、「豊富なエンジニアリソースが無かった」「Push通知がマスト要件」「AndroidとiPhoneの両方のユーザがいる」「アプリの配信周りの準備が楽」などを考慮した結果、React Nativeで両方のプラットフォームで動くようにしつつ、Expoの環境で開発することにしました。
このExpoを利用した開発だけでも色々ブログが書けそうなので、次回以降のマガジンで紹介しようと思います。
港に行って、再度観察
アプリもテスト可能な状態になったので
3. 施策やプロダクトをリリースし、計測して前後の数値の変化を観察する
をするため、自分も実際に鳥取に行って観察と計測。結果的には、今まで費やしていた作業がほぼなくなり、余った時間を逆に商品の目利きの時間に使ってお客さんに提案したり、ミスがおきないようにシミュレーションをしたりする余裕が生まれ、当初の目的を達成することができました。
作ったアプリは今このように現場で使ってもらっています。毎日使ってもらう中で様々なアイデアがバイヤーチームから出てきたり、このプロダクトを中心に今後の開発方針を決められるようになってきたのも副次的に良いことです。
自分達が日々触れているものを活かしたサービス開発
セリの様子の観察から始まったプロダクト開発でしたが、複雑な水産業の構造や目まぐるしく動く日々の業務を、ジャーニーマップで単純化したり、似たような課題を解決している別の業界の事例に置き換えて捉え直してみることで、初めの一歩としてなにからやればいいかが明確になりました。
物理的・自然の制約が多く一見程遠く見える業界だからこそ、インターネット業界出身の開発メンバーの視点、発想が活きる箇所もあることがわかってきました。
業界・業務理解は本当に骨の折れる作業ですが、セリの仕組みをわかりやすく説明してくれたり、現場で開発メンバーが動き回って観察しやすい場づくりをするために調整してくれたバイヤーメンバーがいてくれたからこそできたことです。改めてチームメンバーに感謝をしたいと思います。ありがとうございます 😊
ウーオでは、現在エンジニアを募集しています。水産業でのサービス開発やウーオに興味のある方は、ぜひご一報ください!
次回の note をお楽しみに 👋
この記事が気に入ったらサポートをしてみませんか?