ZOZOは「世界中をカッコよく、世界中に笑顔を。」という理念にもとづき、ファッションを楽しむすべての人に寄り添う唯一無二の存在となり、誰もが笑顔であり続ける未来をつくっていきます。この記事ではZOZOのプロダクトについて、それぞれのAndroidの開発体制および課題を紹介します。
ZOZOTOWN
サービス紹介
1,500以上のショップ、8,400以上のブランドを取り扱うファッション通販サイト。常時83万点以上の商品アイテム数と毎日平均2,900点以上の新着商品を掲載(2021年9月末時点)。 コスメ専門モール「ZOZOCOSME」や靴の専門モール「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン「ZOZOVILLA」を展開。
開発体制
1つの案件に対して2〜3名のメンバーをアサインし、相互にコードレビューをする体制が基本となっています。また、そのうちの1名はiOSエンジニア、デザイナー、バックエンドエンジニア等と仕様調整を行います。そのため、メンバー一人ひとりが責任感と裁量をもって開発に取り組めます。また、他プロダクトと比較して案件の量が多く、複数の案件が同時に走りながらも、1つの案件が終わればすぐ次の案件が開始する、という状況です。これは、多くの部署が関わるプロダクトであるため、さまざまな案件の提案や相談が集まることに起因します。そういった各部署の想いに応えながら、より速く、より高品質なリリースを目指しています。
課題
大きく3つの課題があります。
- 1つ目は人員の確保です。10名以上のメンバーが所属していますが、リソースを理由に開発に入れていない案件が多い状態です。採用を促進することで、この人員の課題を解決していきます。
- 2つ目はチーム人数の最適化です。現在はチームの所属人数が10名以上と多く、意思決定・情報共有のコストが上がり、結果として開発効率も落ちています。単純にチームを2つに分割することを目標とはせず、今後も人員増加に伴って3、4チームへと、スムーズに分割できる柔軟な体制を目指します。
- 3つ目はレガシーコードの改善です。特に、多くの案件で改修が行われる画面はスパゲッティコード化しており、メンテナンス性が良いとは言えない状態です。日々の各部署の想いに応えながら改善していきつつも、この課題に対して誰もが必要性を理解できるよう、目的を明確にしながら進めていきます。
WEAR
サービス紹介
日本最大級のファッションコーディネートアプリ。コーディネートの投稿、オフィシャルユーザー「WEARISTA(ウェアリスタ)」やショップスタッフ、一般ユーザーが投稿するコーディネートの検索・閲覧・保存が可能。コーディネート投稿総数は1,100万件以上。アプリのダウンロード数は1,500万件を突破(2021年9月末時点)。
開発体制
大きく分けて2つの担当があります。1つが案件担当、もう1つがリファクタや不具合の修正担当です。 各案件では代表者を決め、各チーム代表が集まる仕様検討会議に参加します。PMチームと全体的なスケジュールを決定するために工数を算出し、チームメンバーのアサイン後、仕様を展開してから開発を開始します。レビューは案件への関わりの有無を問わず、メンバー全体で行います。その後、デザインレビュー、品質管理部のQAを通し、最終的に問題がなければリリースされます。 リファクタ、不具合修正でもほぼ同様です。PMチームによるスケジュール管理はありませんが、チーム内で期限を決め、その後の流れは前述の各案件の流れと同じです。 そして、上記の担当に関わらず、毎月「Keep・Problem・Try」の3つからなるフレームワーク「KPT」を実施し、日々の業務を振り返りながら問題点を洗い出します。次回のKPTまでに必ずTryを行い、業務改善に取り組んでいます。 また、外部パートナーの方々と協力して開発していることもあり、チームメンバーの拠点が全国各地、海外と、幅広い点も特徴です。
課題
期限が決まっている案件に常に取り組んでいる状態であり、その案件に多くの時間を割いています。技術的負債の返済やトレンド技術の実装のための時間が取れないため、いかに効率よくチーム全体で成果を上げられるかが課題となっています。効率化、仕組み化を随時行い改善してはいるものの、やはりリソースが業務量に対して足りていないので、一緒に開発してくれるエンジニアを募集しています。
計測
サービス紹介
オンライン購入ならではの、"試着できない"というハードルの解消をアシストする計測テクノロジー事業。足の3D計測ができる計測マット「ZOZOMAT」、フェイスカラー計測ツール「ZOZOGLASS」、3D計測用ボディースーツ「ZOZOSUIT 2」のほか、2021年10月に手指の3D計測用マット「ZOZOMAT for Hands」を新たに発表。
開発体制
計測のアルゴリズムを研究する海外チームと協力して開発を行っています。アルゴリズムチームからC++のライブラリが提供され、計測プラットフォームチームはNDKやカメラを使用して計測機能の開発を行います。 まだ誰も体験したことがない計測機能の開発となるため、プロトタイプアプリを作成してユーザビリティテストを行い、ユーザーがスムーズに使えるように改善を繰り返します。 現在はZOZOTOWNに計測機能をaarとしてライブラリ提供しているのみですが、今後はZOZOTOWN以外での計測機能提供にも力を入れていきます。
課題
新規開発、既存計測機能の保守・運用、研究・調査と3つの業務がありますが、チームメンバーが3名と少ない状況です。そのため、効率的なライブラリの保守運用の仕組みの構築、自動テスト体制の整備などによる開発効率の向上、カメラ、3D、ARやクロスプラットフォーム等の技術を用いて主体的に課題解決を行うリソースの確保が課題となっています。 また、恒常的な課題として、計測成功率の向上があります。ユーザビリティテストやユーザーの行動データの研究・調査により、初めて使用するユーザーがスムーズに計測できるように継続して改善を行っています。
FAANS
サービス紹介
ECでお買い物を楽しまれるお客様とショップスタッフの新たな接点を創出し、ショップスタッフの効率的な販売をサポートするショップスタッフ専用ツール。ZOZOTOWNが持つECでの販売ノウハウと、ショップスタッフが持つ実店舗での販売ノウハウを掛け合わせ、オンラインとオフラインをシームレスにつなぐ新たな販売方法を実現する。
開発体制
異なる専門領域のエンジニアが集まった小規模のチームで、0→1の新規事業「FAANS」の開発に取り組んでいます。「我々はスタートアップである」という認識の元、プロダクトに本当に価値があるのかの検証を第一とし、素早い意思決定とデリバリーに重きを置いた開発体制を取っています。このチームには2名のAndroidエンジニアが所属してAndroidアプリの開発を行っていますが、プロダクトのデリバリーに支障が生じれば、分野を越境してチームで助け合う職能横断組織として動きます。また、各メンバーは自身やプロダクトに何が必要か自律して考えて行動することも求められ、コンパクトなチームでもあることから、大きな裁量を持って開発に取り組んでいます。
課題
「FAANS」は新規事業であるため、プロダクトのコアに沿った機能開発と改善を素早く行っていく必要があります。Androidチームは現状2名体制なので、少人数でも効率よく開発できる仕組みの構築が直近の課題です。加えて、中長期的な課題として、Androidアプリ開発に限らずプロダクト全体の開発フローの最適化、データに裏付けされた機能提案ができる組織への成長といった点が挙げられます。モバイルアプリエンジニア主導でのプロダクトのUX改善にも踏み込んでいきたいと考えており、そのために日々課題に向き合っていきます。
最後に
各プロダクトに少しでもご興味を持っていただけましたら、まずはカジュアル面談からご応募ください。カジュアル面談では、普段の業務でも活用しているMiroというツールを用いてお話しさせていただきます。 申し込みフォーム
著者紹介
山田祐介
株式会社ZOZO ZOZOTOWN開発本部 ZOZOTOWNアプリ部 Androidブロック ブロック長
2015年よりZOZOTOWNのAndroidアプリ開発に携わる。2019年からAndroidアプリ開発チームのマネジメントを担う。
2020年に第一子が生まれ、フルリモートの環境に感謝しながら日々業務を行っている。
Twitter:@yymsdk