まえがき 〜 外注から内製プロダクト開発へ - プロダクト開発の文化形成のためにCTOとして取り組んだこと
はじめに
こんにちは!株式会社ブロードエッジ・ウェアリンク CTOの高丸です。
弊社のテックブログを開設するにあたり、これまでの開発経験をお伝えできることをうれしく思います!開発現場の雰囲気が少しでも伝わればと思い、情報発信をスタートすることにしました。
開始時期を検討していたのですが、テックブログは習慣が命ということで、まずは記事を書く習慣をつけるために、アドベントカレンダーから記事を書いていくことにしました。Qiita Advent Calendar 2024に掲載させていただきます。
今回は、Qiita Advent Calendar 2024の1日目の記事です。
サービス概要
初回ということでで、まずは弊社のサービスについて少しだけご紹介させてください。
弊社では、wine@(ワインアット)という、「あなたに合ったワインが見つかる」をコンセプトにワイン販売を行うサービスを展開しています。
wine@は、ワインバー「wine@EBISU(ワインアットエビス)」での試飲体験と、オンラインストア「wine@ONLINESTORE(ワインアットオンラインストア)」での購入を組み合わせた新しいワイン購入体験を提供するサービスです。いわゆる、OMO(Online Merges with Offline)のスタイルです。
そして、ワインの好みを知るために弊社のキーとなる仕組みが「wine@KARTE(ワインアットカルテ)」というもので、いくつかの質問に答えていただくだけで、弊社独自の38分類から自分の好みの味わいタイプを知ることができ、ワインバー店頭でもオンラインストアでも、その味わいタイプをもとにすぐに自分好みのワインを探すことができる仕組みになっています。
ワインを好んで飲まれる方も多いと思いますが、ワインって説明するのが難しくありませんか??
また、これからワインをもっと知っていきたい方にとって、なんとなく敷居が高く感じてしまうのも事実です。
ワインに詳しくない方でも、安心して自分の好みに合ったワインを購入できる、それがwine@の目指す世界です。
当時のプロダクト開発
さて、ここからはプロダクト開発の話に移っていきます。
wine@は、コロナ禍の影響でリリースを延期せざるを得ない状況を経て、2022年にようやくサービスを開始することができました。
「実店舗のワインバー飲み比べ体験→ECで好みのワインを購入」というOMOのコンセプトは形になっていたものの、ユーザー体験の観点では、オンラインストアにまだまだ改善の余地がありました。ちなみに、オンラインストアはShopifyを使用していました。
当時の開発体制としては、企画チームと開発チームという構成ではあるものの、正社員のエンジニアは1人だけ。メインの開発は外注しており、その正社員エンジニアが管理役として外注開発会社とのやり取りを担当している状況でした。
私がCTOとして参画したのは2023年のこと。その時にはすでに、デザインのリプレイスプロジェクトが動き始めていました。幸いなことに、BtoCプロダクトに強みを持つデザイン会社との協業により、ユーザー目線に立ったデザインが着実に形を成しつつありました。
現状把握→決断
私に課された最初の課題。それは、この新しいデザインや仕様を、どのような技術でどのように実現していくかの判断でした。そこで参画後まず取り組んだのが、現状把握です。
その中で見えてきた課題について、いくつかの重要な決断を下すことになります。
正社員エンジニアが通訳をする形をやめる
弊社はもともとIT系の会社ではないため、システム開発の経験も十分とは言えません。
そのため、企画チームが出した要件を、正社員エンジニアが通訳として外注会社に伝えるという流れになっていました。
私のこれまでの経験から確信していたのは、事業(弊社では企画)と開発の一体化の重要性です。その実現に向けて、アジャイル開発(スクラム)の導入を決断しました。
一体化したチーム作ることで、強いプロダクトが素早く作ることができる。それは確信がありました。
リリースを増やす
次に気になったのがリリース回数の少なさ。平均月1回の機能リリースは、このフェーズにしては明らかに少ない状況でした。
プロダクトの成長と改善を目に見える形で示し、ファンを増やしていく。そのためには、リリース回数を増やすことが不可欠です。リリースサイクルを短くすることを目指しました。
ツールをちゃんと使う
弊社はIT企業ではありませんが、いくつかのIT系ツールはすでに導入されていました。
私が入る以前、そのまた以前から使われていた形跡もあるのですが、その使われ方には改善の余地が大きく、以下のような変更を決断することにしました。
- 2023年入社当時
- Slack
- Notion(開発のドキュメントなし)
- Backlog(タスク管理、開発ドキュメント)
- AWS CodeCommit
- Google Drive(仕様書多数)
- 決断時
- Slack(チャンネルルールや目的を明確化)
- Notion(プロジェクト・タスク管理+ドキュメンテーション)
- Miro/Cacoo(ユーザーストーリーマッピングやアイディア出しに)
- GitHub(コードだけではなく、足りていない開発向けドキュメントも)
- Figma(画面構成図)
- Google Drive(長期保存が必要なもの・大きめのデータファイルに限定)
この中で特に重視したのがNotionです。大企業ではJIRA + Confluenceの組み合わせが一般的かもしれませんが、私たちの規模感では、Notionこそがベストな選択肢だと考えています。
というのも、それまでのドキュメントはGoogle Driveを中心に各所に分散しており、検索性が著しく低い状態でした。
一方Notionは、DBの使い方を押さえるだけで、ほとんどの用途をカバーできます。スクラムのバックログ管理まで一元化できる点も魅力です。
そこでまず着手したのが、情報の一元化。仕様書の構成をテンプレート化し、企画・開発双方がアクセスしやすい環境を整えることから始めています。
難しい技術にもチャレンジする
ここで押さえておきたいのが、「難しい技術にチャレンジする」は「最新のツールを導入する」とイコールではないという点です。
弊社のプロダクトの根幹を支えるのがShopify。
Shopifyは、今となってはECサイトを実現する上でのデファクトスタンダードになっているかと思いますし、私もRuby on Railsで作り上げられている大規模なサービスとして魅力的なプロダクトの1つである一方で、システム拡張における壁も感じていました。
当時は、ストアのカスタマイズや実店舗・基幹システムとの連携のために、多数のShopifyアプリを活用していました。実店舗や弊社の基幹システムとの連携のために、最短で実現するためにShopifyアプリが使われてきていましたが、そこにもまた、システム拡張の壁が潜んでいると私は考えました。
そうです。WordPressを使ったメディアサイトで、多くの人が似た経験しているのではないでしょうか?
これらの壁を超え、デザインリプレイスプロジェクトで描く理想を実現するため、大きな決断を下すことにしました。
それがHydrogen。Shopifyが提供するRemixベースのフロントエンドフレームワークの採用です。
当時の開発メンバーにとっては挑戦的な選択でしたが、この決断を下すことにしました。
これがのちにビッグバンリリースになってしまうとは……(後の記事で詳しく説明していきます)
さいごに
新しい会社のCTOとして最初に問うべきこと。それは「何ができるのか」ではなく「何をやるのかを決めること」なのかもしれません。
確かに、最新のイケてる技術を使える環境も魅力的です。ただ、世の中にはそれが難しい会社も多いと私は思っています。
むしろ私は、レガシーな文化を変えていける環境に魅力を感じています。だからこそ、あえて環境を整える必要のある場所に身を置きたいと考えています。
CTOとはいったいなんだったのか ver. 2024でも触れられているように、CTOの役目は会社それぞれです。それぞれ過ぎます……(笑)
こんな中、立ち上がった新開発体制が、どうオンラインストアをリプレイスをしていったのか、後の記事で紹介していきたいと思います。
お酒に関する注記
20歳未満の方の飲酒は法律で禁止されています。妊娠中や授乳期の飲酒は、胎児・乳児の発育に悪影響を与えるおそれがあります。
Discussion