マイページ開発プロジェクト「オルテガ」に関して、マイページの機能開発は今後も進んでいきますが、2020年6月頃から見えていた「構想」から2022年4月に迎えた「リリース」までを振り返ってみましょう。
参加者
抹茶氏:フロントエンドエンジニア、プロダクト開発部テックリード。2022年4月より、プロダクト開発部ユーザーサービス開発チーム チームヘッド。2021年1月入社。
けんご:プロダクトマネージャー。プロダクト企画部所属。2021年10月入社。
きたい:バックエンドエンジニア。2022年4月より、プロダクト開発部プラットフォーム開発チーム。2021年10月入社。
ゆーき(聞き手):コミュニケーション室。広報担当。2020年1月入社。
そもそも、オルテガの始まりは
ゆーき:今回、年表みたいな感じで振り返ってみたいなと思っていまして。まず、オルテガの始まりはいつなんでしょう。
抹茶氏:オルテガの始まり……始まりの定義ってなんですかね。
けんご:(笑)
ゆーき:確かに……。オルテガの構想とか、まぁなんでもいいんですけど、始まりの地点を探りたいんですよ。
抹茶氏:ちょっとesa*1で見てみると、2020年の6月に、「トイサブ!でマイページをつくる」ことについて触れていますね。コードとしては、イニシャルコミットがフロントだと2021年10月。バックだと2021年9月だ。
さらにたどってみると、2021年の3月に「オルテガ」っていうプロジェクト名が出てきてる。実際に準備のミーティングがあったのが2021年の7月かな? で、2021年の8月にA社*2と組み始めて、しださんとめもりーさんとやりとりをしているらしい。
けんご:自分が入った時、2021年の10月にはもう始まっていましたもんね。
抹茶氏:2021年の12月に、ドメインの話をしてた。Slackによれば。
振り返ってみて、オルテガに関わっていた中で印象深い時期は?
ゆーき:入社してからすぐPdM業が始まったわけですが、けんごさんにとって印象深い時期ってどこですかね。
けんご:そもそも、自分が入社して議論に参加しても、マイページの何について話し合っているのか分からない状態だったんですよね。自分の役割もそうですが、だれが何をするのか、マイページに何を期待すべきなのかが整理されていなかった状態でした。
とにかく、このまま行くとだらだらプロジェクトが進行してしまいそうなので、スコープ切りから始めて、フェーズを定義して。
この時期は本当に、入ってすぐだったので現場での業務のような「トイサブ!」オペレーションがつかめず、キャッチアップが想像以上に大変だったなと思います。何より、方向性を決める時や検討するときに、自信を持つまでが大変でした。
全業務体験をしたからこそ言えるんですけど、入社前にはオペレーションの煩雑さがいまいちイメージ出来ていなかったので、「こんなオペレーションがあるんだ」という驚きに溢れていました。
きたい:けんごさんとかぶるんですけれど、僕が入社した時(2021年10月)、そもそもエンジニア側にもどういうプロダクトになるかが見えていなかった印象があります。
なので、まずはバックエンド側でも設計指針などを議論し、自分の中では年末ぐらいに設計のイメージが明確になってきましたね。議論しながら始められたこともあって、プロダクトリリース自体無茶な感じではなく、みんなでやればなんとかなりそうな雰囲気でした。悲観的な始まりでもなかったです。
抹茶氏:オルテガという新規プロダクトでは、技術構成も進め方も新しくきれいにできる、というのがはじまり時点での印象深い感覚ですかね。 DeveloperExperienceを良くしたいなという思いもあって、Componentから始めて、Schema,View,Logicと開発の進行を分けていきました。
フロントエンドエンジニアの皆のスキルもあげつつ、誰かに聞かないと指針が分からない、というような属人性を排除することができていってよかったかな。
Issueとのトランスファーが相互にできる「GitHub Discussions」も活用していけた、というのも新規プロダクト「オルテガ」で試せたことですね。
2022年4月に迎えたリリースに関して振り返り
ゆーき:新規プロダクトならではの進め方や、そもそものプロダクト開発進行について印象深く思われていたのがわかりました。ところで、先日迎えたばかりのマイページリリース、どうでしたか? どうでしたか、というのもかなり抽象的な質問ですが。
けんご:段階的にリリースをしていて、ユーザーのリアクションを定量的に確認しています。マイページ登録率や、お知らせの開封率等、比較的ポジティブな滑り出しですね。トイサブ!ユーザーの寛容度が高いと改めて感じました。
マイページ登録率が上がらない可能性も考えて、登録推進施策もいくつか検討していたのですが、現時点ではそれも投下しなくていいくらい。トイサブ!おもちゃを交換するタイミングでマイページ登録を促せているという、時機の効果もあると思っています。
登録時の手順についても、重大なトラブルは発生しておらず、良好な状態ですね。
ゆーき:トラーナのオペレーションチーム、特に顧客対応をダイレクトに扱うカスタマーサポートグループへの説明は苦労しましたか?
けんご:オペレーションチームにはマイページの説明会を行いました。事前にFAQを用意し、リリース前にカスタマーサポートグループへインストラクションも行いました。段階的なリリースと共に起こるであろう事前に想定できなかったお問い合わせについては、チームで学習していきましょう、と。
カスタマーサポートグループからの反応としては、むしろ、月に数百件ある住所変更のような手動オペが減ることもあり、好意的に受け入れてもらえました。
抹茶氏:フロントでも、リリースでのバグ報告はありませんでしたね。バグは出るものだと想定して、備えはおこなっていましたが、結果的に出なかったのは喜ばしい。
バグが出ていない原因として、一番大きいのはQAを企画部でやってくれたので、不具合を事前に潰すことができたという点があるでしょうね。
さらに、クリーンなコンポーネントの責務というものを考えてディレクトリを設計したり、ビューとロジックがいりまじってしまわないよう注意を払ったり。カバレッジを計測して高い水準を維持しつつ、高速化への取り組みを推進できていたんじゃないでしょうか。
ゆーき:それがもしや「治安維持」ですか?
抹茶氏:そうです。治安維持をオルテガ開発の当初から心がけていました。
GitHub Actions を用いたあらゆることの自動化をオルテガでは積極的に導入ています。例えば、Linter や test,deploy といった基本的なことから、branch の merge や CHANGELOG 生成、ラベル付け、Project Board の status 変更等を自動化しています。
きたい:オルテガで導入しているLinterは多いと思う。前職の倍くらいあるんじゃないかな。
抹茶氏:人間は間違いを犯しがちなので、いない方がいいんです。
きたい:リリース後はプラットフォーム開発チームに異動しましたが、リリース直後もめちゃくちゃやばいエラーは出ていないですね。重大なバグのような。
ゆーき:オルテガのフロントエンド開発は抹茶氏がリードしていたと聞いたのですが、バックエンドは誰がやっていたんです?
きたい:……。
けんご:きたいさんシャイだから言わなそうなんですけど、リリース前は全体的な設計とか結構リードしていましたよ。きたいさん。
きたい:さっきも出た話なんですが、みんなプロダクトのゴールがふわふわしていたので、実装もふわふわしてしまわないよう、設計を自分から提案していってますね。インフラとかには僕は積極的に意見していないと思うけれど……。
けんご:どういうアーキテクチャにするか、権限をどうするか、とか積極的に巻き込んで議論していってましたよ。きたいさん。
きたい:大変だったかどうかでいうと、やっぱり、リリース直前期より、はじまりの頃のほうが、プラットフォームでもあるMADRASの理解も必要で大変でしたね。構成がわからないと開発が困難になってしまうテーブルに関しての知識とか。
リリース直前は企画部メンバーも増えたし、問題なく進められていた印象があります。
とりくめて良かったな、と思うことなど
けんご:オルテガというプロダクト開発を進める上で、様々なプロセスの共通認識を揃える取り組みを実践できたことですね。
「ゴールが見えない」というと一言になってしまいますが、その裏側には、プロダクト全体のゴールが見えない、ローンチの先が見えない、等々いろんな「見えない」があると思うんです。今回は、テストシナリオを定義するというような、オルテガそもそもの仕様書を元に開発を進める取り組みができてよかったと自分は思っていますけど……エンジニアにとってはどうだったんだろう?(笑)
抹茶氏:けんごさんの言う通り、良かったと思いますね。
きたい:トラーナドメインを熟知していないながらに入社歴の浅いバックエンドエンジニアがオルテガを開発できたのは、企画部が主導して出してくれていた仕様書のおかげだと思いますよ。
けんご:まず型をいれて、型をもとに議論しながら進めていくことは、トラーナとしては初めてのことだったと思うので、エンジニアにとってもやりやすいのであれば、よかったです。(笑)
フロントエンドはとにかく、抹茶氏がクリーンに作っていっていることがわかったから、安心材料になりました。バックエンドもかなり苦労してたと思いますけどね。権限周りの設計とか。いずれにしても、苦労しているとか、やばそうとかネガティブな感覚を遠慮なくアラートとして出してくれていたので、議論できていたな、と開発部の様子を見ていて感じました。知らぬ間におかしいことにならないなという安心材料になりました。
いつでも、こうあるべき、がちゃんと話せていることで、技術力の高さが自分には伝わってきたんじゃないかなと。
ゆーき:バックエンドは同期入社も多かったと思うのですが、それで議論しやすいというようなことはありましたか?
きたい:人間として同じ頃の入社だから会話しやすい、とかそういう感じではないんですが、入社が同じくらいなので皆トラーナドメインに対してフレッシュで、だからこそものを言えた、という環境だったかもしれないです。ピヨピヨできた。
抹茶氏:フロントエンドは皆、得意・不得意の分野が違っていたんですよね。
小さくフェーズを区切り、まずフェーズ毎のテーマにおいて、それが得意な人にファーストペンギンをやってもらって、レビューして、次は自分で書いて、というのをとにかく繰り返していました。小さなフェーズが終わるたびにディスカッションをやって、リファクタして、というふうに。そういうのができるチームでよかったし、プロダクトもよく出来上がったと思ってます。
今後のトラーナでの野望や展望、ありますか?
抹茶氏:意思決定では何よりデファクトを意識する。デファクトを変更するときはそれなりの理由を用意してから変更していく。「オレオレ」的な進め方を避けることは続けていきたいです。
「オレオレ」という誰かの基準や技術構成でやっていってしまうと、属人性が強く出ていっちゃいますよね。属人性を廃していかないと、会社の開発チームとしてはよくないんじゃないかなと。新しく入った人にもすっと理解できるような意思決定を進めていきたいです。
あと、候補者にトラーナをおすすめする記事を書くのであれば、会社で使っている技術以外の話題が多いというのはいい環境だから維持したいかな。
けんご:(笑) 自分は、「ギークな人が多い」とよく説明してますよ。
抹茶氏:(笑) 技術に好奇心を抱く人が多いですね。技術好きが多い環境で過ごしやすい人にとっては楽しいと思いますよ。
きたい:エンジニアがもっと増えたときには、ビジネス・オペレーションサイドとコミュニケーションを取れるような体制を取りたいですね。
今は、「何に困っているのか」ということを聞いているけれど、そもそも「困っていること」はエンジニアにも共有済みの状況になっているといいなと。エンジニアとして、課題解決のための議論の時間がしっかりとれるような体制が出来たらいいなという思いがあります。
抹茶氏:そもそも、エンジニアって言っているのは、ただコーディングしていくだけじゃなくて、ちゃんと「エンジニアリング」していく役割というのがあるからね。課題解決していける組織がいいですね。
きたい:そうです。前職ではビズオペの人と話す時間があって、悩みが共有されてたんですよね。エンジニア目線での解決方法を提案できる環境が自分にとってはよかったので、トラーナでも試したい、という野望というか。(笑)
けんご:きたいさんが言ってくれているようなことはいいですよね。新しいチーム分けでエンジニアが直接ヒアリングの時間をとることも進めていきたい。
やっぱりプロダクト企画もプロダクト開発も「ものをつくる」ことなんですよね。この、「ものをつくる」というときに、エンジニアが作ってて気持ちよくなるくらい尖ったものをやって欲しいです。
オルテガだと治安の維持が徹底的にやられているじゃないですか。バックエンドも納得行かなかったら一回壊してやり直していく。不要な妥協をして仕方なく開発するんじゃなくて、エンジニアのやりたいことをできる進め方を模索していきたい。
尖ったプロダクトかつオペレーションも効率化されているようなものがPdMとして理想ですかね。一個プロジェクトが終わったときに、お互いめちゃくちゃ気持ちよくなる、その両立を企画部で目指していきたいです。野望としては。(笑)
トイサブ!マイページは、段階的にユーザー様へご案内を進めている状況です。今後、トイサブ!マイページがユーザー様にとって幸せな親子時間を増やすサポーターとなれるよう、オルテガプロジェクトは進行中。野望を胸に燃やしつつ、クールにプロダクトに向き合うトラーナ開発部に関心のある方はぜひ、トラーナキャリアサイトもご覧くださいね。